15

我的公司将在接下来的几个月里重新设计我们的网站,从一个 ColdFusion 网站变成一个用 Java 编写的网站。我刚刚学习 Java,我很好奇如何在 Java Web 应用程序中设置应用程序范围变量。ColdFusion 具有 application.cfm 文件,其中包含应用程序内所有 ColdFusion 页面/组件可访问的变量。Java 显然没有直接等效于该文件,所以我想知道如何在 Java 中重新创建类似的东西。我希望有一个中心位置,webapp 中的所有 jsp 页面、servlet、类等都可以访问。

那么做这样的事情的最好方法是什么?

有没有人有任何类似的例子?

应用程序范围变量应该放在一个类中吗?一个xml文件?一个jsp页面?别的东西?

在java webapp中拥有应用程序范围变量是否可行?

示例:这将是一个保存图像文件夹路径的地方,因此在单个 JSP 页面或类或任何需要访问该图像文件夹的地方,您可以引用该路径的应用程序范围变量,而不是将其写入每个地方。然后,如果由于某种原因我们需要移动该图像文件夹的位置,我们只需更改一个位置的路径变量,而不必更新引用该图像文件夹的 20 个位置。

我在网上的研究中找不到任何关于这类事情的信息,这就是我在这里询问的原因。我知道对这类事情要求解释很多,但我想我会问,看看我能得到什么类型的回应。

感谢您提供有关此主题的任何帮助。

4

1 回答 1

28

等效的可能是ServletContext

在您的控制器 servlet 中:

ServletContext context = request.getSession().getServletContext();

就像在会话对象中一样,您也可以在 servlet 上下文中存储属性

context.setAttribute("someValue", "aValue");

Object attribute = context.getAttribute("someValue");

如果您刚开始使用 Java,并且要构建一个重要的应用程序,我建议您使用流行的框架,例如SpringStruts

于 2012-06-18T21:44:34.720 回答