我们知道在正常情况下,web项目下的WEB-INF目录下有个web.xml文件,请求到服务器时,服务器会找到 web.xml文进行解析,查找资源路径对应的资源,如果可以找到则正常实例化 Servlet 并调用相关的方法。如果找不到资源则返回 404。
而注解@WebServlet的作用和 web.xml文件的作用相同。请问下,使用注解的方式映射url-pattern,那么当请求过来了,服务器是怎么找到请求资源的呢?因为这时候已经没有 web.xml 文件了。
应该是先到拦截器,在里面会逐个找有@WebServlet这个注解的方法逐一匹配上面的路径是否与过来的路径是否一致,一致就调用。