在ServletContext中加载对象(应用程序范围)

时间:2009-01-15 06:32:57

标签: spring tomcat plugins struts2 struts

我想将两个小的常量对象(一个TreeMap和一个ArrayList)放在Struts2 webapp的ServletContext中(在Tomcat 6下运行),这样那些对象可以通过应用程序范围从任何JSP访问。

在Struts1下,我会使用其中一个启动“plug-in s”(在struts-config.xml中定义)。是否有与Struts2实现相同结果的等效方法?

或者(甚至可能更好),因为我的webapp使用Spring在Tomcat中配置的Spring ContextLoaderListener,我可以依赖Spring吗?例如,通过创建一个声明一些适当的“ApplicationAware”接口的bean ...

3 个答案:

答案 0 :(得分:1)

拿2: 在你的一个spring bean上实现ServletContextAware接口,然后对上下文进行必要的修改。如果需要,可以在@PostConstruct注释方法中进行,因为在更新servletcontext时,bean就完成了。

答案 1 :(得分:1)

拿3: 您可能想查看Spring Servlet Context scope

答案 2 :(得分:0)

如果这是我的应用程序(我们使用的是相当类似的架构),我会将一个单独的spring bean注入我的struts2控制器类的基类中,但是我所有的jsp都有控制器并且所有的共享基础类。