tomcat 开放SSI功能


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即可。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM