1. SSI,通常称为“服务器端包含”技术。使用了SSI技术的文件默认的后缀名为.shtml,SSI技术通过在html文件中加入SSI指令让web服务器在输出标准HTML代码之前先解释SSI指令,并把解释完后的输出结果和HTML代码一起返回给客户端。 2. SSI技术的优点:SSI技术是通用技术,它不受限于运行环境,在java、dotnet、CGI、ASP、PHP下都可以使用SSI技术;解释SSI的效率比解释JSP的效率快很多,因为JSP规范提供了太多的功能,这些功能都需要servlet引擎一一进行解释,所以效率比较低 3. 解析SSI文件最佳的服务器:Apache Http Server 4. Tomcat5.5下配置使用SSI: ①:把$CATALINA_HOME/server/lib/servlets-ssi.renametojar的名称改为servlets-ssi.jar ②:设置$CATALINA_HOME/conf/context.xml文件,在<Context>节点添加privileged="true"属性,该属性指定我们发布的web应用有权限使用容器的servlet。当你如果需要在$CATALINA_HOME/conf/server.xml添加其它web应用时,最好也为<Context>加上privileged="true"属性,如下: <Context debug="0" path="" docBase="E:/website" privileged="true"/> ③:在$CATALINA_HOME/ conf/web.xml开启SSI的功能,Tomcat提供了两种开启SSI的方式:一种是servlet,另一种是filter。这里我们使用Servlet开启SSI功能。 在$CATALINA_HOME/ conf/web.xml文件中找到<servlet-name>ssi</servlet-name> ,把对该Servlet的注释去掉,然后根据shtml文件的编码格式指定inputEncoding 和outputEncoding 属性值 5. SSI指令基本格式:<!--#指令名称="指令参数“ --> 注:<!--与#号间无空格,只有SSI指令与参数间存在空格。上面的标点="",一个也不能少。SSI指令是大小写敏感的,因此参数必须是小写才会起作用 6. SSI指令: 1)#include:<!--#include file="文件名称"--> file 文件名是一个相对路径,该路径相对于使用 #include 指令的文档所在的目录;<!--#include virtual="文件名称"--> virtual 文件名是 Web 站点上的虚拟目录的完整路径 2)<!--#flastmod file="文件名称"--> 文件最近更新日期;<!--#fsize file="文件名称"--> 文件的长度 3)<!--#echo var="变量名称"--> 将环境变量插入到页面中 示例: 本文档名称:<!--#echo var="DOCUMENT_NAME"--> 你的IP地址:<!--#echo var="REMOTE_ADDR"--> <!--#config timefmt="%Y-%m-%d %a %H:%M:%S"--> 现在时间:<!--#echo var="DATE_LOCAL"--> 4)<!--#set var="变量名" value="变量值"--> 给变量赋值 5)<!--#if expr="$变量名=/"变量值A/""--> 显示内容 <!--#elif expr="$变量名=/"变量值B/""--> 显示内容 <!--#else--> 显示内容 <!--#endif"--> //创建可以改变数据的页面,这些数据根据使用if语句时计算的要求予以显示 , L; k, }* \# B- t2 D3 _& }
|