1、SSI是什么
SSI技術,也叫作Serve Side Includes,通常稱之為服務器端包含,使用SSI技術文件默認的后綴名為.shtml;
SSI技術通過在html文件中加入SSI指令,讓服務器端在輸出html之前解釋SSI指令,並把解釋完的結果和html代碼一同輸出給客戶端。SSI指令實在服務器端執行的。
這個SSI支持的最好的是在Apache中,可以看看
http://httpd.apache.org/docs/current/howto/ssi.html#basicssidirectives
這個網頁講解的就是,Apache中支持的最基本的SSI標簽,以最簡單的例子:
For example, you might place a directive into an existing HTML page, such as:
<!--#echo var="DATE_LOCAL" -->
And, when the page is served, this fragment will be evaluated and replaced with its value:
Tuesday, 15-Jan-2013 19:28:54 EST
上述的這個echo就類似於c標簽中的<c:out>
2、SSI在tomcat中的配置
通常情況下,tomcat是關閉SSI的功能,需要手動配置一下。
首先在tomcat的conf/context.xml中,加入:
<Context privileged="true">
在conf/web.xml放開名字為ssi的Servlet或Filter之一。
<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>false</param-value>
</init-param>
<load-on-startup>4</load-on-startup>
</servlet>
放開 對應的servlet-mapping
<servlet-mapping>
<servlet-name>ssi</servlet-name>
<url-pattern>*.shtml</url-pattern>
<url-pattern>*.html</url-pattern> ----->可以處理html中的ssi命令
</servlet-mapping>
啟動tomcat即可。