日期:2014-05-17  浏览次数:20838 次

shtml学习,Tomcat配置SSI,及语法指令小记
一、介绍:
  SSI是Server Side Includes的缩写,是嵌入到HTML页面的一组指令的集合。在返回请求的页面(包含SSI指令)前,服务器会处理这些指令,并用处理的结果替换指令,然  后把页面返回。这样就允许在HTML页面中添加动态产生的内容。
  SSI是向页面中添加小的信息片段的很好的方法。如果页面的大部分都是产生的则需要选择其它的解决方案。
二、主要用途
  目前,主要有以下几种用用途:
  1、显示服务器端环境变量<#echo>
  2、将文本内容直接插入到文档中<#include>
  3、显示WEB文档相关信息<#flastmod #fsize> (如文件制作日期/大小等)
  4、直接执行服务器上的各种程序<#exec>(如CGI或其他可执行程序)
  5、设置SSI信息显示格式<#config>(如文件制作日期/大小显示方式) 高级SSI<XSSI>可设置变量使用if条件语句。
三、设置Tomcat
     Tomcat对SSI提供了支持,但在默认的情况下这种支持是关闭的。如果你用Tomcat做为HTTP服务器并且需要SSI,那么需要自己来设置。

四、设置方法如下:

        在$CATALINA_BASE/server/lib/目录下找到servlets-ssi.renametojar文件
        将这个文件重命名为servlets-ssi.jar
        在$CATALINA_BASE/conf/目录下找到web.xml文件
        使用SSI Servlet就删除在SSI servlet和servlet-mapping周围的注释
        使用SSI filter就删除在SSI filter和filter-mapping周围的注释

五、基本指令
       1、SSI指令的语法格式如下:
           <!--#element [attribute=value] [attribute=value] ... -->
              这些指令以HTML注释的形式出现,所以如果你没有正确设置SSI,浏览器会忽略这些指令。如果你正确设置了SSI,这些指令会被相应的结果替换。
       2、config
           <!--#config timefmt="%B %Y" -->
           config用来指定返回给客户端浏览器的错误信息、日期和文件大小的格式。
        常用指令:
           <!--#config errmsg="自定义错误信息"-->
           <!--#config sizefmt="显示单位"-->
           <!--#config timefmt="显示格式"-->
        参数:
            errmsg 自定义SSI执行错误信息,可以为任何你喜欢的方式。
            sizefmt 文件大小显示方式,默认为字节方式("bytes")可以改为千字节方式("abbrev")
            timefmt 时间显示方式,最灵活的配置属性。
        Eg:
            <!--#config errmsg="服务器执行错误,请联系管理员 yiho@126.com,谢谢!"-->
            <!--#fsize file="不存在的文件.htm"-->

            以千字节方式显示文件大小
            <!--#config sizefmt="abbrev"-->
            <!--#fsizefile="news.htm"-->
           以特定的时间格式显示时间
   <!--#config timefmt="%Y年/%m月%d日 星期%W 北京时间%H:%M:%s,%Y年已过去了%j天 今天是%Y年的第%U个星期"-->
   <!--#echo var="DATE_LOCAL"--> 显示今天是星期几,几月,时区
   <!--#config timefmt="今天%A, %B ,服务器时区是 %z,是"-->
   <!--#echo var="DATE_LOCAL"-->   
3、echo
   echo用来输出变量的值。
    <!--#echo var="VARIABLE_NAME" -->
    <!--#echo var="变量名称"-->
   本文档名称:程序代码:
    <!--#echo var="DOCUMENT_NAME"-->
   现在时间:程序代码:
    <!--#echo var="DATE_LOCAL"-->
   你的IP地址是程序代码:
    <!--#echo var="REMOTE_ADDR"-->
4、exec
  &l