java - 如何在当前 servlet 上下文之外获取 WebApplicationContext?

标签 java spring servlets

在Tomcat(或其他服务器)中部署了两个WAR,foo1.war 和foo2.war。 所有的spring bean都定义在foo1.war中,但是有没有可能在foo2.war中部署的servlet中得到这些spring bean呢? 我不能只使用 WebApplicationContextUtils 来获取 WebApplicationContext,对吗?它们是不同的 WAR。

谢谢

最佳答案

从技术上讲,如果您公开 servlet 上下文并调用 servletContext.getContext("/otherapp"),您可以获取其他应用程序的 WebApplicationContext。 getAttribute(..),但这很丑陋。

如果您简单地将公共(public)定义移动到 common.xml 并将其包含在两个项目中,您就可以拥有相同的 bean 定义的实例。

如果您需要在两个应用程序之间传递一些数据,请使用另一种机制:Web 服务(soap、rest)、消息传递 (jmx)。

关于java - 如何在当前 servlet 上下文之外获取 WebApplicationContext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9019026/

相关文章:

java - 扩展应用程序类中对象变为 null 的原因

java - GUI 部分未显示

java - 玩!框架:运行“h2-browser”有效,但是该网页不可用

Spring MVC : exception when using @ResponseBody and entity with circular reference

spring - 为什么 Spring SendToUser 不起作用

java - 用于 chrome 中的 html5 视频的 Servlet 流式传输 mp4

java - 传统项目转spring boot,不改applicationContext.xml、dispatcher-servlet.xml & tomcat的context.xml

java - Android 聊天在 DataSnapshot.getValue() 上崩溃

regex - 在 JSTL 中解析请求 URL

java - javax.servlet.Servlet#getServletConfig() 的线程安全