Servlet 接口
public interface Servlet
其实现类有: FaceServlet,GenericServlet,HttpServlet
一, 介绍
Servlet 接口定义了所有 servlet(实现该接口的类)必须实现的方法.
我们通常所说的 servlet, 是指运行在服务器上的 Java 小程序, 这里可以称为 Servlet 程序. 他们通常是通过 HTTP 协议, 从 web 客户端接收请求并做出响应.
如果要实现这个接口, 可以通过继承 GenericServlet 类创建一个通用的, 协议无关的 Servlet. 或者继承 HttpServlet 创建一个基于 HTTP 协议的 Servlet.
Servlet 接口中的方法, 有的用来初始化一个 Servlet, 有的用来服务接收到的请求, 有的用来从服务器移除一个 Servlet. 这些方法被称为生命周期方法, 他们被调用的顺序为:
1. 创建一个 Servlet, 使用 init 方法进行初始化;
2. service 方法用来处理客户的调用;
3. servlet 停止使用, 使用 destroy 方法进行销毁, 然后会进行垃圾回收和 finalized.
除了这些方法外, Servlet 接口提供的 getServletConfig 方法, 用来获得启动信息, getServletInfo 方法, 允许 Servlet 返回自身的基本信息, 如作者, 版本, 版权等.
二, 接口中的方法
1,void init(ServletConfig config) throws ServletException
这个方法被 Servlet 容器调用, 以指示一个 Servlet 正在被投入使用.
Servlet 容器在实例化 Servlet 后, 会调用这个方法一次. 在 Servlet 可以接收到任何请求前, init 方法必须成功完成.
当 init 方法出现一下情况时, Servlet 容器不能把相关的 Servlet 投入服务:
抛出一个 ServletException;
在 Web 服务器规定的时间内, 没有返回
config 对象包含了 Servlet 的配置参数和初始化参数.
2,ServletConfig getServletConfig( )
返回一个 ServletConfig 对象, 该对象包含了这个 Servlet 的初始化参数和启动参数, 而且这个 ServletConfig 对象就是被传入 init 方法中的对象.
Servlet 接口的实现类负责存储这个 ServletConfig 对象, 所以这个方法是能够成功返回的.
3,void service(ServletRequest req,ServletResponse res) throws ServletException, IOException
由 Servlet 容器调用, 使得这个 Servlet 对接收到的 request 做出响应, 并且 service 方法只有在 init 方法成功完成后才能被调用.
应的状态代码始终应该为引发或发送错误的 servlet 设置.
Servlet 通常运行在可同时处理多个请求的多线程 servlet 容器中, 开发人员必须注意同步对任何共享资源 (如文件, 网络连接以及 servlet 的类和实例变量) 的访问. 关于多线程编程的更多信息请参考 Java Tutorial 中的 muti-threaded 编程章节.
4,String getServletInfo( )
返回有关 servlet 的信息, 例如作者, 版本和版权.
该方法返回的字符串应该是纯文本而不是任何标记类型(如 html,XML 等).
5,void destroy( )
由 servlet 容器调用, 以向 servlet 指示 servlet 正在停止服务
只有在 servlet 的 service 方法内的所有线程都退出或超时后, 才会调用此方法. 而且一旦 servlet 容器调用了这个方法, 它不会再在这个 servlet 上调用其 service 方法.
来源: http://www.bubuko.com/infodetail-2562708.html