上一篇Servlet的总结之后对Servlet有了一个大概的了解,一些细节还是不太清楚。Servlet是怎样被tomcat管理的,整个的流程是怎么样的?本次进行进一步的学习。
首先说在最开始接触到BS时就和CS进行比较,BS需要客户发出请求到服务器,服务器将请求处理完毕之后将结果返回给客户,当然不论什么样的语言这个是流程是不变。简单的看看一下这个流程:
说明:在java中服务一般使用的是tomcat等,他们是容器用来管理Servlet的生命周期,可以管理Servlet类的创建、方法调用、销毁等。
以上是一个简单的流程介绍,下面进一步的看Servlet的整个生命周期是什么样的
说明:
1、 客户端发出请求,会带着用户输入的内容,到tomcat服务器
2、 Tomcat首先会实例化一个request对象,可以用来携带客户端的所有信息,包括用户输入的内容、ip、sessionId等。
3、 同时创建可以携带返回结果的response对象
4、 Tomcat服务器截取客户端传来的url,确定需要实例化哪个java类
5、 实例化对应的java类(tomcat开始管理Servlet的生命周期)
6、 Servlet创建时会调用init()方法(这里就和上篇博客中的Servlet的生命周期图重合)
7、 调用HttpServlet中的Service方法
8、 通过HttpServlet中的Service方法确定调用的是Servlet中的GoGet()或者DoPost()方法
9、 获取客户端的参数
10、调用业务逻辑层的方法开始操作数据库
11、将结果返回
以上是Servlet被tomcat管理的整个生命周期的流程。在学习J2EE是指导Servlet相对于是MVC中的Controller,可以调用业务逻辑层然后将结果返回给页面显示,当时了解到的页面是从来没有使用过得JSP,但是JSP真的就是和HTML页面一样仅仅是客户端用来显示的吗?其实JSP在被编译之后也是存在于服务端的Servlet,这又是怎么实现的呢,下回分解。
小结
从一个比较模糊的概念到理论上的理解,直到对应上代码才是理解的比较清楚,果然图和代码才是程序媛的知己,继续学习吧。