原因: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">