乐趣区

关于spring-mvc:springmvc关于404的异常处理原理

默认 url 的话其实 springmvc 会有很多 MappingHandler 进行适配(HandlerAdapter),

像咱们通常的 RequestHandlerMappingHandler(通过 Controller 和 RequestMapping 注解定义的门路),

这时候如果咱们没有一个 requestMapping 的 url 是拜访的 url,mvc 就会匹配到一个 ResourceHttpRequestHandler(查找动态文件的处理器),

所以 mvc 这时候不会报错,然而又其实又没有对应的动态文件。

通过所有 filter 之后,会来到 tomcat 的 StandardWrapperValue 来解决前面的逻辑(实际上就是 dispatchServlet 解决,之后交由 tomcat 来解决),

tomcat 也没有找到,这时候 tomcat 就会设置一些谬误参数 javax.servlet.error.status_code 等,就会用到 tomcat 的 errorPage,属性,这里 springmvc 会本人加上 /error 门路(对应着 springmvc 的 BasicController),

而后 tomcat 会重定向到 /error,就会到 BasicController 解决

退出移动版