Struts 2调度员

时间:2010-01-28 19:34:38

标签: struts2 dispatcher

我想初始化(在Struts2中)一个属性(从文件加载数据)只有一次,并为整个struts 2应用程序提供该属性。 我怎么能实现这一目标?我需要覆盖struts 2调度程序吗?

此致 拉朱

1 个答案:

答案 0 :(得分:1)

您可以创建ServletContextListener中定义的web.xml,用于打开您的媒体文件,并通过以下方式将所需值设置为ServletContext

getServletContext().setAttribute("dataKey", dataValue);

ServletContext具有应用程序范围。

<强>更新

您可以创建一个实现ServletContextListener的新类(这里是它的JavaDoc:ServletContextListener),这要求您定义contextInitialized()contextDestroyed()方法。

在servlet开始接受请求之前调用方法contextInitialized()。在contextInitialized()方法中,您需要加入getServletContext().setAttribute("dataKey", dataValue)来电。

要注册您的监听器,您需要在web.xml文件中添加监听器定义:

<listener>
    <listener-class>CLASS_PATH.CLASS_NAME</listener-class>
</listener>

您需要使用刚刚创建的上下文侦听器类的类路径和名称替换上述XML中的CLASS_PATH.CLASS_NAME。