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