你们中有人在JBoss中启用了SSI(ServerSide Includes)吗?我猜它应该不难,因为它是基于Tomcat实例构建的。
最佳答案
Tomcat已在catalina.jar中包含org.apache.catalina.ssi.SSIServlet,因此只需声明servlet并将其附加到映射URL,只需在应用程序web.xml中进行设置即可。
<servlet>
<servlet-name>ssi</servlet-name>
<servlet-class>
org.apache.catalina.ssi.SSIServlet
</servlet-class>
<init-param>
<param-name>buffered</param-name>
<param-value>1</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>expires</param-name>
<param-value>60</param-value>
</init-param>
<init-param>
<param-name>isVirtualWebappRelative</param-name>
<param-value>1</param-value>
</init-param>
<load-on-startup>4</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ssi</servlet-name>
<url-pattern>*.shtml</url-pattern>
</servlet-mapping>
我放置了所有参数,您可以在Tomcat SSI参考中看到它们的定义。
就像文档所说的那样,SSI可以绕过安全策略,因此必须对其具有特权,可以通过更改deploy文件夹内jboss-web.deploy中的context.xml来实现。只需在root元素上添加privileged =“true”。
<Context ... privileged="true">
Servlet只是充当与其映射URL匹配的文件的代理。