我只想初始化(在 Struts2 中)一个属性(从文件加载数据)一次,并使该属性可用于整个 struts 2 应用程序。我怎样才能做到这一点?我需要覆盖 struts 2 调度程序吗?
问候拉朱
我只想初始化(在 Struts2 中)一个属性(从文件加载数据)一次,并使该属性可用于整个 struts 2 应用程序。我怎样才能做到这一点?我需要覆盖 struts 2 调度程序吗?
问候拉朱
您可以创建一个打开属性文件并将所需值设置为通过的ServletContextListener
定义:web.xml
ServletContext
getServletContext().setAttribute("dataKey", dataValue);
具有ServletContext
应用范围。
更新:
您可以创建一个实现的新类ServletContextListener
(这里是它的 JavaDoc:ServletContextListener),这需要您定义contextInitialized()
和contextDestroyed()
方法。
contextInitialized()
在您的 servlet 开始接受请求之前调用该方法。在您的contextInitialized()
方法中,您将包含getServletContext().setAttribute("dataKey", dataValue)
调用。
为了注册你的监听器,你需要在你的web.xml
文件中添加一个监听器定义:
<listener>
<listener-class>CLASS_PATH.CLASS_NAME</listener-class>
</listener>
您需要将上述 XML 中的 CLASS_PATH.CLASS_NAME 替换为您刚刚创建的上下文侦听器类的类路径和名称。