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即可。
原创:https://www.cnblogs.com/williamcai/p/6942292.html