1
我正在創建一個Spring MVC Web應用程序,我喜歡使用控制器等組件的自動發現。Spring組件掃描不起作用?映射的URL返回404
在我的應用程序上下文文件,我把下面的標籤
<context:component-scan base-package="com.example" />
有一個存在於com.example.springmvc.controller
@Controller
public class AccountController {
@RequestMapping("/account.html")
public ModelMap showAccount() throws Exception {
ModelMap modelMap = new ModelMap();
modelMap.addAttribute("someText", "This is an account");
return modelMap;
}
@RequestMapping("/account.html")
public ModelMap showAccount(@RequestParam("accountId") int accountId) throws Exception {
ModelMap modelMap = new ModelMap();
modelMap.addAttribute("someText", String.format("This is an account with id %d", accountId));
return modelMap;
}
}
當我轉到本地主機測試控制器: 8080/account.html我得到一個404,所以我必須忘記一些東西。
當我創建一個自定義映射在我的MVC配置文件,如下所示,比它的工作。至少,那麼我會在控制器中遇到一些有關隱形方法的錯誤,但這是另一個問題。至少它找到了控制器。
<bean name="/account.html" class="com.example.springmvc.controller.AccountController"/>
我不想在XML創建我的映射,我想用註釋的URL映射。你能告訴我我在這裏忘了什麼嗎?
感謝阿龍,這個工程。 此外,要annyone閱讀:確保你有一個日誌框架,如log4j設置,以便您可以在應用程序啓動時看到發生了什麼。我在啓動我的應用程序時遇到了「SEVERE:Error listenerStart」錯誤,並且在配置log4j後我才發現問題所在。看起來,我第一次在我的applicationcontext文件中沒有正確的xsi:schemaLocation =值,所以沒有正確加載mvc XSD。其次,我的控制器中有一個錯誤的方法映射,導致應用程序無法正常啓動。 – Julius 2012-07-09 00:22:33