1. 程式人生 > >java web 專案 ssh框架使用中的 ClassNotFoundException 異常【找不到**Action】

java web 專案 ssh框架使用中的 ClassNotFoundException 異常【找不到**Action】

對 visitAction 類進行了註解配置,


但是在訪問 visitAction 的時候,一直出現下面這個異常提示:

22:23:35,387 ERROR DefaultDispatcherErrorHandler:42 - Exception occurred during processing request: Unable to instantiate Action, visitAction,  defined for 'visit_findByPage' in namespace '/'visitAction
Unable to instantiate Action, visitAction,  defined for 'visit_findByPage' in namespace '/'visitAction - action - file:/C:/Programs/apache-tomcat-7.0.81/webapps/crm_1/WEB-INF/classes/struts.xml:46:59
	at com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:314)
	at com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:395)
	at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:194)
	at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63)
	at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:37)
	at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
	at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:554)
	at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:81)
	at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.springframework.orm.hibernate5.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:151)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1115)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: visitAction
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1892)
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1735)
	at com.opensymphony.xwork2.util.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:152)
	at com.opensymphony.xwork2.ObjectFactory.getClassInstance(ObjectFactory.java:135)
	at com.opensymphony.xwork2.spring.SpringObjectFactory.getClassInstance(SpringObjectFactory.java:248)
	at com.opensymphony.xwork2.spring.SpringObjectFactory.buildBean(SpringObjectFactory.java:163)
	at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:178)
	at com.opensymphony.xwork2.factory.DefaultActionFactory.buildAction(DefaultActionFactory.java:22)
	at com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:148)
	at com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:295)
	... 29 more

關鍵資訊:Caused by: java.lang.ClassNotFoundException: visitAction

檢查了 javaBean 是否配置對了,service 是否呼叫對了,核對遍了這些之後,無果,在網上找了半天,都說是:

<package name="***" extends="struts-default" namespace="/">  中的 namespace 屬性沒有配置,小生很鬱悶。

甚至懷疑自己 action 的呼叫路徑錯了,所以找不到對應的 action,最後琢磨了一遍上面的程式碼提示,覺得 namespace 是個啟發!

原來,在 application.xml 配置中開啟的註解掃描路徑是“com.test” : <context:component-scan base-package="com.test"/>

但是我編寫的 action 包名路徑為:com.web.action 註解掃描不到,當然找不到 action 異常咯!

哎呀,這是多麼愚蠢的錯誤,謹記!

相關推薦

java web 專案 ssh框架使用ClassNotFoundException 異常到**Action

對 visitAction 類進行了註解配置, 但是在訪問 visitAction 的時候,一直出現下面這個異常提示: 22:23:35,387 ERROR DefaultDispatcherErrorHandler:42 - Exception occurred dur

Java web專案springMVC框架實現定時任務

在工作中遇到一個需求,需要定時自動執行某項功能,這就需要用到定時任務了。首先先來理一下實現思路,定時任務可以用Java.util中的timer類,把需要定時執行的任務封裝到timer類的排程表中,這個timer物件需要在程式初始化時建立,這樣才可以讓它自動執行。那麼我們就可以想到需要借用

java web專案在tomcat以除錯模式執行

轉載地址:https://blog.csdn.net/gk_12/article/details/79689702 自己測試環境是: JDK1.8 Eclipse4.5 tomcat 8.5 如果只是將專案部署在tomcat中並不能進行除錯,所以還需要進行配置一下,步驟如下:

Memcached 分散式記憶體物件快取系統在Java Web專案收藏欄的使用

Memcached工具類程式碼 import com.danga.MemCached.MemCachedClient; import com.danga.MemCached.SockIOPool; import java.util.ArrayList; import java.util.List; /

Jenkins在Java web專案CI/CD的簡單應用

Jenkins Jenkins is a self-contained, open source automation server which can be used to automate all sorts of tasks related to

javaWeb專案ssm框架jdbc.properties檔案載入了或獲取到值的解決方法

最近在做的ssm專案在junit測試是發現jdbc.properties檔案讀取不到資料庫配置檔案,開始以為是配置檔案有錯,後來才發現是jdbc.properties檔案中存在空格導致的錯誤。下面來總結以下可能的錯誤:背景:ssm框架+mysql(c3p0資料來源配置)

