2013-03-15 69 views
0

我有一個非常惱人的問題...我還沒有定義的控制器處理程序映射,因此我使用DefaultAnnotationHandlerMapping類。我的問題似乎與控制器bean名稱映射到Controller類有關,例如Spring MVC的註釋控制器沒有找到

傳入請求調度 - >的index.htm

用下面的控制器類:

@Controller 
public class IndexController { 
    @RequestMapping(value = "/index.htm", method = RequestMethod.GET) 
    public String loginForm(ModelMap model) { 
     return "index"; 
    } 
} 

應該映射的index.htm到indexController的Bean,然後到的IndexController類。我可以從春天已經註冊與容器豆,但是我得到以下錯誤日誌中看到:

org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [xxx.controller.IndexController] 

我肯定知道的類存在(因爲豆的名字來源於它)。

奇怪的是,如果我的名字我的控制器一樣的bean的名稱(例如indexController的)一切都很好! (很明顯,我不希望我的班有較低的情況下,第一個字母!)

只是要注意,我用我的調度員servlet.xml中如下:

<mvc:annotation-driven /> 
<context:component-scan base-package="xxx" /> 

JLove

回答

2

此錯誤通常意味着你的類並沒有在戰爭中的文件中已經捆綁在一起。解壓縮戰爭文件並檢查您的課程是否包含正確。

我懷疑你成功捆綁「indexController.class」在某個時候,但在此之前的包裝嘗試均以失敗告終。您還沒有指出如何打包您的應用程序,請檢查您的Maven/Ant配置,如果您使用其中的一種。注意在IDE和構建腳本之間共享構建目錄,因爲它們偶爾會相互衝突。

+0

謝謝...我認爲,這個問題是與Netbeans中使用的熱部署做。因爲我只改變了類名的情況,我認爲它不相信文件已經改變。我清理了我的項目並重新部署,一切都很好! – JLove 2013-03-15 12:30:29

+0

很高興幫助! – seanhodges 2013-03-15 17:38:09

-1

我建議你下載STS,並創造新的Spring MVC項目模板,看,春季3 MVC是如何工作的。

+0

我明白與Spring MVC的使用原則......我要求獲得具體的幫助。 – JLove 2013-03-15 12:26:41

相關問題