Spring mvc:不调用Controller方法

时间:2016-12-27 10:40:56

标签: java spring-mvc

我正在使用Spring MVC,我在控制器中有以下方法:

@RequestMapping(value = {"/web", "/web/"})
public void redirectToIndexUi(HttpServletRequest request, HttpServletResponse response) {
    try {
        //some condition
        response.sendRedirect(request.getContextPath() + "/ui/index.html");

    } catch (IOException ex) {
        LOGGER.error("IOException is thrown while trying to redirect to index.html page.", ex);
    }
}

当用户输入以下url http://localhost:8080/myapp/web/时,会调用redirectToIndexUi方法,但在这种情况下http://localhost:8080/myapp/web/index.html不会调用redirectToIndexUi方法。可能是什么原因?

1 个答案:

答案 0 :(得分:2)

您的控制器未被调用的原因是您的映射。您将控制器方法映射到URI express.static而不是app.use(express.static(path.join(__dirname, 'public/data'), { dotfiles: 'allow' }));

您可以使用'/web'之类的通配符将每个请求指向/ web /,以使用您的控制器方法。因此,只要您的请求遇到与'/web/index.html'类似的任何内容,就会调用您的方法。