DispatcherServlet的路径设置问题
来源:13-1 课程总结
![](http://img1.sycdn.imooc.com/user/545865c30001a2d802200220-100-100.jpg)
慕哥6062902
2020-07-22
老师,在自研框架里面,路径设置的是 /*
而在源码的项目里面设置的 /
我把源码里面的设置成/ * 后测试/headline/add,或者是直接请求jsp也是可以的,但平常在项目里面看到的web.xml,配置的几乎都是/ 想问下您的用意。
因为之前您有说过,/几乎拦截所有请求,除了精确的.jsp的请求;
/会真正拦截所有请求,由它来统一分发。那为什么有时候用/ ,有时候用/
写回答
2回答
-
同学好,这里咱们主要是想尝试拦截并处理完所有请求,而不像spring那样把静态资源请求交给defaultServlet去处理:)
012020-07-23 -
翔仔
2020-07-23
慕哥好,jsp不属于静态资源哈,你可以看到pom.xml里有jsp相关的jar
关于JSP页面的执行,有以下几个步骤:
创建jsp页面,将jsp页面部署在tomcat/webapps目录下或者tomcat/webapps子目录下,并且启dao动服务器;
当客户在第一次请求JSP页面时JSP Engine(JSP引擎)将JSP网页转译为Servlet,生成的文件保存在tomcat/work/Catalina/localhost下;
JSPC(jspc编译器)对转译生成的Servlet编译成Servlet.class,文件和Servlet在同一个文件夹下;
由服务器访问Servlet.class并且将对应内容响应给客户
而/是优先级最低的,并且jsp servlet会动态注册到tomcat容器中,所以jsp请求会被这些servlet给处理
122020-08-17