我们有一个有13个模块的大型应用程序.根据客户要求,我们应该能够部署核心模块客户特定模块.我们计划将应用程序分成多个战争.现在的问题是我们有一些常见的jsp,比如header.jsp,error.jsp等.有没有什么方法可以让我们在核心战争中保持常见的jsp,其余的战争将能够使用它或者我必须复制这些jsp在构建过程中的invidiual战争中.我知道CSS和Javascript文件可以在耳塞包装的多个战争中共享但不确定jsp的.
最佳答案
好问题.您会很高兴听到答案是“是”,尽管它高度依赖于您的servlet容器的配置方式.
它是使用JSTL< c:import>完成的. tag,具有可选的context属性,定义如下:
Name of the context
(beginning with a /) of some
other local web application to
import the resource from.
所以说你在上下文根/ A下部署了webapp A,在/ B下部署了webapp B,那么A中的JSP可以包含来自B的x.jsp:
这一切都非常好并且很乐观,但这必须通过servlet容器的安全机制,并且它可能不允许操作.例如,in Tomcat the crossContext
attribute must be set to true
.