配置tomcat中的SSI使用方法:
1:在tomcat的安装目录/conf/context.xml中修改成<Context privileged="true">,允许服务器应用使用服务器容器自带的servlet。
2:在tomcat的安装目录/conf/web.xml中去掉ssi的servlet的注释,修改成如下:
<servlet>
<servlet-name>ssi</servlet-name>
<servlet-class>
org.apache.catalina.ssi.SSIServlet
</servlet-class>
<init-param>
<param-name>buffered</param-name>
<param-value>1</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>expires</param-name>
<param-value>666</param-value>
</init-param>
<init-param>
<param-name>isVirtualWebappRelative</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>inputEncoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>outputEncoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<load-on-startup>4</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ssi</servlet-name>
<url-pattern>*.shtml</url-pattern>
</servlet-mapping>
3:在web应用中新建以.shtml为后缀的文件,然后在文件中使用指令:
<!--#include file="index.html|index.jsp" -->:导入相对于该文件的同级目录或者子目录的文件
<!--#include virtual="index.html"--> :导入web站点上的虚拟目录的完整路径,如果完整路径有项目名称,包括项目名称。
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语句时计算的要求予以显示
1:在tomcat的安装目录/conf/context.xml中修改成<Context privileged="true">,允许服务器应用使用服务器容器自带的servlet。
2:在tomcat的安装目录/conf/web.xml中去掉ssi的servlet的注释,修改成如下:
<servlet>
<servlet-name>ssi</servlet-name>
<servlet-class>
org.apache.catalina.ssi.SSIServlet
</servlet-class>
<init-param>
<param-name>buffered</param-name>
<param-value>1</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>expires</param-name>
<param-value>666</param-value>
</init-param>
<init-param>
<param-name>isVirtualWebappRelative</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>inputEncoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>outputEncoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<load-on-startup>4</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ssi</servlet-name>
<url-pattern>*.shtml</url-pattern>
</servlet-mapping>
3:在web应用中新建以.shtml为后缀的文件,然后在文件中使用指令:
<!--#include file="index.html|index.jsp" -->:导入相对于该文件的同级目录或者子目录的文件
<!--#include virtual="index.html"--> :导入web站点上的虚拟目录的完整路径,如果完整路径有项目名称,包括项目名称。
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语句时计算的要求予以显示