今天在eclipse+myeclipse+tomcat5 下,写个中文乱码转码filter,就报
2007-3-13 17:43:46 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2007-3-13 17:43:46 org.apache.catalina.core.StandardContext start
严重: Context startup failed due to previous errors
错误,所属项目也就启动不了,web。xml配置为 :
<filter>
<filter-name>CharsetEncodingFilter</filter-name>
<filter-class>com.changyou.filter.CharsetEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharsetEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
百思不得其解,问题出在哪里。
在google搜索,有人提出这么几个解决方案:
1、试着把tomat/server/lib目录下的commons-digester.jar,commons-beanutils.jar拷贝到common/lib/目录 --经测试不行
2、里有个文章说tomcat里的bug,没有实现javax.servlet.Filter的Filter会报这样的错误,看来tomcat在启动就初始化Filter实例,但是在filter中又没有看到那段代码没有实现Filter,或者有代码在启动时没有实例化。--没发现问题。
这个问题网上也得不到解决方案,真是郁闷得紧
****************************************
终于解决了,原来是在web.xml初始化参数过程少初始化了一个,导致filter启动失败。大汗~~~~
如果以后出现tomcat 严重: Error filterStart 错误,一般原因为:1、xml配置失误(如我) 2、filter中某段代码为实例化(这个情况是出现最多的,要仔细检查) 3、试着把tomat/server/lib目录下的commons-digester.jar,commons-beanutils.jar拷贝到common/lib/目录,有些包在部署是没有被包含