Apache Tomcat关于shtml和SSI技术

Tomcatphp

http://blog.csdn.net/leftfist/article/details/8520773html

http://webdevelop.jzxue.com/shtml/java

http://tomcat.apache.org/tomcat-6.0-doc/ssi-howto.htmlweb

http://www.blogjava.net/pdw2009/archive/2009/03/06/258270.htmlapache

http://blog.csdn.net/poweruser5956/article/details/5595422编程

 

Tomcat 6.×里默认ssi配置是注释掉的,要使用SSI,必须去掉该注释。SSI有servlet和filter两种配置。用SSI servlet的话,去掉SSI servlet和servlet mapping的注释。如果用SSI Filter,则要修改三个地方:windows

  • 去掉filter ssi的注释,;
  • 去掉ssi filter mapping的注释,;
  • 去掉filter ssi mime mapping的注释。

最后关键一步:tomcat

修改tomcat_home/conf/context.xml文件里的context标签:
原:
<Context>
修改成
<Context privileged="true">

重启tomcat就ok了。这样也就没必要为具体的app里配置context去使用SSI功能了。服务器

此配置在Tomcat 6.0.18版本里经过。app

简单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的设置

相关文章
相关标签/搜索