配置Struts2后运行jsp出现404的解决方法

更新:善用控制台查看错误信息

---------------------------------------------

原因:Java Build Path没有导入正确的jar包或者导入了但没有把相应的包部署到WEB-INF的lib目录下

解决方案:

我是直接将下载的struts-2.3.31appsstruts2-blank.war解压,找到其目录下的WEB-INFlib,放在一个单独文件夹内(里面并没有commons-logging-1.1.3.jar,但是也没报错)

 

新建User Library(以后新建项目就可直接用):点击Window--Preferences--Java--Build Path--User Libraries--New--输入名称确定--点击Add External JARs导入包。

 

Build Path的配置:右击项目--Properties--Java Build Path--Add Library--User Library--选择刚才新建的

 

Deployment Assembly的配置:右键项目--properties--Deployment Assembly,直接从Java Build Path中Add 

(或者手动复制jar包到WEB-INF/lib目录下,不过这种方式有个坑:如果你不是在Eclipse里右击lib粘贴的,而是在文件资源管理器里复制粘贴,那么Eclipse里不会自动刷新lib目录,即使重启服务器还是404的错误,这一点非常不人性化!)

重启服务器重新运行就可以了。

 整个过程,并没有在web.xml中配置servlet。

 其他可能的原因:

1.web.xml中<filter-class>配置错误:

具体介绍:https://stackoverflow.com/a/37537936/8243553

 2.struts.xml内规范文件版本号错误:

<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">

原文地址:https://www.cnblogs.com/wincent98/p/10031506.html