tomcat访问Jsp的执行过程
tomcat访问Jsp的执行过程:
这篇博文将就一下几方面进行论述(如有误,请留言指出)
1.jsp项目部署到Tomcat的过程
2.网页访问项目中jsp页面和servlet的过程
一、jsp项目部署到Tomcat
图一 (部署在Tomcat下的项目)
图二(项目的源文件)
我们可以看到图一和图二的对比
java web 和 jsp 项目中的所有文件都可以划分成两类,分别为 静态资源和动态资源。静态资源一般为存放在WebRoot下的图片、网页、样式等资源;动态资源为非WebRoot下的java文件(如 src文件加下的java文件)。
当项目部署到Tomcat下时,静态文件如图一所示--直接复制;动态文件(java文件)会由myeclipse或者eclipse本身提供的功能将其进行编译,然后在存放到WEB-INF的classes文件夹下,令所有的java文件均以.class形式存在。
但是如图二中的res/test.txt该如何处理?如图三所示,将其直接复制到classes文件夹下。
图三
总结:jsp项目的部署规则如下:
1. WebRoot下的所有资源全部复制到tomcat对应项目
2. WebRoot外的资源文件夹中的动态资源,即java文件,进行编译,在将编译后的class文件存放到tomcat项目中的WEB-INF下的classes文件夹下
3. WebRoot外的资源文件夹下的静态资源(如 res下的test.txt文件),直接将其复制到WEB-INF的classes文件夹下。
二、网页访问项目中jsp页面和servlet的过程
1.论jsp和servlet的关系
其实在开发过程中并没有jsp的存在,html代码都必须在servlet的内置对象out中书写。因此每个以servlet形式存在的页面都必须要在xml文件中配置,进而延长了开发周期,jsp的出现较好的解决了这一问题。每个jsp页面实质上都是一个servlet,tomcat本身会把jsp页面对应的url映射到某个特定的xml文件中,而非项目中WEB-INF下的web.xml文件。
图四
项目中的index.jsp页面编译后形成的两个文件,如图四所示。
2.网页请求过程
当在地址栏输入我们要访问的jsp页面时,该请求会和tomcat下那个特定的用来映射jsp页面和url信息的xml文件(不是WEB-INF下的web.xml文件)进行匹配。匹配成功后进行相应的跳转。
当在地址栏输入我们要访问的serlvet时,该请求和WEB-INF下的web.xml文件进行匹配。匹配成功后,进行相应的跳转。
忘记从哪里转载了,果断时间再消化这块儿。