1.浏览器发出请求:http://localhost:8080/ContextTest/stest
2.解析请求协议
http协议
localhost:定位到服务器
8080:定位到服务器上在8080端口等待的程序(tomcat服务器)
3:找到Tomcat根目录/conf/servce.xml文件
解析servce.xml文件:
<Context docBase="项目的位置(webapp)" path="ContextTest" />
判断获取获取path元素为ContextTest属性的 docBase值
若找不到则:404
找到:得到docBase属性,获取当前访问web项目的根的绝对路径。
4.从项目的WEB-INF下找到web.xml文件
通过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方法中对浏览器做出响应。
网友评论