一、介绍:
SSI是Server Side Includes的缩写,是嵌入到HTML页面的一组指令的集合。在返回请求的页面(包含SSI指令)前,服务器会处理这些指令,并用处理的结果替换指令,然 后把页面返回。这样就允许在HTML页面中添加动态产生的内容。 SSI是向页面中添加小的信息片段的很好的方法。如果页面的大部分都是产生的则需要选择其它的解决方案。二、主要用途 目前,主要有以下几种用用途: 1、显示服务器端环境变量<#echo> 2、将文本内容直接插入到文档中<#include> 3、显示WEB文档相关信息<#flastmod #fsize> (如文件制作日期/大小等) 4、直接执行服务器上的各种程序<#exec>(如CGI或其他可执行程序) 5、设置SSI信息显示格式<#config>(如文件制作日期/大小显示方式) 高级SSI<XSSI>可设置变量使用if条件语句。三、设置Tomcat Tomcat对SSI提供了支持,但在默认的情况下这种支持是关闭的。如果你用Tomcat做为HTTP服务器并且需要SSI,那么需要自己来设置。四、设置方法如下:
1、Tomcat5.X
在$CATALINA_BASE/server/lib/目录下找到servlets-ssi.renametojar文件
将这个文件重命名为servlets-ssi.jar 在$CATALINA_BASE/conf/目录下找到web.xml文件 使用SSI Servlet就删除在SSI servlet和servlet-mapping周围的注释 使用SSI filter就删除在SSI filter和filter-mapping周围的注释2、Tomcat6.X
$CATALINA_BASE/conf/servlet.xml下的当前项目的 Context中加入了privileged="true"的属性。
3、weblogic8.X
1) 使用FRAME框架
2) 配置web.xml配置文件web.xml:
<servlet> <servlet-name>shtml</servlet-name> <servlet-class>weblogic.servlet.ServerSideIncludeServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>shtml</servlet-name> <url-pattern>*.shtml</url-pattern> </servlet-mapping>五、乱码的解决:在
$CATALINA_BASE/conf/web.xml中的ssi servlet配置中添加以下初始配置: <init-param> <param-name>inputEncoding</param-name> <param-value>utf-8</param-value> </init-param> <init-param> <param-name>outputEncoding</param-name> <param-value>utf-8</param-value> </init-param>其中 utf-8应该与你页面的编码方式相同 在shtml页面里, 就可以引用静态文件了 <!--#include file="test.html"--> 相对路径<!--#include virtual="/assets/inc/footer.html"--> 绝对路径