以下异常可能很多人都会碰到,而网上很多解决办法都说得不尽然。
2008-12-28 22:48:46 org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter ssi
java.lang.SecurityException: Filter of class org.apache.catalina.ssi.SSIFilter is privileged and cannot be loaded by this web application
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:251)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4356)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:924)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:887)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Tomcat 6.×里默认ssi配置是注释掉的,要使用SSI,必须去掉该注释。SSI有servlet和filter两种配置。用SSI servlet的话,去掉SSI servlet和servlet mapping的注释。若是用SSI Filter,则要修改三个地方:
- 去掉filter ssi的注释,;
- 去掉ssi filter mapping的注释,;
- 去掉filter ssi mime mapping的注释。
最后关键一步:
修改tomcat_home/conf/context.xml文件里的context标签:
原:
<Context>
修改为
<Context privileged="true">
重启tomcat就ok了。这样也就不必为具体的app里配置context去使用SSI功能了。
此配置在Tomcat 6.0.18版本里通过。
简单SSI测试例子:
index.shtml
<html>
<head/>
<body>
welcome to my site!
Now is <!--#echo var="DATE_LOCAL"-->.
</body>
</html>
而象网上说需要将server/lib/servlet-ssi.renametojar改名为servlet-ssi.jar则有点莫明其妙,因为有些版本里(比如最新的6.0.18)catalina.jar里已经包含了原来servlet-ssi.jar里的class文件,因此网上某些配置应该针对某些版本而言。
分享到:
相关推荐
SSI框架,全称为Struts2、Spring和Ibatis的集成框架,是一种常见的Java Web开发解决方案。这个框架结合了这三个组件的优点,以实现高效且灵活的Web应用开发。 **Struts2**作为MVC框架,主要负责处理HTTP请求,提供...
6. **Servlet容器集成**:这个jar包可能需要与Tomcat、Jetty等Servlet容器集成,以在Web应用程序中处理SSI请求。 7. **配置与API使用**:学习如何在Java项目中配置和初始化这个库,以及如何调用其API来处理SSI指令...
- **开启SSI功能**:如果需要支持`.shtml`文件,可以开启Tomcat的SSI(Server Side Includes)功能。 - **修改网站访问端口**:将默认的8080端口更改为80或其他端口,以方便与Web服务器如Apache集成。 - **解决中文...
在IT行业中,集成不同的框架是常见的开发实践,以优化应用的性能、可维护性和扩展性。本主题将详细探讨如何在MyEclipse...在实际开发中,还需考虑性能优化、异常处理、安全策略等方面,以确保系统的健壮性和可维护性。
1. **环境准备**:确保已安装JDK、Tomcat等基础环境,还需引入Struts2、Spring、Ibatis的依赖库到项目中。 2. **配置Struts2**:创建struts.xml文件,定义全局配置和Action映射。配置Struts2拦截器栈,以便使用...
7. **编写业务逻辑**:在Action类中调用Service层的方法,实现CRUD操作。 8. **视图层处理**:创建JSP页面,使用Struts2标签库和SSI技术展示数据,实现用户交互。 9. **测试**:运行项目,通过HTTP请求测试各个...
2. **Tomcat配置**:在IDE中配置Tomcat服务器,设置启动/停止选项,以及项目部署路径。 3. **IDE插件**:对于Eclipse,可能需要Struts2和MyBatis的相关插件,如Struts2 Eclipse Plugin,MyBatis Generator等,以提高...
1. **环境配置**:首先确保JDK、Tomcat、Maven等基础环境的安装配置,创建一个Maven项目,并在pom.xml中添加三大框架的依赖。 2. **Spring配置**:创建Spring配置文件(如:applicationContext.xml),配置Bean,...
在IDE中启动Tomcat服务器,通过浏览器访问`http://localhost:8080/项目名/hello`,如果一切配置正确,你应该能看到“Hello, World!”的页面。 以上就是搭建Struts框架的基本步骤。随着你对Struts的深入学习,你可以...
此外,书中还会涵盖如何处理异常、实现安全性以及优化Web应用性能等主题。 如果你对这本书的续集感兴趣,可以访问《More Servlets and JavaServer Pages》的网站。作者还提供相关的Servlet和JSP培训课程,可以在...
5. 中间件:熟悉Tomcat、Jboss、Weblogic等服务器的配置和使用,理解中间件在分布式系统中的作用。 6. 性能优化:进行压力测试,掌握性能调优技巧,提升系统运行效率。 7. 实战项目:通过ERP、LIS、ISSP、OA、大型...
Web服务器如Tomcat、Jetty、Resin和JBoss的配置和管理也是必需的。 随着技能的提升,中级软件工程师会涉及SSH、SSI等经典架构,如Struts1和Struts2的表现层框架,Spring的业务层框架,以及Hibernate持久层框架。...
- **Tomcat、Linux**:Tomcat是常见的Java应用服务器,Linux是常用的操作系统,求职者能进行配置和部署,说明具备服务器管理能力。 - **Maven、SVN、Hudson**:Maven用于项目构建和依赖管理,SVN是版本控制系统,...
- **Servlet的打包**:将Servlet放在特定的目录结构中,并通过`web.xml`文件进行配置。 通过以上分析可以看出,《Core Servlets and JavaServer Pages 2nd Edition》一书涵盖了Servlets和JSP的核心概念、优势以及...
Web服务器如Tomcat、Jetty、Resin和JBoss的使用和配置也是必备技能。 随着经验的积累,中级软件工程师会深入学习四大经典架构SSH1、SSI1、SSH2和SSI2,包括Struts1和Struts2表现层框架,Spring业务层框架以及...
* 四种经典架构 SSH1、SSI1、SSH2、SSI2 * Struts1 表现层框架:入门配置、核心组件、标签库、国际化、数据检验、数据库开发、Sitemesh 集成、集成 Hibernate/iBATIS * Struts2 表现层框架:入门配置、核心组件、...
中级软件工程师阶段,需要精通SSH、SSI、SSH2和SSI2这四种经典架构,即Struts、Spring和Hibernate的组合。了解并能运用Struts1和2的配置、组件、标签库,Spring的IoC容器、MVC模式,以及Hibernate的持久化操作。 ...
- **finally**:在try-catch-finally语句块中使用,确保无论是否发生异常都会执行的代码块。 - **finalize**:对象被垃圾回收前调用的方法,已过时。 ##### Io流的层次结构 - 输入流:InputStream、Reader。 - 输出...