Spring MVC:如何处理传入请求到错误的上下文路径

时间:2017-09-24 00:25:55

标签: spring spring-mvc

我们如何在spring mvc中处理传入请求到错误的上下文路径?

我已经部署了一个spring context mvc应用程序,其上下文路径为

http://exampledomain.com/mycontext

但是当我尝试访问url http://exampledomain.com/wrongcontext时,我收到错误,因为HTTP状态404 - / wrongcontext /

我已经实现了错误处理,当使用正确的上下文路径时,它适用于所有错误的URL,但它不适用于错误的上下文路径。

我试图了解如何将所有传入请求重定向到生产环境中的特定页面。

提前致谢

3 个答案:

答案 0 :(得分:0)

您的应用程序只能看到对其上下文的请求/mycontext您的应用程序无法对其他上下文的请求执行任何操作。

但是,您可以在根上下文/部署应用程序,并在那里实现错误处理程序。

查看此答案:How to customize JBoss AS7 404 page

这个答案与JBoss有关,但同样的想法将适用于其他服务器。

答案 1 :(得分:0)

我们可以在@ExceptionHandler@Controller中使用@ControllerAdvice来处理此类异常,并决定要呈现的视图页。

@ExceptionHandler({ HttpRequestMethodNotSupportedException.class,
        HttpMediaTypeNotSupportedException.class, HttpMediaTypeNotAcceptableException.class,
        MissingPathVariableException.class, MissingServletRequestParameterException.class,
        ServletRequestBindingException.class,MethodArgumentNotValidException.class, MissingServletRequestPartException.class, 
        NoHandlerFoundException.class})
    public ModelAndView handleException(){
        return new ModelAndView("errorpage");
    }

答案 2 :(得分:0)

在Spring中处理错误的上下文路径请求是不可能的,因为它只会处理发送到您的上下文根的请求。您必须查看服务器配置参数以重定向这些请求。如果您正在使用Tomcat,请检查context.xml的 path 参数: https://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Defining_a_context