SSI(Server Side Includes)是英文Server Side Includes的缩写,翻译成中文就是服务器端包含的意思。从技术角度上说,SSI就是HTML文件中,可以通过注释行调用的命令或指针。SSI 具有强大的功能,只要使用一条简单的SSI 命令就可以实现整个网站的内容更新,动态显示时间和日期,以及执行shell和CGI脚本程序等复杂的功能。
SSI最初在NCSA服务器平台上推出,在Apache服务器中得到扩展和加强,目前已经可以在几乎所有的服务器上运行。本文将主要介绍如何在JBoss 5.1下配置SSIServlet启用SSI。
JBoss 5.1内置对SSI的支持,但是默认是没有启用的,需要修改配置启用SSI,在JBoss下启用SSI主要由两步(以defualt配置为例):
1. 启用SSIServlet,修改${JBOSS_HOME}/server/default/deployers/jbossweb.deployer/web.xml, 找到Servlet配置,可以看到对SSI的配置已经被注释了,去掉注释就可以启用SSIServlet了。
[color=green]
<!--Server Side Includes processing servlet, which processes SSI-->[/color][color=blue]
<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>666</param-value>
</init-param>
<init-param>
<param-name>isVirtualWebappRelative</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>4</load-on-startup>
</servlet>[/color]
[color=green]
<!-- The mapping for the SSI servlet -->[/color][color=blue]
<servlet-mapping>
<servlet-name>ssi</servlet-name>
<url-pattern>*.shtml</url-pattern>
</servlet-mapping>
[/color]
2. 设置SSIServlet的安全策略,由于SSIServlet会访问应用服务器的外部资源,例如shell、cgi,因此需要配置其安全策略,否则JBoss在启动的时候会抛出SecurityException例外,为SSIServlet设置安全策略的方式很简单,修改${JBOSS_HOME}/server/default/deploy/jbossweb.sar/context.xml,在根结点上增加 [color=green]privileged="true"[/color]即可。
通过同样的方式可以在JBoss 5.1下启用http invoker, cgi等Servlet。
SSI最初在NCSA服务器平台上推出,在Apache服务器中得到扩展和加强,目前已经可以在几乎所有的服务器上运行。本文将主要介绍如何在JBoss 5.1下配置SSIServlet启用SSI。
JBoss 5.1内置对SSI的支持,但是默认是没有启用的,需要修改配置启用SSI,在JBoss下启用SSI主要由两步(以defualt配置为例):
1. 启用SSIServlet,修改${JBOSS_HOME}/server/default/deployers/jbossweb.deployer/web.xml, 找到Servlet配置,可以看到对SSI的配置已经被注释了,去掉注释就可以启用SSIServlet了。
[color=green]
<!--Server Side Includes processing servlet, which processes SSI-->[/color][color=blue]
<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>666</param-value>
</init-param>
<init-param>
<param-name>isVirtualWebappRelative</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>4</load-on-startup>
</servlet>[/color]
[color=green]
<!-- The mapping for the SSI servlet -->[/color][color=blue]
<servlet-mapping>
<servlet-name>ssi</servlet-name>
<url-pattern>*.shtml</url-pattern>
</servlet-mapping>
[/color]
2. 设置SSIServlet的安全策略,由于SSIServlet会访问应用服务器的外部资源,例如shell、cgi,因此需要配置其安全策略,否则JBoss在启动的时候会抛出SecurityException例外,为SSIServlet设置安全策略的方式很简单,修改${JBOSS_HOME}/server/default/deploy/jbossweb.sar/context.xml,在根结点上增加 [color=green]privileged="true"[/color]即可。
通过同样的方式可以在JBoss 5.1下启用http invoker, cgi等Servlet。