Apache Tomcat關於shtml和SSI技術


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM