JAVAWEB开发实战经典PPT030904_Servlet生命周期.ppt

JAVAWEB开发实战经典PPT030904_Servlet生命周期.ppt

ID:51617496

大小:325.50 KB

页数:11页

时间:2020-03-26

JAVAWEB开发实战经典PPT030904_Servlet生命周期.ppt_第1页
JAVAWEB开发实战经典PPT030904_Servlet生命周期.ppt_第2页
JAVAWEB开发实战经典PPT030904_Servlet生命周期.ppt_第3页
JAVAWEB开发实战经典PPT030904_Servlet生命周期.ppt_第4页
JAVAWEB开发实战经典PPT030904_Servlet生命周期.ppt_第5页
资源描述:

《JAVAWEB开发实战经典PPT030904_Servlet生命周期.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、JAVAWEB开发实战经典第9章:Servlet程序开发——Servlet生命周期李兴华北京魔乐科技软件学院本章目标掌握Servlet生命周期及其对应方法掌握web.xml文件对生命周期的控制Servlet生命周期Servlet程序是运行在服务器端的一段java程序,其生命周期将受到WEB容器的控制,生命周期包括:加载程序、初始化、服务、销毁、卸载五个部分。Servlet生命周期对应的方法No.方法类型描述1publicvoidinit()throwsServletException普通Servl

2、et初始化时调用2publicvoidinit(ServletConfigconfig)throwsServletException普通Servlet初始化时调用,可以通过ServletConfig读取配置信息3publicabstractvoidservice(ServletRequestreq,ServletResponseres)throwsServletException,IOException普通Servlet服务,一般不会直接覆写此方法,而是使用doGet()或doPost()方法4p

3、ublicvoiddestroy()普通Servlet销毁时调用各个生命周期的作用加载ServletWEB容器负责加载Servlet,当WEB容器启动的时候或者是在第一次使用这个Servlet的时候,容器会负责创建Servlet实例,但是用户必须通过部署描述符(web.xml)指定Servlet的位置(Servlet所在的包.类名称),成功加载之后,WEB容器会通过反射的方式对Servlet进行实例化。初始化当一个Servlet被实例化之后,容器将调用init()方法初始化这个对象,初始化的目的是

4、为了让Servlet对象在处理客户端请求前完成一些初始化的工作,例如:建立数据库连接、读取资源文件信息等,如果初始化失败,则此Servlet将被直接卸载。处理服务当有请求提交时,Servlet将调用service()方法(常用的是doGet()或doPost())进行处理,在service()方法中,Servlet可以通过ServletRequest接收客户的请求,也可以利用ServletResponse设置响应信息。销毁当WEB容器关闭或者检测到一个Servlet要从容器中被删除时,会自动调用d

5、estroy()方法,以便让该实例释放掉所占用的资源。卸载当一个Servlet调用完destroy()方法后,此实例将等待被垃圾收集器所回收,如果需要再次使用此Servlet的时候,会重新调用init()方法初始化。换种方式理解Servlet的生命周期如果觉得Servlet生命周期不好理解的话,读者可以按照人的生命周期进行对照,每个人的一生都要经历如下步骤:孕育生命、出生、成长、死亡、销毁。生命周期——LifeCycleServlet.javapackageorg.lxh.servletdemo;

6、importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;publicclassLifeCycleServletextendsHttpServlet{//继承HttpServletpublicvoidinit()throwsServl

7、etException{//初始化操作System.out.println("**1、Servlet初始化-->init()");}publicvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,java.io.IOException{//处理服务System.out.println("**2、Servlet服务-->doGet()、doPost()");}publicvoiddoPost(H

8、ttpServletRequestreq,HttpServletResponseresp)throwsServletException,java.io.IOException{//处理服务this.doGet(req,resp);//调用doGet()}publicvoiddestroy(){//Servlet销毁System.out.println("**3、Servlet销毁-->destroy()");}}在web.xml中配置Servlet