Yeg*_*xim 5 java mapping web-applications contextroot
我有这样的application.xml.
Run Code Online (Sandbox Code Playgroud)<module> <web> <web-uri>services-inboxService.war</web-uri> <context-root>/services/inboxService</context-root> </web> </module>
我想将不同的上下文根映射到一个web-uri.但是存在约束,每个模块应该只包含一个Web部分和每个Web - 只有一个上下文根部分.有没有办法除了复制这个命名方式不同的war文件?
Yegoshin Maxim-我相信您必须清楚基于Java EE的Web应用程序中的URI概念:
<hostname:port/context-root/resource-path?parameters>
Run Code Online (Sandbox Code Playgroud)
现在,如果有人想要使用不同的主机名+端口组合来由同一个已安装的应用程序提供服务,那么他们应该使用虚拟主机的概念,这主要受到Tomcat,WebSphere等应用服务器的支持.
如果有人想使用不同的资源路径映射到Web应用程序中的相同资源,则可以通过在web.xml中配置url-pattern来完成
现在,如果有人想要为应用程序的单个安装使用不同的上下文根,则无法实现.即使你从类加载器的角度来看也是如此.上下文导致创建上下文类加载器,它是app server类加载器的子代.我们不能为一个Web应用程序提供多个上下文类加载器,否则无法解析资源/类引用.因此,唯一的解决方案是在不同的上下文根下运行应用程序的多个实例.
| 归档时间: |
|
| 查看次数: |
4962 次 |
| 最近记录: |