我们如何在spring mvc中处理传入请求到错误的上下文路径?
我已经部署了一个spring context mvc应用程序,其上下文路径为
http://exampledomain.com/mycontext
但是当我尝试访问url http://exampledomain.com/wrongcontext时,我收到错误,因为HTTP状态404 - / wrongcontext /
我已经实现了错误处理,当使用正确的上下文路径时,它适用于所有错误的URL,但它不适用于错误的上下文路径。
我试图了解如何将所有传入请求重定向到生产环境中的特定页面。
提前致谢
答案 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