トップページ
SJC-WC(310-081)
サーブレットの基礎
サーブレット
テクノロジーモデル
Webアプリケーションの
構造と配備
Webコンテナモデル
セッション管理
Webアプリケーションの
セキュリティ
JSPテクノロジーモデル
式言語(EL)を使用した
JSPの構築
標準アクションを使用した
JSPの構築
タグライブラリを使用した
JSPページの構築
カスタムタグライブラリの
構築
J2EEパターン

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