在Tomcat中实现SSI,有两种方式:Servlet和Filter。
实现SSI支持的Servlet实现使用了org.apache.catalina.ssi.SSIServlet,另外需要在Servlet的路径解析里面添加映射规则“*.shtml”。
实现SSI支持的Filter使用了org.apache.calalina.ssi.SSIFilter。另外,在Filter路径解析里面也需要添加映射规则“*.shtml”,而且在Filter配置的时候需要在映射规则里面添加能够执行的mimetype,contentType的初始化参数允许你执行服务器下边的资源。在Tomcat里面默认是禁用了SSI的。
Servlet配置:
(1)修改tomcat根目录下的conf文件夹中的context.xml,修改如下:
<Context privileged="true"> <!-- Default set of monitored resources --> <WatchedResource>WEB-INF/web.xml</WatchedResource> </Context>
即在Context 中增加privileged="true"
(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>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> <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> <load-on-startup>4</load-on-startup> </servlet>
取消SSI Servlet的mapping注释,增加*.html,因为我们是在html中引入shtml的,如果不配置*.html,则tomcat不会处理html中的ssi指令
<servlet-mapping> <servlet-name>ssi</servlet-name> <url-pattern>*.shtml</url-pattern> <url-pattern>*.html</url-pattern> </servlet-mapping>
Filter配置:
(1)修改tomcat根目录下的conf文件夹中的context.xml,修改如下:
<Context privileged="true"> <!-- Default set of monitored resources --> <WatchedResource>WEB-INF/web.xml</WatchedResource> </Context>
即在Context 中增加privileged="true"
(2)修改tomcat根目录下的conf文件夹中的web.xml,将SSI的Filter的配置取消注释,并增加编码配置,否则可能出现乱码
Filter的相关:
<filter> <filter-name>ssi</filter-name> <filter-class> org.apache.catalina.ssi.SSIFilter </filter-class> <init-param> <param-name>contentType</param-name> <param-value>text/x-server-parsed-html(;.*)?</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>0</param-value> </init-param> </filter
FilterMapping相关:
filter-mapping> <filter-name>ssi</filter-name> <url-pattern>*.shtml</url-pattern> </filter-mapping>
Filter配置里面还需要取消另外一个注释,下边的MIME TYPE的服务器支持相关注释
<mime-mapping> <extension>shtml</extension> <mime-type>text/x-server-parsed-html</mime-type> </mime-mapping>
.若要解决乱码问题,根据上边文档需要修改SSI中的启动参数:添加如下代码:
<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>
参考:http://bsr1983.iteye.com/blog/2253885;
http://blog.csdn.net/l1028386804/article/details/53526786
相关推荐
标题 "tomcat-ssi.rar_SSI" 暗示了这个压缩包与Tomcat服务器配置有关,特别是关于Server Side Include(SSI)的功能。SSI是一种在Web服务器端处理动态内容的技术,允许开发者在HTML页面中嵌入动态内容,如时间戳、...
在Web开发中,它可以帮助解析和操作XML数据,为SSI提供数据源或配置信息。 这些jar包组合在一起,构成了一个基本的Web开发环境,支持使用SSI技术构建高效且可扩展的Web应用程序。开发者可以通过这些库来处理用户...
#### 四、开启Tomcat的SSI功能(用来支持shtml) 如果需要支持SSI(Server Side Includes),可以在`server.xml`中启用SSI处理器: ```xml ``` #### 五、修改网站访问端口为80 默认情况下,Tomcat监听8080端口...
【Nginx+Tomcat+SSL安装配置手册】 Nginx是一个高效且稳定的HTTP和反向代理服务器,常用于处理静态内容和作为动态应用(如Tomcat)的前端代理。Nginx以其模块化设计、高并发处理能力、低资源消耗和出色的稳定性著称...
#### 四、开启tomcat的SSI功能(用来支持shtml) **配置方法**: 在`server.xml`中添加`<Engine>`标签下的`<Host>`标签内,加入如下配置: ```xml ``` 通过加入`<Valve>`标签并设置`className`属性,启用SSI...
在本案例中,“ssi整合基本jar”指的是将SSI功能集成到Java应用中所需的基础JAR文件集合。 首先,理解SSI的基本工作原理是必要的。当Web服务器处理包含SSI指令的HTML文件时,它会解析这些指令并执行相应的操作,...
在Tomcat 5.5中启用SSI功能,需要进行以下步骤: 1. **修改servlets-ssi.jar**:重命名$CATALINA_HOME/server/lib/servlets-ssi.rename为servlets-ssi.jar。 2. **设置privileged属性**:在$CATALINA_HOME/conf/...
通过在Tomcat中配置SSI框架,开发人员可以获得一种简洁有效的方式来管理和呈现复杂的Web内容。不仅可以提高网站的性能和可维护性,还能为用户提供更好的用户体验。此外,由于SSI技术的简单性和易用性,即使是初学者...
在本案例中,“ssi整合jar包”可能是指一个包含了支持SSI功能的Java库或者是一系列与SSI相关的Java组件的集合。 SSl jar包通常包含以下关键组件和功能: 1. **SSI解析器**:这是jar包的核心部分,用于解析HTML文件...
在Java环境下,我们可以使用各种框架来实现SSI功能,以提高网站的开发效率和可维护性。下面我们将详细探讨Java中的SSI框架搭建及其应用。 首先,理解SSI的基本概念是必要的。SSI主要通过在HTML文件中使用特定的指令...
Tomcat 6 支持SSI功能,但默认不开启,需要通过配置来启用。 1. **配置Apache 2**:在Apache 2的配置文件中,启用SSI模块并配置相关参数。 ```apache LoadModule include_module modules/mod_include.so AddType...
2. **Java Web环境下的SSI集成**:介绍如何在Tomcat或其他支持SSI的服务器上配置和启用SSI功能。 3. **自定义过滤器**:可能涉及创建一个Servlet过滤器来拦截和处理SSI指令。 4. **jar包管理**:讲解如何使用Maven或...
将这些文件部署到Tomcat或其他Servlet容器,然后连接到`user`数据库,即可运行这个SSI框架搭建的项目。通过查看源码,可以深入理解各组件的工作原理和集成方式,对于提升Java Web开发能力大有裨益。
- 配置Web服务器或应用服务器,启用SSI功能,添加相应的模块或配置项。 - 在HTML文件中插入SSI指令,如`<!--#include virtual="/header.html" -->`。 - 确保服务器正确解析和执行这些指令,将包含的内容插入到...
【标题】"用Maven构建一个最简单的...通过这个项目,开发者可以学习到Maven的使用,理解SSI的工作原理,以及如何在Java环境中实现和配置SSI功能。这是一个很好的实践项目,适合初学者了解Maven和服务器端动态内容处理。
创建一个简单的例子,比如用户登录功能,通过Eclipse的Run As > Run on Server命令,部署项目到Tomcat或其他Servlet容器。然后通过浏览器访问测试URL,观察控制台日志,调试代码,验证整合是否成功。 7. **学习...
用户可能需要将这些文件解压并导入到相应的服务器环境中,如Tomcat、Jetty等,然后配置服务器以启动和运行项目。 综上所述,这个压缩包提供的实例是一个完整的SSI集成项目,专注于权限管理的实现。通过Structs2处理...
在这样的项目中,开发环境可能包括Eclipse、Tomcat服务器和MySQL数据库。首先,需要导入所需的库,包括Struts2、Spring、Ibatis以及前端库如ExtJS的依赖。接着,建立Model层,例如User实体类,包含用户ID、名称、...