• Java EE javax.servlet中的Servlet接口


     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方法。

     

     

     

  • 相关阅读:
    IoC在ASP.NET Web API中的应用
    Web API 异常处理
    WEB API Filter的使用以及执行顺序
    WebAPI2使用Autofac实现IOC属性注入完美解决方案
    Web API 源码剖析之默认配置(HttpConfiguration)
    Web API 源码剖析之默认消息处理程序链之路由分发器(HttpRoutingDispatcher)
    Web API源码剖析之HttpServer
    Web API 源码剖析之全局配置
    初步认识AutoMapper
    Linux中ctrl+z 、ctrl+c、 ctrl+d差别
  • 原文地址:https://www.cnblogs.com/bigbigbigo/p/8836699.html
Copyright © 2020-2023  润新知