servlet程序的入口点是

Z, ZLW 651

servlet程序的入口点是service() 方法,因为它控制着servlet一切的接收功能,service()是在servlet生命周期中的服务期,默认在HttpServlet类中实现,所有的请求均首先由service()进行处理,根据HTTP请求方法(GET、POST等),将请求分发到doGet、doPost等方法实现。

一、servlet程序的入口点

servlet程序的入口点是service() 方法,因为它控制着servlet一切的接收功能。

  • service()是在servlet生命周期中的服务期,默认在HttpServlet类中实现,所有的请求均首先由service()进行处理,根据HTTP请求方法(GET、POST等),将请求分发到doGet、doPost等方法实现。
  • service()是在javax.servlet.Servlet接口中定义的,在javax.servlet.GenericServlet中实现了这个接口(其实应该说是在HttpServlet进行了实现的)。GenericServlet抽象类给出了设计servlet的一些骨架,定义了servlet生命周期还有一些得到名字、配置、初始化参数的方法,但其设计的是和应用层协议无关的。而doGet/doPost与http协议有关,是在 javax.servlet.http.HttpServlet 中实现的。

二、servlet程序的生命周期

  1. Servlet初始化阶段,这个阶段web容器会通过调用init()方法来初始化Servlet实例,并且传递一个能够实现 javax.servlet.ServletConfig 接口的对象给它。这个传递过来的配置对象(configuration object)使Servlet能够读取在web应用的web.xml文件里定义的名值(name-value)初始参数。init()方法在Servlet实例生命周期里只能调用一次。
  2. 客户端请求处理阶段,在servlet初始化后,Servlet实例开始处理客户端请求。web容器会调用Servlet的service()方法来处理所有请求。service() 方法定义了能够处理的请求类型并且调用适当方法来处理这些请求。
  3. servlet销毁阶段,这是最后阶段,web容器会调用destroy()方法来终结Servlet。这个方法与init()方法一样在Servlet的生命周期里只能调用一次。

由以上生命周期可知,最初servlet会调用init()进行初始化,然后调用service() 接受客户端请求,再调用doGet() 或者doPost()处理客户端请求,最后销毁servlet。Servlet程序的入口点其实就是service() 方法,它控制着servlet一切的接收功能,servlet的入口就是它。

回复

我来回复
  • 暂无回复内容

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部