IT民工窝棚qbq.blog.chinaunix.net

长期从事高难度、高压力、高伤害、耗体力、耗精力、耗时间、低工资、低补助、低趣味、随叫随到的工作 ---- 这就是程序员,三高三低三耗

  • 博客访问: 18941051
  • 博文数量: 808
  • 博客积分: 12163
  • 博客等级: 上将
  • 技术积分: 8290
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-04 20:59
文章分类

全部博文(808)

微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

订阅
热词专题
tomcat + ssi 2010-10-07 10:55:23

分类: Java



本文转http://googledave.javaeye.com/blog/438474

ssi直译server side include ,服务器端包括
关键字: tomcat ssi shtml
在目前的Tomcat中,shtml默认是不支持的,需要进行一定的配置,其实也不是非常复杂,不同的Tomcat版本,配置方法也有所不同,参考方法如下:


Tomcat5.x版的配置方法:

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

tomcat 6 SSI的配置与5.x版本不同,下面介绍tomcat 6 SSI的配置方法

Tomcat6版的配置方法:

1.在$CATALINA_BASE/conf/目录下找到web.xml文件
2.使用SSI Servlet的话删除在SSI servlet和servlet-mapping周围的注释,使用SSI filter的话删除在SSI filter和filter-mapping周围的注释
3.$CATALINA_BASE/conf/下还有一个context.xml,将里面的 <Context>改成 <Context privileged="true">
4.解决乱码问题
在$CATALINA_BASE/conf/web.xml中的ssi servlet配置中添加以下初始配置:

<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>

其中utf-8编码应该和你页面的编码方式一样
更多请参考官方的配置说明http://tomcat.apache.org/tomcat-6.0-doc/ssi-howto.html


经过上面的配置,包含文件:
<!--#include file="include.html" -->
<!--#include virtual="include.html" -->
才可以正常显示



转载自:http://blog.csdn.net/zxl315/archive/2008/03/30/2229851.aspx

使用服务器端包含指令可以将文件内容以及有关文件的信息,如文件的大小包含到HTML页中。还可以在ASP页中使用一些服务器端包含指令。

一共有6条

#config:指定返回到客户端浏览器的错误消息、日期和文件大小所使用的格式。

#echo:在 HTML 页中插入环境变量的值。

#exec:运行一个应用程序或一条 shell 命令并将输出插入到 HTML 页中。

#flastmod:将文件修改日期插入到 HTML 页中。

#fsize:将文件大小插入到 HTML 页中。

#include:在 HTML 或 ASP 页中包含文件。

因为包含 SSI 指令的文件需要特殊处理,所以必需给 SSI 文件一个 SSI 文件扩展名。默认的扩展名为 .stm、.shtm 和 .shtml。但是有的SSI指令可以在其他文件中使用。

1.包含文件

要包含文件,请使用 #include 指令。例如,需要在 HTML 页中插入一个名为 char.inc 的文件时,可在 HTML 页中使用下列指令:(可在ASP中使用)

<!-- #include file="char.inc" -->

包含 #include 指令的 HTML 文件必须是您 Web 站点上发布的文件。

要通过指定当前目录的相对路径定位被包含文件,请使用 file 参数。要通过指定文件的完整虚拟路径来定位被包含文件,请使用 virtual 参数。

2.包含应用程序的输出

要运行应用程序或 shell 命令,请使用 #exec 指令。该应用程序可以是 CGI 程序、ASP 应用程序或 ISAPI 应用程序。应用程序的路径必须是完整的虚拟路径或 URL。向应用程序传递参数的方法是在该应用程序名后跟一个问号(?)和由加号(+)连接起来的一列参数。该指令只能在 HTML 页中使用,而不能在 ASP 页中使用。

参数 CGI 运行一个应用程序,如 CGI 脚本、ASP 或 ISAPI 应用程序。

参数 CMD 运行 shell 命令。

3.包含文件的大小

#fsize将指定文件的大小插入 HTML 页中。该指令只能在 HTML 页中使用,而不能在 ASP 页中使用。

参数设置同#include

默认情况下,以千字节为单位表示文件大小。可以用带有 sizefmt 选项的 #config 指令改变计量单位。

4.#config

#config指定返回给客户端浏览器的错误信息、日期和文件大小的格式。该指令只能在 HTML 页中使用;不能在 ASP 页中使用。

