|
|
1.基礎となるクラスについて
★ 試験では、任意のメソッドがどのインタフェースまたはクラスで定義されているのかが出題される模様。
★ 各インタフェース・クラスのserviceメソッドについても押さえておいた方がよい。
(1) Servletインタフェース(public interface Servlet)
全てのサーブレットが実装しなければならないメソッドが定義されている。
| init |
public void init(ServletConfig config) throws ServletException
servletがインスタンス化される際に、servletコンテナが1度だけ実行するメソッド。
initメソッドが正常終了して初めて、リクエストを受け付けられるようになる。
例外発生やタイムアウト時には、サービスの起動は失敗する。
|
| getServletConfig |
public ServletConfig getServletConfig()
servletの初期値や起動時のパラメータが含まれている。
servletコンテナが使用?
このメソッドを用いて取得したServletConfigオブジェクトを用いてinitメソッドを実行する。
|
| service |
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException
リクエスト時に、servletコンテナが実行。
リクエストを受け付け、またレスポンスを返すメソッド。
initメソッドが正常終了していないと実行されない。
|
| getServletInfo |
public String getServletInfo()
作者、バージョン、著作権といったServletに関する情報を返す。
|
| destroy |
public void destroy()
サービス停止時に、servletコンテナが1回実行する。
destroyメソッド終了後、serviceメソッドが実行されることはない。
|
(2) ServletConfigインタフェース(public interface ServletConfig)
Servlet コンテナが利用するServletの設定オブジェクト。
| getServletName |
public String getServletName()
|
| getServletContext |
public ServletContext getServletContext()
|
| getInitParameter |
public String getInitParameter(String name)
|
| getInitParameterNames |
public Enumeration getInitParameterNames()
|
(3) GenericServletクラス(public abstract class GenericServlet extends Object implements Servlet, ServletConfig, Serializable)
プロトコルに依存しないservletを作成する場合は、このクラスを拡張して使用する。
下表のメソッド意外に、ServletインタフェースおよびServletConfigインタフェースから継承したメソッドもある。
| init |
public void init() throws ServletException
public void init(ServletConfig config) throws ServletException
|
| getServletContext |
public ServletContext getServletContext()
|
| getInitParameter |
public String getInitParameter(String name)
|
| getInitParameterNames |
public Enumeration getInitParameterNames()
|
(4) HttpServletクラス(public abstract class HttpServlet extends GenericServlet implements Serializable)
HTTPプロトコルを使用したリクエストを行う場合は、このクラスを拡張してservletを作成する。
下表のメソッド意外に、GenericServlet抽象クラスから継承したメソッドもある。
| doDelete |
protected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
ServletにDELETEリクエストを処理可能にさせるため、(serviceメソッド経由で)サーバによって呼び出される。
DELETEオペレーションによって、クライアントがサーバ上のドキュメントもしくWebページを削除させることが可能となる。
|
| doGet |
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
ServletにGETリクエストを処理可能にさせるため、(serviceメソッドを通じて)サーバによって呼び出される。
|
| doHead |
protected void doHead(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
|
| doOptions |
protected void doOptions(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
|
| doPost |
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
|
| doPut |
protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
|
| doTrace |
protected void doTrace(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
|
| getLastModified |
protected long getLastModified(HttpServletRequest req)
|
| service |
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException
|
|
|