你们中有人在 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 可以绕过安全策略,因此它必须具有特权,更改位于 jboss-web.deploy 中的 context.xml 在部署中执行此操作文件夹。只需将 privileged="true" 添加到根元素即可。
<Context ... privileged="true">
servlet 将仅作为匹配其映射 URL 的文件的代理。
关于java - 在 JBoss 中启用 SSI(ServerSide Includes)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/922100/