通过重定向到主页来处理404错误

时间:2014-01-04 14:55:37

标签: spring-mvc

考虑让两个控制器具有/admin//client/的映射。有这样的,我想将所有错误的URL重定向到这些基本路径之一。我的意思是,如果是/admin/asdadsa,我想重定向到/admin/但是/client/fsads/client/。我怎样才能做到这一点?因为简单

<error-page>
    <error-code>404</error-code>
    <location>/error</location>
</error-page>

不会满足这样的要求。

1 个答案:

答案 0 :(得分:1)

您可以从请求中读取* javax.servlet.error.request_uri *属性,以获取导致问题的URI。下面是一个关于如何利用它的小例子。

@RequestMapping("/error")
public String error(HttpServletRequest request) {
    String contextPath = request.getContextPath();
    String Uri = (String) request.getAttribute("javax.servlet.error.request_uri");

    if (troublingUri.startsWith(contextPath + "/client/" )) {
        // client
    } else if (troublingUri.startsWith(contextPath + "/admin/" )) {
        // admin
    }
}