myeclipse10 tomcat7 struts2

来源:互联网 发布:python base64 解码 编辑:程序博客网 时间:2024/05/12 04:16

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">换了个电脑搭环境,</span><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">鼓捣半天各种出问题,一直404,看了下错误信息,一开始是</span><span style="font-family: 微软雅黑, 'MS Sans Serif', sans-serif; background-color: rgb(255, 237, 196);">严重: Exception starting filter FilterDispatcher</span>

java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.FilterDispatcher



后来百度半天是因为我下的strut是2.3 配置文件应该这么写

如果struts2版本是2.1以前 

web.xml配置过滤器的时候应该是这样:
 

<web-app> <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></web-app>


如果struts2 版本是2.1以上 

web.xml配置
 

<web-app>
 
<filter>  
<filter-name>struts2</filter-name>  
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter  
</filter-class>  
</filter>  
<filter-mapping>  
<filter-name>struts2</filter-name>  
<url-pattern>/*</url-pattern>  
</filter-mapping>  
</web-app>


后来还是有问题 提示严重: Dispatcher initialization failed java.lang.RuntimeException: java.lang.reflect.InvocationTargetException


又百度半天发现是jar包导入问题,解决方法如下

最简单的:

其实可以把struts-2.3.4\apps\struts2-blank-2.2.1.war下的lib中所有jar包导入到当前项目的WEB-INF/lib目录下。(struts-2.3.4\apps\目录下是所有的示例文件)

为什么呢?因为在使用struts-2.2以上版本时,须加入javassist-**.ga.jar,否则就会出现上面的错误提示,而这个在struts-2.3.4\lib(其中struts-2.3.4是struts的目录)下是没有的,需要在struts-2.3.4\apps\struts2-blank-2.2.1.war下的lib中找到并加入到当前项目下WEB-INF/lib目录下

所以在struts2.1以上的版本要引入的包应该是8个包

commons-fileupload-1.2.1.jar,
commons-io-1.3.2.jar
commons-logging-1.0.4.jar
freemarker-2.3.16.jar

javassist-3.7.ga.jar
ognl-3.0.jar
struts2-core-2.2.1.jar
xwork-core-2.2.1.jar

struts.xml文件头是从struts2-2.2.1-all\struts-2.2.1\apps里的任意文件拷贝的!


http://blog.sina.com.cn/s/blog_7ffb8dd501013hyx.html

0 0