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

发布于 2024-07-11 12:06:52 字数 429 浏览 5 评论 0原文

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

在 Struts1 下,我会使用其中一个启动“插件”(在 struts-config.xml 中定义)。 有没有一种与 Struts2 达到相同结果的等效方法?

或者(也许更好),由于我的 web 应用程序使用 Tomcat 中配置的 Spring 和 Spring 的 ContextLoaderListener ,我可以依赖 Spring 吗? 例如,通过创建一个声明一些适当的“ApplicationAware”接口的 bean...

I would like to put two small constant objects (one TreeMap and one ArrayList) somewhere in the ServletContext of a Struts2 webapp (running under Tomcat 6), such that those objects may be accessible from any JSP, through the Application Scope.

Under Struts1, I would have used one of those startup "plug-ins" (defined in struts-config.xml). Is there an equivalent way of achieving the same result with Struts2?

Alternatively (and maybe even better), since my webapp uses Spring configured in Tomcat with Spring's ContextLoaderListener, can I rely on Spring instead? For instance by creating a bean that declares some appropriate "ApplicationAware" interface...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

迷鸟归林 2024-07-18 12:07:03

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

If this was my application (and we're using a fairly similar architecture), I'd inject a singleton spring bean into the base class of my struts2 controller class, but all my jsp's have controllers and all share a common base class.

古镇旧梦 2024-07-18 12:07:02

采取3:
您可能想查看 Spring Servlet 上下文范围

Take 3:
You might want to check out Spring Servlet Context scope

千笙结 2024-07-18 12:07:01

取2:
在您的 Spring bean 之一上实现 ServletContextAware 接口,然后对上下文进行必要的修改。 如果需要,请在 @PostConstruct 带注释的方法中执行此操作,因为这样您的 bean 在您更新 servletcontext 时就已完成。

Take 2:
Implement the ServletContextAware interface on one of your spring beans and just do the necessary modifications to the context. If necessary do it in a @PostConstruct annotated method because then your bean is complete at the time you update the servletcontext.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文