Struts2.5在配置过程中,有几点需要注意:
-
导入jar包,必备jar包如下:尤其是log4j.jar和javassist.jar为必备包
- 在web.xml中添加过滤器。需要注意的是filter-class的值,相对于之前的版本发生了变化。
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
过期的写法如下:
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
或者
<filter>
<filter-name>action2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
3.如果你把第一步的几个jar包,放到了User Library中,且并未复制到WEB-INF/lib目录下,而是引用的User Libraries。那么程序编译没问题,但是等到启动tomcat的时候,就会报各种类找不到的错误。比如错误如下:
严重: Exception starting filter struts2
java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter...
说找不到StrutsPrepareAndExecuteFilter类,可是明明就在struts2-core.jar中的org.apache.struts2.dispatcher.filter下有这个类啊?原因是:eclipse发布项目的时候并未自动将引用的jar包copy到目标位置,导致编译器找不到所使用的class。
解决方案:
设置eclipse发布项目的选项,project上点击右键,选择左侧Deployment Assembly,右侧显示的列表是项目发布目录:
点击Add,弹出的窗口中选择 Java Build Path Entries,点击Next:
窗口中会显示你这个项目中所使用的User Libraries,选择,点击Finish即可:
返回列表,记得一定要点击 Apply,或者OK,完成。再次启动Tomcat,之前的错误就都消失了。
共同学习,写下你的评论
评论加载中...
作者其他优质文章