SSI服务器包含技术

配置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语句时计算的要求予以显示
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值