java - struts2找不到類文件
問題描述
剛學(xué)到struts2這塊,按照書上的代碼觀察struts2的action的運行情況,然后也是按照書上的步驟,先是導(dǎo)入包,然后配置web.xml和在src文件夾中配置一個struts.xml,最后編寫一個index.jsp和first.jsp,然而在運行時候出了錯誤,報錯情況為:嚴(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)
嘗試解決過程:網(wǎng)上查找過問題,有的答案說是有可能是包重復(fù)了?然后我根據(jù)這種做法重新導(dǎo)入了jar包,可是依然報錯,然后還有的解決方案是說看下struts.xml和web.xml,看看是否有拼寫錯誤或其它小問題,可是我觀察了好久,沒有看到出錯的地方。以下是我的頁面出錯情況、項目文件,以及配置情況:
希望路過的大佬能指教下,小弟感激不盡...
問題解答
回答1:問題已經(jīng)解決。1.找不到指定頁面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)了其他問題:tomcat不能正常啟動,報了好多錯誤。解決方法:再添加一個jar包:log4j-api-2.7.jar
至此,tomcat正常啟動,struts2也能準(zhǔn)確攔截對象,頁面正常顯示。
回答2:看看工程的build path有沒有你加的這些包。
回答3:你沒有將包導(dǎo)入類路徑下
相關(guān)文章:
1. javascript - sublime快鍵鍵問題2. javascript - avalon使用:duplex設(shè)置select默認(rèn)option的bug3. css如何實現(xiàn)兩欄布局,左邊固定寬度,右邊寬度自適應(yīng),且高度和瀏覽器當(dāng)前高度一致?4. javascript - 有適合開發(fā)手機端Html5網(wǎng)頁小游戲的前端框架嗎?5. css3 - css做動畫效果6. mysql - 電商如何存儲營業(yè)額數(shù)據(jù)7. javascript - 表單ajax提交后跳轉(zhuǎn),手機按返回又進入這個表單頁了!!8. css - PC端不同分辨率下字體大小呈現(xiàn)9. HTML5禁止img預(yù)覽該怎么解決?10. python - nginx 小白, nginx 啟動后 80 端口無法訪問
