我们有一个包含 13 个模块的大型应用程序。根据客户需求,我们应该能够部署核心模块+客户特定模块。我们计划将应用程序分成多场战争。现在的问题是我们有一些常见的jsp,例如header.jsp,error.jsp等。有什么方法可以让我们将常见的jsp保留在核心战争中,并且其余的战争将能够使用它,否则我必须复制这些jsp 在构建过程中处于个体战争中。我知道CSS和Javascript文件可以在ear包装中的多个wars之间共享,但不确定jsp的。
好问题。您会很高兴听到答案是“是”,尽管这很大程度上取决于您的 servlet 容器的配置方式。
这是使用 JSTL 完成的<c:import>
标签,它有一个可选的context
属性定义为:
上下文的名称
(以 / 开头)一些
其他本地网络应用程序
从中导入资源。
假设您在上下文根目录下部署了 webapp A/A
,以及 webapp B 部署在/B
,那么 A 中的 JSP 可以包含x.jsp
从 B 使用:
<c:import context="/B" url="x.jsp"/>
这一切都非常美好,但是这必须通过 servlet 容器的安全机制,并且可能不允许该操作。例如,在Tomcat中crossContext属性必须设置为true http://tomcat.apache.org/tomcat-6.0-doc/config/context.html#Common_Attributes.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)