java - struts2找不到類文件
問(wèn)題描述
剛學(xué)到struts2這塊,按照書上的代碼觀察struts2的action的運(yùn)行情況,然后也是按照書上的步驟,先是導(dǎo)入包,然后配置web.xml和在src文件夾中配置一個(gè)struts.xml,最后編寫一個(gè)index.jsp和first.jsp,然而在運(yùn)行時(shí)候出了錯(cuò)誤,報(bào)錯(cuò)情況為:嚴(yán)重: Exception starting filter struts2java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1892)at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1735)at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:504)at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:486)at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:113)at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258)at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4958)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5652)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1571)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1561)at java.util.concurrent.FutureTask.run(Unknown Source)at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)at java.lang.Thread.run(Unknown Source)
嘗試解決過(guò)程:網(wǎng)上查找過(guò)問(wèn)題,有的答案說(shuō)是有可能是包重復(fù)了?然后我根據(jù)這種做法重新導(dǎo)入了jar包,可是依然報(bào)錯(cuò),然后還有的解決方案是說(shuō)看下struts.xml和web.xml,看看是否有拼寫錯(cuò)誤或其它小問(wèn)題,可是我觀察了好久,沒(méi)有看到出錯(cuò)的地方。以下是我的頁(yè)面出錯(cuò)情況、項(xiàng)目文件,以及配置情況:
希望路過(guò)的大佬能指教下,小弟感激不盡...
問(wèn)題解答
回答1:問(wèn)題已經(jīng)解決。1.找不到指定頁(yè)面java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter解決辦法是:<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>中的class路徑更改為:org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
2.更改后出現(xiàn)了其他問(wèn)題:tomcat不能正常啟動(dòng),報(bào)了好多錯(cuò)誤。解決方法:再添加一個(gè)jar包:log4j-api-2.7.jar
至此,tomcat正常啟動(dòng),struts2也能準(zhǔn)確攔截對(duì)象,頁(yè)面正常顯示。
回答2:看看工程的build path有沒(méi)有你加的這些包。
回答3:你沒(méi)有將包導(dǎo)入類路徑下
相關(guān)文章:
1. android - 安卓做前端,PHP做后臺(tái)服務(wù)器 有什么需要注意的?2. mysql - ubuntu開(kāi)啟3306端口失敗,有什么辦法可以解決?3. javascript - 從mysql獲取json數(shù)據(jù),前端怎么處理轉(zhuǎn)換解析json類型4. mysql - C#連接數(shù)據(jù)庫(kù)時(shí)一直這一句出問(wèn)題int i = cmd.ExecuteNonQuery();5. mysql replace 死鎖6. extra沒(méi)有加載出來(lái)7. 求救一下,用新版的phpstudy,數(shù)據(jù)庫(kù)過(guò)段時(shí)間會(huì)消失是什么情況?8. thinkPHP5中獲取數(shù)據(jù)庫(kù)數(shù)據(jù)后默認(rèn)選中下拉框的值,傳遞到后臺(tái)消失不見(jiàn)。有圖有代碼,希望有人幫忙9. javascript - 微信網(wǎng)頁(yè)開(kāi)發(fā)從菜單進(jìn)入頁(yè)面后,按返回鍵沒(méi)有關(guān)閉瀏覽器而是刷新當(dāng)前頁(yè)面,求解決?10. django - Python error: [Errno 99] Cannot assign requested address
