我公司将在未来几个月内重新访问我们的网站,从ColdFusion网站转到用Java编写的网站。我只是在学习Java,我很好奇如何在Java Web应用程序中设置应用程序范围变量。 ColdFusion有application.cfm文件,该文件包含应用程序中所有ColdFusion页面/组件都可访问的变量。 Java显然没有直接等效于该文件,所以我想知道如何在Java中重新创建类似的东西。我希望有一个中心位置,webapp中的所有jsp页面,servlet,类等都可以访问。
那么做这样的事情最好的方法是什么?
有没有人有类似他们所做的事情的例子?
应用范围变量应该放在一个类中吗?一个xml文件?一个jsp页面?别的什么?
在java webapp中使用应用程序范围变量是否可行?
实施例: 它可以是一个说明图像文件夹路径的地方,因此在单个JSP页面或类或任何需要访问该图像文件夹的内容中,您可以引用该路径的应用程序范围变量,而不是在每个地方写出来。然后,如果由于某种原因我们需要移动该图像文件夹的位置,我们只需更改一个位置的路径变量,而不必更新引用该图像文件夹的20个位置。
我在网上的研究中找不到关于此类事情的任何信息,这就是我在这里问的原因。我知道要求对这类事情做出解释是很多的,但我想我会问,看看我能得到什么类型的回应。
感谢您就此主题提供的任何帮助。
答案 0 :(得分:27)
等价物可能是ServletContext
在你的控制器servlet中:
ServletContext context = request.getSession().getServletContext();
就像在会话对象中一样,您也可以在servlet上下文中存储属性
context.setAttribute("someValue", "aValue");
Object attribute = context.getAttribute("someValue");