参数 ERRMSG

控制在处理 SSI 指令的过程中发生错误时返回给客户端浏览器的消息。禁止详细的调试信息,而只提供一个简短的错误消息。

例:<!-- #config errmsg="You are wrong!" -->

参数 TIMEFMT

指定返回给客户端浏览器的日期格式。String 参数指定格式。可以通过在 String 中使用格式化标记来提取日期中的个别部分,例如,一周或一个月中的某天。(格式化标记与您在使用 ANSI C 的 strftime 函数时的那些标记完全相同)。

%a 一周中某天的缩写(例如,Mon)。

%A 一周中某天的全称(例如,Monday)。

%b 月份的缩写(例如,Feb)。

%B 月份的全称(例如,February)。

%c 当地的日期和时间的表示(例如,05/06/91 12:51:32)。

%d 以十进制数字表示的一个月中的某天 (01-31)

%H 24 小时格式 (00-23)

%I 12 小时格式 (01-12)

%j 以十进制数字表示一年中的某天 (001-366)

%m 以十进制数字表示的月份 (01-12)

%M 以十进制数字表示的分 (00-59)

%p 当地的上午或下午指示符(例如,PM)。

%S 以十进制数字表示的秒 (00-59)

%U 以十进制数字表示一年中的某一周,星期日作为一周的开始 (00-51)

%w 以十进制数字表示一周中的某一天,星期天是第一天 (0-6)

%W 以十进制数字表示一年中的某一天,星期一作为一周的开始 (00-51)

%x 当地的日期表示(例如,05/06/91)。

%X 当地的时间表示(例如,12:51:32)。

%y 以十进制数字表示的不带有世纪的年(例如,69)。

%Y 以十进制数字表示的带有世纪的年(例如,1969)。

%z, %Z 时区全称或缩写;如果不知道时区,则没有字符。

%% 百分号。

例:<!-- #config timefmt="%H:%M:%S" -->

参数 SIZEFMT 后面跟ABBREV表示以千字节为单位,跟BYTE表示以字节为单位

例:<!-- #config sizefmt="bytes" -->

5.#ECHO 类似于 ASP 中的 Response.ServerVariables

不详细介绍了,实在太多了

REMOTE_ADDR、QUERY_STRING 等,应该会用吧

6.#flastmod 将指定文件的修改时间插入 HTML 页。该指令只能在 HTML 页中使用,而不能在 ASP 页中使用。

参数设置同#include

 

 

index.shtml
<!--#config errmsg="Error!"-->
显示当前日期:<!--#echo var="DATE_LOCAL"-->
<br />
显示当前文档名称:<!--#echo var="document_name"-->
<br />
显示当前文档虚拟路径:<!--#echo var="document_uri"-->
<br />
显示文档最后更新时间:<!--#echo var="LAST_MODIFIED"-->
<br />
显示服务器设定时区的日期何时间:<!--#config timefmt="%A,the %d of %B,in the year %Y"--><!--#echo var="date_local"-->
<br />
显示服务器主机名,DNS别名或IP地址:<!--#echo var="server_name"-->
<br />
显示服务器的响应端口:<!--#echo var="server_port"-->
<br />
显示服务器软件名称和版本:<!--#echo var="server_software"-->
<br />
显示客户端文档请求方法:<!--#echo var="request_method"-->
<br />
显示客户端主机名称,DNS别名或IP地址:<!--#echo var="remote_host"-->
<br />
显示发出请求信息的客户端IP:<!--#echo var="remote_addr"-->
<br />
显示用户身份的验证方法:<!--#echo var="AUTH_TYPE"-->
<br />
显示访问受保护页面的用户所使用的帐号名称:<!--#echo var="remote_user"-->
<br />
<!--下面两个包含命令都能包含html文件和jsp文件-->
<!--这个命令只能包含与本文件同目录下的文件-->
<!--#include file="index.html"-->
<br />
<!--这个命令能包含别的目录下的文件,用虚拟路径-->
<!--#include virtual="test.jsp"-->
<br />
<!--包含txt文件-->
<p align="center"><!--#include file="testssi.txt"--></p>
<br />
显示指定文件的大小:<!--#fsize file="WEB-INF/web.xml"-->
<br />
测试最头上指定的错误信息:<!--#fsize file="//"-->


阅读(3527272) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册