部署struts2报错的解决办法(更正)

web.xml提示这个:

Referenced file contains errors (http://java.sun.com/xml/ns/j2ee/web-app_2_5

然后控制台提示这个:

严重: Exception starting filter struts2

 

上网搜了一下解决办法。

我的工程其实是三个问题:

1.struts2的core jar的版本不对。我把struts2-core-2.1.0.几的jar换成struts2-core-2.2.1.1.jar,xwork-core-2.1.0.几的jar换成xwork-core-2.2.1.1.jar;这里对应web.xml里面开头app那一句

<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

貌似version="2.4" 对应旧版本,2.5对应新版的jar,同理_2_5那个也要。

 

2. 就是上面黑体那句,原本是没有的,要加上去。

3.这份struts2的几个jar,除了加载在工程之外,部署服务器的tomcat里面的lib也要拷一份进去。(后面这个问题我查了很久才解决)

 

另外,网上有些说吧web.xml里面那几句的xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

的java换成大写的JAVA可以,这个。。。

 

更正:上面第二点的那个问题:2.就是上面黑体那句,原本是没有的,要加上去。

其实不是问题。发现没有这句也好使。

今天在马士兵的视频找到答案,这个错误的原因主要是web.xml的版本问题。struts2.1和2.0

web.xml里面有这一句

<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

这一句中2.1和2.0对应的struts的包不一样的。

posted @ 2013-11-12 21:36  琪露诺  阅读(414)  评论(0)    收藏  举报