搭建struts2,解决Tomcat启动时的错误:严重: Error filterStart

1.  环境:

JDK:   jdk1.6.0_12

注:当安装了多个版本的 jdk 时, 要检查 JAVA_HOME 环境变量,如果 JAVA_HOME 的值与 Eclipse 里编译 java 文件使用的版本不一致时,会出现: java.lang. UnsupportedClassVersionError: Bad version number in .class file 错误,从而导致 tomcat 无法启动。

 

Tomcat:     apache-tomcat-6.0.33

D:\server\apache-tomcat-6.0.33-8080\conf\Catalina\localhost\ROOT.xml 内容如下:

 

<Context path="" docBase="D:\projects2\SSHDemo\war" workDir="" reloadable="false">
</Context>

 

2.  Struts2 必要的 jar

commons-fileupload-1.2.2.jar

commons-io-2.0.1.jar

commons-lang-2.5.jar

commons-logging-1.1.1.jar

freemarker-2.3.18.jar

javassist-3.11.0.GA.jar

ognl-3.0.4.jar

struts2-core-2.3.1.2.jar

xwork-core-2.3.1.2.jar

注: apache 官网上下载的 struts2-blank demo 里的下面三个 jar 包不需要:

asm-3.3.jar

asm-commons-3.3.jar

asm-tree-3.3.jar

用别人开源的东东, jar 包多,多了少了都可能出现各种问题,导致 tomcat 无法启动,经常出现的问题类似下面的问题:

2010-9-26 20:28:25 org.apache.catalina.core.StandardContext start
严重 : Error filterStart


这个时候, tomcat 的控制台可能没有更多的提示,导致不知道哪个包少了或冲突了,网上一查,同问这个问题的人不计其数,解决方法也是千奇百怪。其实当控制台提供的错误信息不足以解决问题时, 可以查看 tomcat log 文件, tomat 提供了 logs 目录(如: D:\server\apache-tomcat-6.0.33-8080\logs ),下面有两个有用的日志文件:

catalina.2012-04-28.log ,这个日志里的内容就是控制台所看到的日志;

localhost.2012-04-28.log ,这个日志里的内容是详细的错误信息,你从上面这个文件里看出具体什么错误的信息就可以从这里查找了。我就是借助这个文件确定了 struts 2.3.1.2 需要哪些 jar 包的。

3.  配置文件 web.xml

 

<filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    </filter>
    
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
 

 

你可能感兴趣的:(struts2)