HTTP 404错误,看到这个错误想死的心都有了,为了避免以后遇到此类错误时像无头苍蝇一样乱飞,决定把每一次遇到此类错误的解决方法写下来,以备查询。
由于没配置struts2之前,都能正常访问应用目录下的文件,配置之后访问文件都报404错误,所以确定是struts2配置错误,之后从网上查找,发现很多人出现类似的错误,解决方法很多,记得的有:
a.访问时,写错了url;(如,url是否大小写写错了,Tomcat默认是区分大小写的)
关于Tomcat中url的大小写说明和配置:见 Tomcat url不区分大小写,支持中文配置
b.web.xml配置错误,filter-class 有两种写法说多少版本之后就改用org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter不用 org.apache.struts2.dispatcher.FilterDispatcher了。至于哪个版本之后改用了,为什么改了,留待以后研究。
c.没添加struts jar包。添加jar包,这个问题哎,以前看视屏学struts2是,那老师用的是拷贝jar包然后黏贴到 package-explorer视图的lib下,但以前都是通过buildPath来添加外部jar包的,至于两个效果是否一样,差别是什么,这个以后再说。
d.jar 包冲突。说的这个真的是郁闷,你说少了不行可以理解吧,这多一个也不行,看来应该总结下哪些jar包易冲突。
按照上面的方法一个个试,发现没错啊,整个人都快抓狂了,最后决定静下心来从头到尾再检查一次,不行就搁置了。之后发现是struts.xml配置多了一个action,因为是直接从其他工程直接拷的struts.xml所以原先的action也考过来了,当时知道这个action没用,我还以为我不访问这个action,就不会有问题。结果还真栽在这里了,之后我就把这个多余的action去掉就访问成功了。
原文地址:http://blog.youkuaiyun.com/justremind/article/details/7755090
本文针对Struts2配置导致的HTTP404错误进行了解析,并提供了多种排查及解决方法,包括URL检查、web.xml配置验证、jar包添加及冲突排查等。
923

被折叠的 条评论
为什么被折叠?



