笔记—什么是servlet,以及它的生命周期

          最近一年都在用flex,时间久了对servlet变的模糊了,所以网上搜些资料顺便做笔记吧!

          在Web容器启动后,会读取Servlet设置信息,将Servlet类加载并实例化,并为每个Servlet设置信息产生一个ServletConfig对象,而后调用Servlet接口的init()方法,并将产生的ServletConfig对象当作参数传入

Servlet是一个接口,位于 javax.servlet.Servlet,它规定了每个Servlet所必须实现的方法。

笔记—什么是servlet,以及它的生命周期_第1张图片

1.init方法用于初始化,在Servlet启动时调用。

2.service方法,Servlet通过这个方法,从req获得客户端请求,处理并生成结果,再通过res发送给客户端。每一次请求来到容器时,会产生HttpServletRequest与HttpServletResponse对象,并在调用service()方法时当作参数传入。

3.destory方法,Servlet销毁时执行的方法。

4.getServletInfo将Servlet的信息通过字符串返回。

5.获取包含Servlet各种信息的ServletConfig对象。

ServletConfig接口

 

         从一个servlet被实例化后,对任何客户端在任何时候访问有效。一个servlet的ServletConfig对象不能被另一方面个servlet访问。也就是说,在本servlet声明后的ServletConfig只能在本servlet内被访问,属于内部持久有效的变量。

笔记—什么是servlet,以及它的生命周期_第2张图片

 

GenericServlet 抽象类

         主要的目的,就是将初始Servlet调用init()方法传入的ServletConfig封装起来,它在实现Servlet的init()方法时,也调用了另一个无参数的init()方法,在编写Servlet时,如果有一些初始时所要运行的动作,可以重新定义这个无参数的init()方法,而不是直接重新定义有ServletConfig参数的init()方法。

     当有一些对象实例化后所要运行的操作,必须定义构造器。在编写Servlet时,若想要运行与web应用程序资源相关的初始化动作,则要重新定义init()方法。举例来说,若想要使用ServletConfig来作一些事情,则不能在构造器中定义,因为实例化Servlet时,容器还没有调用init()方法传入ServletConfig,所以不会有ServletConfig实例。

     GenericServlet也包括了Servlet与ServletConfig所定义方法的简单实现,实现内容主要是通过ServletConfig来取得一些相关信息

 


 

你可能感兴趣的:(java,web)