我正在创建一个 Spring MVC webapp,我喜欢使用控制器等组件的自动发现。
在我的应用程序上下文文件中,我放置了以下标签
<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;
}
}
当我通过访问 localhost:8080/account.html 进行测试时,我得到一个 404,所以我一定是忘记了什么。
当我在我的 MVC 配置文件中创建自定义映射时,如下所示,它可以工作。至少,然后我得到一个关于控制器中模棱两可的方法的错误,但这是另一个问题。至少它会找到控制器。
<bean name="/account.html" class="com.example.springmvc.controller.AccountController"/>
我不想在 XML 中创建我的映射,我想使用带注释的 URL 映射。你能告诉我我在这里忘记了什么吗?