Java Scala 混合程式設計導致 編譯失敗 ,到符號問題解決

大致就是 工程裡分了 java 程式碼 和 scala 程式碼。 然後在java程式碼中 引用了 scala 的程式碼。  執行不報錯。  但是打包就是一直報錯。 [ERROR] Failed to execute goal org.apache.maven.plug

Java Web專案引入Mondrian多維分析框架

本文完全轉載自:http://www.linuxidc.com/Linux/2014-09/107008.htm 我也是初學,為了方便以後檢視,所以轉到自己部落格上了。 -------------------------------------------------------------

SpringMVC框架Java Web專案訊息傳遞的流程

這是一個servlet專案,功能是使用者填寫表單,然後後臺渲染頁面後把表單內容返回給使用者。通過這個簡單的例子理解下springmvc框架的工作原理。 springmvc概念架構 springmvc可

java WEB專案異常處理(好文章連結)

http://blog.csdn.net/luqin1988/article/details/7970455 http://blog.csdn.net/luqin1988/article/details/7970782 http://blog.csdn.net/luq

ssm框架Java web專案的啟動流程及web.xml配置檔案

一、web.xml配置檔案 專案啟動與web.xml配置檔案密不可分,web.xml配置檔案用於初始化配置資訊,包括welcome、context-param、listener、filter、filter-mapping、servlet、servlet-mapping、其他。如下

idea建立一個spring springMVC miniui框架Java web專案的經過

最近學習miniui,發現網上可查的資料太少,基本只有官方api文件,在此,記錄下最近學習的部分內容。一、安裝部署專案。    本人是在idea中進行部署的,但在此之前,具體是將網上官方的示例下載下來,匯入MyEclipse文件中首次進行學習,但是第一次將專案按照“現在已經存

JAVA web專案的no result defined for action xxxAction and result input 錯誤

No result defined for action and result input 產生這個錯誤的原因:Action中的屬性值為空的時候,Struts2的預設攔截器會報錯,但是又找不到input的Result,不能夠把錯誤返回,所以報這種錯誤。 從上面可知,能夠導致 No r

理解java web專案的路徑問題

本文以專案部署在tomcat伺服器為例,其他相信也是一樣的。 先說明請求頁面的寫法,在web中,頁面路徑主要寫的有以下幾種   1、請求重定向   2、瀏覽器的請求被伺服器請求到新頁面(我稱為“轉發”)   3、超連結   4、form表單提交的action 為了演示路徑寫法

匯入已有的Java Web專案時出現關於javax.servlet的異常時解決措施

1、Description Resource Path Location Type The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 2、Descript

java web專案dao和service前面為什麼要有介面呢??

介面提供了一個公用的方法提供方。 介面是用來規定子類的行為的。舉個例子吧 , 比如有個需求, 需要儲存客戶資訊, 有些客戶從網站來, 有些從手機客戶端來, 有些從後臺管理系統錄入, 假設不同來源的客戶有不同的處理業務流程, 這個時候我定義介面來提供一個儲存客戶的方法, 然後不同平臺實現我這個儲存客戶的介面,

Docker使用Centos映象安裝tomcat,jdk1.8部署Java web專案

1. docker pull centos獲取centos映象 2. 後臺執行centos映象並開放8080埠,window端可通過訪問80埠訪問到8080埠 docker run -itd -p 80:8080 docker.io/centos 3. 從宿主機拷貝檔

SSH框架web.xml配置

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XML

java 單例模式及在SSH框架運用

定義: 確保某一個類只有一個例項,而且自動例項化並向整個系統提供這個例項。 程式碼: Singleton類稱為單例類,通過使用private的建構函式確保了在一個應用中只產生一個例項,並且是自行例項化的。 Java程式碼   /**   * 執行緒安全的

java web專案使用百度編輯器UEditor

寬為限 緊用功 工夫到 滯塞通 目錄結構 部署包解壓後的檔案目錄結構如下所示 ueditor解壓後的目錄列表 dialogs: 彈出對話方塊對應的資源和JS檔案 lang: 編輯器國際化顯示的檔案 php或j