easyaction
クラス ActionServlet

java.lang.Object
  上位を拡張 javax.servlet.GenericServlet
      上位を拡張 javax.servlet.http.HttpServlet
          上位を拡張 easyaction.ActionServlet
すべての実装されたインタフェース:
java.io.Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

public class ActionServlet
extends javax.servlet.http.HttpServlet

ブラウザからの唯一の受付窓口サーブレットです。 このサーブレットから該当するActionクラスを呼び出します。
その方法は,例えば,jsp等からリクエストされたサーブレットパスがloginSubmit.doのとき,LoginSubmitActionが Actionの実装クラスとなります。よって,LoginSubmitActionクラスをeasyaction.Actionクラスをextendsして, 実装しなければなりません。このしくみにより設定ファイルが不要となっています。

作成者:
hyamag
関連項目:
直列化された形式

フィールドの概要
private  ActionServletInit _actionServletInit
          init処理やdestroy処理をするためのオブジェクト
 
コンストラクタの概要
ActionServlet()
           
 
メソッドの概要
private  Action createAction(java.lang.String servletPath)
          サーブレットパスから,対応するActionクラスのインスタンスを生成して返します。
private  ActionServletInit createActionServletInit()
          ActionServletInitクラスを生成します。
 void destroy()
           
protected  void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
           
protected  void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
           
 void init(javax.servlet.ServletConfig servletConfig)
           
 void process(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          ブラウザからのリクエストに答える処理です。
private  java.lang.String searchClassPath(java.lang.String searchDirectory, java.lang.String className)
          指定したディレクトリから指定したクラスを探索し,そのクラスの存在するディレクトリの絶対パスを返します。
 
クラス javax.servlet.http.HttpServlet から継承されたメソッド
doDelete, doHead, doOptions, doPut, doTrace, getLastModified, service, service
 
クラス javax.servlet.GenericServlet から継承されたメソッド
getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

_actionServletInit

private ActionServletInit _actionServletInit
init処理やdestroy処理をするためのオブジェクト

コンストラクタの詳細

ActionServlet

public ActionServlet()
メソッドの詳細

init

public void init(javax.servlet.ServletConfig servletConfig)
          throws javax.servlet.ServletException
定義:
インタフェース javax.servlet.Servlet 内の init
オーバーライド:
クラス javax.servlet.GenericServlet 内の init
例外:
javax.servlet.ServletException

destroy

public void destroy()
定義:
インタフェース javax.servlet.Servlet 内の destroy
オーバーライド:
クラス javax.servlet.GenericServlet 内の destroy

doPost

protected void doPost(javax.servlet.http.HttpServletRequest request,
                      javax.servlet.http.HttpServletResponse response)
               throws javax.servlet.ServletException,
                      java.io.IOException
オーバーライド:
クラス javax.servlet.http.HttpServlet 内の doPost
例外:
javax.servlet.ServletException
java.io.IOException

doGet

protected void doGet(javax.servlet.http.HttpServletRequest request,
                     javax.servlet.http.HttpServletResponse response)
              throws javax.servlet.ServletException,
                     java.io.IOException
オーバーライド:
クラス javax.servlet.http.HttpServlet 内の doGet
例外:
javax.servlet.ServletException
java.io.IOException

process

public void process(javax.servlet.http.HttpServletRequest request,
                    javax.servlet.http.HttpServletResponse response)
             throws javax.servlet.ServletException,
                    java.io.IOException
ブラウザからのリクエストに答える処理です。サーブレットパスから該当するActionクラスを選択して生成し, そして実行および次ページへフォワードします。
文字エンコーディングの指定はweb.xmlで <param-value>Windows-31J</param-value> のようにしてください。

パラメータ:
request -
response -
例外:
javax.servlet.ServletException
java.io.IOException

createAction

private Action createAction(java.lang.String servletPath)
サーブレットパスから,対応するActionクラスのインスタンスを生成して返します。 例えば,「loginSubmit.do」というサーブレットパスから 「パッケージ.LoginSubmitAction.class」 を探し出し,リフレクションを利用してインスタンスを生成して返します。

パラメータ:
servletPath - サーブレットパス
戻り値:
サーブレットパスに対応する,Actionクラスのインスタンス,失敗したときnull

createActionServletInit

private ActionServletInit createActionServletInit()
ActionServletInitクラスを生成します。生成するかしないかの判断はweb.xmlのinit-paramの actionServletInitClassNameが存在するかしないかで決まります。存在するときはactionServletInitClassName の値のクラスのインスタンスを生成し返します。

戻り値:
ActionServletInitクラスのインスタンス,生成しないときおよび失敗したときnull

searchClassPath

private java.lang.String searchClassPath(java.lang.String searchDirectory,
                                         java.lang.String className)
指定したディレクトリから指定したクラスを探索し,そのクラスの存在するディレクトリの絶対パスを返します。

パラメータ:
searchDirectory - 探索するディレクトリ(絶対パス)
className - 探索するクラス(.classはつけない)
戻り値:
クラスファイルの存在するディレクトリの絶対パス(クラスファイル名は含まない),存在しない場合null