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的設置

相關文章
相關標籤/搜索