容器要加载类、调用servlet的无参构造函数,并调用servlet的init()方法,从而初始化servlet。
init()方法(开发可覆盖)在servlet一生中只调用一次,往往在servlet为客户提供服务之前调用。
init()方法使servlet可以访问ServletConfig和ServletContext对象,servlet需要从这些对象得到有关servlet配置和web应用的信息。
容器通过调用servlet的destroy()方法来结束servlet的生命。
servlet一生大多数时间都是在为某个客户请求运行service()方法。
对servlet的每个请求都在一个单独线程中运行!任何特定servlet类都只有一个实例。
你的servlet一般都会扩展javax.servlet.http.HttpServlet,并由此继承service()方法的一个实现,它取一个HttpServletRequest和一个HttpServletResponse作为参数。
HttpServlet扩展了javax.servlet.GenericServlet,这是一个抽象类,实现了大多数基本的servlet方法。
GenericServlet实现了Servlet接口。
Servlet相关的类(除了与JSP有关的类)都在以下两个包中:javax.servlet和javax.servlet.http。
可以覆盖init()方法,而且必须覆盖一个服务方法(doGet()、doPost()等)
ServletAPI UML图
[img]http://benlee.iteye.com/upload/picture/pic/36275/99792cc8-9508-3955-b2ed-fc33ddb578c3.gif[/img]
init()方法(开发可覆盖)在servlet一生中只调用一次,往往在servlet为客户提供服务之前调用。
init()方法使servlet可以访问ServletConfig和ServletContext对象,servlet需要从这些对象得到有关servlet配置和web应用的信息。
容器通过调用servlet的destroy()方法来结束servlet的生命。
servlet一生大多数时间都是在为某个客户请求运行service()方法。
对servlet的每个请求都在一个单独线程中运行!任何特定servlet类都只有一个实例。
你的servlet一般都会扩展javax.servlet.http.HttpServlet,并由此继承service()方法的一个实现,它取一个HttpServletRequest和一个HttpServletResponse作为参数。
HttpServlet扩展了javax.servlet.GenericServlet,这是一个抽象类,实现了大多数基本的servlet方法。
GenericServlet实现了Servlet接口。
Servlet相关的类(除了与JSP有关的类)都在以下两个包中:javax.servlet和javax.servlet.http。
可以覆盖init()方法,而且必须覆盖一个服务方法(doGet()、doPost()等)
ServletAPI UML图
[img]http://benlee.iteye.com/upload/picture/pic/36275/99792cc8-9508-3955-b2ed-fc33ddb578c3.gif[/img]