关于部署struts2,运行报错404总结
最近开始接触框架,写第一个小程序时,部署后,当访问action时,tomcat报
错404,直接访问结果集result.jsp时也还是报错。
百度了一下,网上说什么的多有,struts.xml配置错了,web.xml没有配置
过滤器啊等等,到最后才想起来,可以查看控制台的提示信息,这一查看就找到bug所在了
服务器找不到StrutsPrepareAndExecuteFilter,明明导入了所需的包,为什么
还是报错找不到,后来再次百度才发现原因,Tomcat默认从WEB-INF/目录下
加载资源,而在eclipse发布之后,并不会自动的把它添加到WEB-INF目录下
总结一下可能会出现404的情况:
1.URL写错,这个时候需要先检查一下拼写有没有出错
2. 所需要的jar包没有导入完全,
3.web.xml文件和struts.xml文件配置不正确
4. web.xml中的filter-class路径写错,struts2 2.5的版本以后,过滤器的路径和以前不一样了。之前filter的路径是org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter, struts2 2.5版本之后呢,中间的这个.ng就没有了
5.没有在WEB-INF目录下导入struts2的jar包,即使你已经将包导入完全,系统也会提示你classNotFoundException
最后附上需导入的几个jar包
在2.5以前还需要导入一个xwork-core的jar包,2.5后xwork的这个jar包和Struts2-core这个包合并了,就不需要再导入了