好久不碰技术了,上一次用struts都是三年前的事了,那时候还是1.2版本。正好现在想学点东西,于是就想从struts2入手,接触一下struts2+spring+hibernate的乐趣。惭愧的是,这三个耳熟能详的东西,一个都没接触过。
废话不多说,Java的东西,我感觉总是会碰到各种各样的问题,哪怕是照着教程一步一步做,也会出错。不过通过分析和Google,基本上问题也都能解决,只不过会浪费不少时间。每当这个时候,我就会想,要是旁边有个高手指点一下就好了。有时候搜索的关键字的确很难写,搜索的结果往往不是想要的。
今天碰到的问题也折腾了好久,编译时,报
java.lang.classnotfoundexception
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter。
网上找答案,五花八门,说什么的都有,一般来说,都是让检查tomcat安装的路径,另外就是要添加几个jar包。
试了好几个,无果。后来逐一排查,发现,刚刚建立好的struts2项目是没错误的,错误发生在添加struts.xml中的<result></result>这一步。再根据报错的情况来看,应该是没有加载到dispatcher相关的jar包。
最终解决方法如下,加入如下包在lib文件夹下:
struts2-core-2.1.8.1
xwork-core-2.1.6
freemarker-2.3.15
ognl-2.7.3
commons-logging-api-1.1
commons-fileupload-1.2.1
commons-io-1.3.2
(以上jar包在Apache网站的struts2中都有)加完后,别忘了重启tomcat。
有点搞不懂,为什么MyEclipse在add struts2 capabilities的时候,不自动的把这几个jar包导入到lib文件夹中。