原因:Java Build Path没有导入正确的jar包或者导入了但没有把相应的包部署到WEB-INF的lib目录下
解决方案:
我是直接将下载的struts-2.3.31\apps\struts2-blank.war解压,找到其目录下的WEB-INF\lib,放在一个单独文件夹内(里面并没有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的配置:直接从Java Build Path中Add
重启服务器重新运行就可以了。
整个过程,并没有在web.xml中配置servlet。
其他可能的原因:
web.xml中<filter-class>配置错误:
具体介绍:https://stackoverflow.com/questions/5814036/java-lang-classnotfoundexception-org-apache-struts2-dispatcher-filterdispatcher
struts.xml内Doctype版本号错误:
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">