Servlet的执行流程

Servlet的运行过程
一、servlet的运行过程
servlet程序是web服务器调用,web服务器收到客户端的servlet访问请求后:
1、web服务器首先检查是否已经装载并创建了该servlet的实例对象。如果是,则执行第4步,否则执行第2步
2、装载并创建给servlet的一个实例对象
3、调用servlet实例对象的init()方法。
4、创建一个用于封装HTTP请求的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和和响应对象作为参数传递出去。
5、web应用程序被停止或重启之前Servlet引擎将卸载Servlet,并在卸载之前的调用Servlet的destory()方法。
在整个servlet程序中最重要的是Servelt接口,在此接口下定义了一个GenericServlet的子类,但一般不会直接继承此类,而是根据所使用的协议选项GenericServlet的子类继承。
例如:采用HTTP协议处理,所以一般而言当需要使用HTTP协议操作时用户用户自定定义的Servlet类都要继承HttpServlet类。
开发一个可以处理Http请求的Servlet类,则肯定需要继承HttpServlet类,该类提供了不同的方法用于响应客户端请求,常见的方法有:
1、doGet(HttpServletRequest req, HttpServletResponse resp)
2、doPost(HttpServletRequest req, HttpServletResponse resp)
3、service(HttpServletRequest req, HttpServletResponse resp)
在自定义的Servlet类中,根据实际需要重写HttpServlet类中提供的方法,Servlet程序本身也是按照请求响应的方式进行的,所以在方法中定义了两个参数,即HttpServletRequest ,HttpServletResponse ,用来接收和回应用户的请求。
二、浏览器访问servlet的过程容器
1、浏览器的根据客户的请求发送http给web的service()方法从requset对象中获取请求信息,并将响应信response中的响应对象的响应体中

2、web容器检查内存中是否有责任当前的servlet,如果没有,将创建当前请求的servlet对象

3、web容器创建请求对象requset和响应对象response
4、web容器调用servlet的service()方法,servlet
5、web容器读取response中的响应信息后,向请求的浏览器发送http响应
6、访问过程结束后,过程中建立的requset和response对象变成垃圾

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章