Servlet声明周期-阿里云开发者社区

开发者社区> 开发与运维> 正文

Servlet声明周期

简介:   从Tomcat处理用户请求,我们可以清晰的看到容器Servlet的生命周期管理过程:   1、客户发出请求—>Web 服务器转发到Web容器Tomcat;   2、Tomcat主线程对转发来用户的请求做出响应创建两个对象:HttpServletRequest和HttpServlet...
 

从Tomcat处理用户请求,我们可以清晰的看到容器Servlet的生命周期管理过程:
  1、客户发出请求—>Web 服务器转发到Web容器Tomcat;
  2、Tomcat主线程对转发来用户的请求做出响应创建两个对象:HttpServletRequest和HttpServletResponse;
  3、从请求中的URL中找到正确Servlet,Tomcat为其创建或者分配一个线程,同时把2创建的两个对象传递给该线程;
  4、Tomcat调用Servlet的servic()方法,根据请求参数的不同调用doGet()或者doPost()方法;
  5、假设是HTTP GET请求,doGet()方法生成静态页面,并组合到响应对象里;
  6、Servlet线程结束,Tomcat将响应对象转换为HTTP响应发回给客户,同时删除请求和响应对象。
  从该过程中,我们可以理解Servlet的生命周期:Servlet类加载(对应3步);Servlet实例化(对应3步);调用init方法(对应3步);调用service()方法(对应4、5步);调用destroy()方法(对应6步)。

 

servlet其实没有内置对象:
   response和request是service方法的参数中传过来的! 因为servlet都需要一个容器,一般像tomcat,jboss等WEB服务器! 服务器在接受到客户端的请求后做好了response和request俩个对象传给servlet. 其中response中封装的是响应信息,request中封装的是请求信息!


 1.request对象:

  客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。

  2.response对象:

  response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。

  3.session对象:

  session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例.

  4.out对象:

  out对象是JspWriter类的实例,是向客户端输出内容常用的对象

  5.page对象:

  page对象就是指向当前JSP页面本身,有点象类中的this指针,它是java.lang.Object类的实例

  6.application对象:

  application对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命。它是ServletContext类的实例。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章