------------------------------分割线------------------------------------------
今天看了下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处理