采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,在自研框架里面,路径设置的是 /* 而在源码的项目里面设置的 / 我把源码里面的设置成/ * 后测试/headline/add,或者是直接请求jsp也是可以的,但平常在项目里面看到的web.xml,配置的几乎都是/ 想问下您的用意。
因为之前您有说过,/几乎拦截所有请求,除了精确的.jsp的请求; /会真正拦截所有请求,由它来统一分发。那为什么有时候用/ ,有时候用/
同学好,这里咱们主要是想尝试拦截并处理完所有请求,而不像spring那样把静态资源请求交给defaultServlet去处理:)
老师,我还有些一直模糊的点,麻烦你有时间的时候回复下,感谢。 1、jsp属于静态资源吗?我只知道html,js,css,图片,音频这些是静态资源; 2、自研框架里面,jsp对应的是JspServlet,默认的servlet是DefaultServlet,DefaultServlet是用来处理静态资源的。按你前面回复,我的理解是如果配置DispatcherServlet的拦截路径是 / ,Spring里面把静态资源(包括jsp)都交给DefaultServlet去处理了,而没有交给tomcat里面的jspServlet,对么? 3、我想找到您说的Spring里面defaultServlet,但是没找到,,能不能发出来下,我想debug确定下直接请求.jsp文件,到底是怎么处理,被谁给处理了。
慕哥好,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给处理
感谢老师的回复,还想问下。如果是静态资源,或者是这个jsp请求,是不是直接就被tomcat里面的servlet给处理掉了,这些请求和spring的dispatcherservlet其实并没有任何关系,对么
同学好,是的哈,相当于是转发而已
登录后可查看更多问答,登录/注册
快速入门Spring核心源码+从零开发自研框架
1.2k 12
1.1k 9
1.1k 8
1.3k 8
15.7k 8