我只想初始化(在 Struts2 中)一个属性(从文件加载数据)一次,并使该属性可用于整个 struts 2 应用程序。我怎样才能做到这一点?我需要覆盖 struts 2 调度程序吗?
问候拉朱
我只想初始化(在 Struts2 中)一个属性(从文件加载数据)一次,并使该属性可用于整个 struts 2 应用程序。我怎样才能做到这一点?我需要覆盖 struts 2 调度程序吗?
问候拉朱
您可以创建一个打开属性文件并将所需值设置为通过的ServletContextListener定义:web.xmlServletContext
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 替换为您刚刚创建的上下文侦听器类的类路径和名称。