Tomcat
http://blog.csdn.net/leftfist/article/details/8520773
http://webdevelop.jzxue.com/shtml/
http://tomcat.apache.org/tomcat-6.0-doc/ssi-howto.html
http://www.blogjava.net/pdw2009/archive/2009/03/06/258270.html
http://blog.csdn.net/poweruser5956/article/details/5595422
Tomcat 6.×里默认ssi配置是注释掉的,要使用SSI,必须去掉该注释。SSI有servlet和filter两种配置。用SSI servlet的话,去掉SSI servlet和servlet mapping的注释。若是用SSI Filter,则要修改三个地方:
- 去掉filter ssi的注释,;
- 去掉ssi filter mapping的注释,;
- 去掉filter ssi mime mapping的注释。
最后关键一步:
修改tomcat_home/conf/context.xml文件里的context标签:
原:
<Context>
修改为
<Context privileged="true">
重启tomcat就ok了。这样也就不必为具体的app里配置context去使用SSI功能了。
此配置在Tomcat 6.0.18版本里通过。
简单SSI测试例子:
index.shtml
<html>
<head/>
<body>
welcome to my site!
Now is <!--#echo var="DATE_LOCAL"-->.
</body>
</html>
网上多数说需要将server/lib/servlet-ssi.renametojar改名为servlet-ssi.jar估计是在很旧的版本中才有这个文件(有待考证),新版本的tomcat中lib目录中的catalina.jar里已经包含了原来servlet-ssi.jar里的class文件。
Apache
关于shtml,shtml是一种基于SSI技术的文件,也就是Server Side Include--SSI 服务器端包含指令,一些Web Server如果有SSI功能的话就会对shtml文件特殊招待,服务器会先扫一次shtml文件看没有特殊的SSI指令存在,如果有的话就按Web Server设定规则解释SSI指令,解释完后跟一般html一起调去客户端。
关于shtm,shtm与shtml的关系和htm与html的关系大致相似,这里就不多说了。
html或htm与shtml或shtm的关系是什么
html或者htm是一种静态的页面格式,也就是说不需要服务器解析其中的脚本,或者说里面没有服务器端执行的脚本,而shtml或者shtm 由于它基于SSI技术,当有服务器端可执行脚本时被当作一种动态编程语言来看待,就如asp、jsp或者php一样。当shtml或者shtm中不包含服务器端可执行脚本时其作用和html或者htm是一样的。
如何使你的Apache服务器支持SSI?
Apache默认是不支持SSI的,需要我们更改httpd.conf来进行配置。我这里以windows平台的Apache 2.0.x为例,打开conf目录下的httpd.conf文件,搜索“AddType text/html .shtml”,搜索结果:
# AddType text/html .shtml
# AddOutputFilter INCLUDES .shtml
把这两行前面的#去掉。
然后搜索“Options Indexes FollowSymLinks”
在搜索到的那一行后面添加“ Includes”
即将该行改变为 Options Indexes FollowSymLinks Includes
保存httpd.conf,重起apache即可。
到此我们就完成了对Apache SSI的设置
来源:https://www.cnblogs.com/jason-star/p/3345225.html