1. 程式人生 > >Java Web學習筆記(五)

Java Web學習筆記(五)

GenertcServlet

  1. 是一個Servlet,是Servlet介面和ServletConfig介面的實現類,是一個抽象類,其中的service方法為抽象方法。
  2. 如果新建的Servlet程式直接繼承GenertcServlet會使開發更簡潔。
  3. 具體實現:
    在GenertcServlet中聲明瞭一個ServletConfig型別的成員變數,在init(ServletConfig)方法中對其進行了初始化。
    利用ServletConfig成員變數的方法實現了ServletConfig介面的方法。
    還定義了一個init()方法,在init(ServletConfig)方法中對其進行呼叫,子類可以直接覆蓋init()在其中實現對Servlet的初始化。
    不建議直接覆蓋init(ServletConfig),因為如果忘記編寫super(ServletConfig)而還使用了ServletConfig介面的方法,則會出現空指標異常。
    新建的init(){}並非Servlet的生命週期方法,而init(ServletConfig)是生命週期相關的方法。

HttpServlet

是一個Servlet,繼承自GenertcServlet,針對於HTTP協議所定製
在service()方法中直接把ServletRequest和ServletResponse轉為HttpServletRequest和HttpServletResponse,並呼叫了過載的service(HttpServletRequest,HttpServletResponse),在service(HttpServletRequest,HttpServletResponse)獲取請求方式:request.getMethod,根據請求方式建立了doXxx()方法(Xxx為具體的請求方式)
實際開發中直接繼承HttpServlet,並根據請求方式複寫doXxx()方法介面
直接由針對性的覆蓋doXxx()方法:直接使用HttpServletResponse,不再需要強轉