servlet的请求流程

1.浏览器发出请求:http://localhost:8080/ContextTest/stest

2.解析请求协议

http协议

localhost:定位到服务器

8080:定位到服务器上在8080端口等待的程序(tomcat服务器)

3:找到Tomcat根目录/conf/servce.xml文件

解析servce.xml文件:

                       

判断获取获取path元素为ContextTest属性的 docBase值

若找不到则:404

找到:得到docBase属性,获取当前访问web项目的根的绝对路径。

4.从项目的WEB-INF下找到web.xml文件


servlet的请求流程_第1张图片

通过url-pattern属性找到servlet-class(servlet类的全限定名称)tt.TestServlet2

找不到则404

5:判断servlet缓存池中是否有tt.TestServlet2的对象

有则

没有进入6

6:使用反射调用构造器,创建对象

obj=Class.forName("tt.TestServlet2").newInstance();

把当前servlet对象放入缓存池中,供下次使用。

7:创建ServletConfig对象,并调用init()方法。

object.init(ServletConfig);

8:创建ServletQuest对象和ServletRequese对象,并调用service方法。

9:在service方法中对浏览器做出响应。

你可能感兴趣的:(servlet的请求流程)