global-variables - 在java中使用应用范围变量

标签 global-variables scope

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

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

有没有人有他们做过的类似事情的例子?

应用范围变量应该放在一个类中吗?一个xml文件?一个jsp页面?还有什么?

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

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

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

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

最佳答案

等效的可能是 ServletContext

在您的 Controller servlet 中:

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

就像在 session 对象中一样,您也可以在 servlet 上下文中存储属性
context.setAttribute("someValue", "aValue");

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

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

关于global-variables - 在java中使用应用范围变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11091377/

相关文章:

javascript - Webpack 中的 "Import a global variable"

javascript - 使工厂 JS 变量在 AngularJS 中全局可用

javascript - 如何访问 if 语句中的变量

c - C : Nested blocks 中的作用域规则

Python:来自更高范围的变量 "referenced before assignment"

javascript - Angular - 在 Controller 中使用表单发布值

PHP 配置存储

Javascript全局变量简单解决方案

javascript - 将父作用域添加到匿名函数 - JavaScript 到 Angular 2

mysql - Node JS 嵌套函数和变量作用域