前面一篇学习了一个Servlet的demo例子,运行代码感受了下servlet,但是并没有解释Servlet为什么这样运行。这篇就能学习到Servlet大致的运行过程和机制。运行过程对我们理解Servlet原理有进一步帮助掌握学习好servlet。
1.时序图解Servlet的过程
2.详解Servlet运行的过程
下面对照这张图的顺序来解释下Servlet的执行过程
01) 浏览器客户端发送请求给Tomcat服务器
第一个步骤是,我们在浏览器中输入网址,就是向tomcat服务器发送了一个请求,这个请求地址是http://localhost:8080/Servlet01/demo
这个请求网址,tomcat可以解析出,我们访问的应用是Servlet01这个应用。
2) Tomcat解析出客户端访问应用是Servlet01
Tomcat根据请求的完整地址,分析出了客户端请求的应用是Servlet01,然后Tomcat就找到了Servlet01下的web.xml文件
3) Tomcat解析web.xml文件
Tomcat解析web.xml文件,根据以下标签找到servlet实例名称。
<servlet-name>servletDemo1</servlet-name>
<url-pattern>/demo</url-pattern>
根据请求地址中/demo解析到了标签<url-pattern>,然后根据<url-pattern>标签相对位子找到<servlet-name>中servlet实例名称为servletDemo1
4) 根据servlet映射关系找到servlet类
根据servlet实例名称为servletDemo1中映射关系,找到这个标签信息
<servlet>
<servlet-name>servletDemo1</servlet-name>
<servlet-class>com.anthony.servlet.ServletDemo1</servlet-class>
</servlet>
所以这里根据servlet-name标签找到servlet-class中的servler类是com.anthony.servlet.ServletDemo1
5) Tomcat调用service方法
在步骤4)中tomcat找到了servlet类是com.anthony.servlet.ServletDemo1,tomcat会自动new一个这个类的对象出来,并且自动调用对象的service方法,所以Eclipse控制台打印输出信息“Hello Servlet.”
整个时序图的过程就这样,当然这5个步骤也是简单的表面上的理解,我们需要掌握这个Servlet的运行过程。