弹簧组件扫描不起作用?映射的 URL 返回 404



我正在创建一个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 映射。你能告诉我我在这里忘记了什么吗?

要启用基于注释的配置扫描,请将以下内容添加到您的 Spring 配置中:

<mvc:annotation-driven />

相关内容

  • 没有找到相关文章

最新更新