一尘不染

在EAR的多次战争中共享通用的jsp

jsp

我们有一个包含13个模块的大型应用程序。根据客户需求,我们应该能够部署核心模块+客户特定模块。我们正计划将应用分成多次战斗。现在的问题是,我们有一些常见的jsp,例如header.jsp,error.jsp等。有什么方法可以使普通jsp保持在核心战争中,其余战争将能够使用它,或者我必须复制这些jsp在构建过程中的独立战争中。我知道CSS和Javascript文件可以在耳包装的多次战争中共享,但是不确定jsp的用途。


阅读 189

收藏
2020-06-08

共1个答案

一尘不染

好问题。您将很高兴听到答案是“是”,尽管它很大程度上取决于servlet容器的配置方式。

使用JSTL <c:import>标记完成此操作,该标记具有一个可选context属性,定义为:

其他一些本地Web应用程序(从中导入资源)的上下文名称(以/开头)。

假设您已将Webapp A部署在上下文根/A/B,将Webapp B部署在之下,则A中的JSP可以x.jsp使用以下方法从B中包括:

<c:import context="/B" url="x.jsp"/>

这一切都是非常好的和乐观的,但这必须通过Servlet容器的安全性机制进行,并且可能不允许该操作。例如,在Tomcat中,crossContext必须将属性设置为true

2020-06-08