概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## info.dragonlady.scriptlet
クラス SecureServlet

    java.lang.Object
      javax.servlet.GenericServlet
          javax.servlet.http.HttpServlet
              info.dragonlady.scriptlet.SecureServlet

すべての実装されたインタフェース:
  java.io.Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

    public class SecureServlet

extends javax.servlet.http.HttpServlet

処理シーケンスの妥当性検証を実装した、javax.servlet.http.HttpServletの継承クラスです。 Scriptletクラスの基底クラスで、このクラスを直接継承することはありません。

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

フィールドの概要
`protected java.lang.String` | `charset`
`protected java.lang.String` | `contentType`
`static int` | `CONTEXT_ACCESS_SEQUENCE`
`static int` | `CORRECT_SEQUENCE`
`protected DBAccesser` | `dbaccesser`
`protected java.lang.String` | `dbConfigPath`
`protected java.lang.String` | `defaultScriptClassName`
`protected java.lang.String` | `extendName`
`static int` | `IGNORE_SEQUENCE`
`static int` | `INVALID_SEQUENCE`
`protected java.lang.String` | `scriptletPath`
`protected static java.lang.String` | `SEQUENCE_KEY`
`protected int` | `sequenceId`
`protected static java.lang.String` | `SITEMAP_KEY`
`protected java.lang.String` | `sitemapPath`
`protected org.w3c.dom.Document` | `sitemapXML`
`static java.lang.String` | `WILD_CARD_SEQUENCE`

コンストラクタの概要
`SecureServlet()`

メソッドの概要
`protected Scriptlet` | `buildScriptlet()` Scriptletを解決します。
`protected boolean` | `checkSitemap(java.lang.String sessionSeqVal, java.lang.String sequenceValue)` サイトマップXMLにてシーケンスの検証を行なう
`protected java.lang.String` | `getCharSet()` HttpServletResponse#setContentTypeに指定する、 CharSetの値を応答します。
`protected java.lang.String` | `getContentType()` HttpServletResponse#setContentTypeに指定する、 ContentTypeの値を応答します。
`DBAccesser` | `getDBAccessObject()`
`protected java.lang.String` | `getFingerprintForSequence()` 遷移画面でのシーケンス検証のため自分自身のフィンガープリントを作成する。
`java.lang.String` | `getInitSequence()` 初期シーケンス（Scriptlet）のverifySequence()にて、 チェックする文字列を応答する。
`protected java.lang.String` | `getRelativePath()` 相対パスを取得する。
`javax.servlet.http.HttpServletRequest` | `getRequest()` HttpServletRequestクラスのインスタンスを応答します。
`javax.servlet.http.HttpServletResponse` | `getResponse()` HttpServletResponseクラスのインスタンスを応答します。
`java.lang.String` | `getScriptExtName()` 設定ファイルに指定した、スクリプトレットの拡張子を応答する。
`java.lang.String` | `getScriptletPath()` スクリプトレットのパスを取得します。
`protected java.lang.String` | `getSequence()` 現在設定されているシーケンスオブジェクトを取得する関数
`javax.servlet.http.HttpSession` | `getSession()` HttpSessionクラスのインスタンスを応答します。
`protected void` | `initialize()`
`protected void` | `service(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)` `HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)`
`void` | `setCharSet(java.lang.String code)` 文字コードを変更します。
`void` | `setContentType(java.lang.String type)` コンテントタイプを変更します。
`protected void` | `setSequence()` 次のシーケンスに移行した際、正しいシーケンスであるためのフィンガープリントを設定します。
`protected void` | `setupDBObject()`
`protected void` | `setupSiteMap()` サイトマップXMLを解析します。
`boolean` | `useDBObject()` DBアクセスオブジェクトが利用可能か検証する。
`protected int` | `verifySequence()` 正当なシーケンスで要求されているか検証します。

クラス javax.servlet.http.HttpServlet から継承されたメソッド
`doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service`

クラス javax.servlet.GenericServlet から継承されたメソッド
`destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, init, log, log`

クラス java.lang.Object から継承されたメソッド
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

フィールドの詳細

### SEQUENCE_KEY

    protected static final java.lang.String SEQUENCE_KEY

関連項目:
  定数フィールド値

### SITEMAP_KEY

    protected static final java.lang.String SITEMAP_KEY

関連項目:
  定数フィールド値

### sequenceId

    protected int sequenceId

### charset

    protected java.lang.String charset

### contentType

    protected java.lang.String contentType

### scriptletPath

    protected java.lang.String scriptletPath

### sitemapPath

    protected java.lang.String sitemapPath

### dbConfigPath

    protected java.lang.String dbConfigPath

### sitemapXML

    protected org.w3c.dom.Document sitemapXML

### defaultScriptClassName

    protected java.lang.String defaultScriptClassName

### dbaccesser

    protected DBAccesser dbaccesser

### extendName

    protected java.lang.String extendName

### CORRECT_SEQUENCE

    public static final int CORRECT_SEQUENCE

関連項目:
  定数フィールド値

### CONTEXT_ACCESS_SEQUENCE

    public static final int CONTEXT_ACCESS_SEQUENCE

関連項目:
  定数フィールド値

### IGNORE_SEQUENCE

    public static final int IGNORE_SEQUENCE

関連項目:
  定数フィールド値

### INVALID_SEQUENCE

    public static final int INVALID_SEQUENCE

関連項目:
  定数フィールド値

### WILD_CARD_SEQUENCE

    public static final java.lang.String WILD_CARD_SEQUENCE

関連項目:
  定数フィールド値

コンストラクタの詳細

### SecureServlet

    public SecureServlet()

メソッドの詳細

### setupSiteMap

    protected void setupSiteMap()
                         throws SystemErrorException

  サイトマップXMLを解析します。

  例外:
    `SystemErrorException`

### setupDBObject

    protected void setupDBObject()
                          throws SystemErrorException

  例外:
    `SystemErrorException`

### useDBObject

    public boolean useDBObject()

  DBアクセスオブジェクトが利用可能か検証する。

  戻り値:

### getDBAccessObject

    public DBAccesser getDBAccessObject()

### initialize

    protected void initialize()
                       throws IllegalAccessException,
                              SystemErrorException

  例外:
    `IllegalAccessException`
    `SystemErrorException`

### buildScriptlet

    protected Scriptlet buildScriptlet()
                                throws SystemErrorException,
                                       java.lang.ClassNotFoundException,
                                       java.lang.InstantiationException,
                                       java.lang.IllegalAccessException

  Scriptletを解決します。

  戻り値:
  例外:
    `SystemErrorException`
    `java.lang.ClassNotFoundException`
    `IllegalAccessException`
    `java.lang.InstantiationException`
    `java.lang.IllegalAccessException`

### service

    protected final void service(javax.servlet.http.HttpServletRequest req,
                                 javax.servlet.http.HttpServletResponse res)
                          throws java.io.IOException,
                                 javax.servlet.ServletException

  `HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)`

  オーバーライド:
    クラス `javax.servlet.http.HttpServlet` 内の `service`
  例外:
    `java.io.IOException`
    `javax.servlet.ServletException`

### checkSitemap

    protected boolean checkSitemap(java.lang.String sessionSeqVal,
                                   java.lang.String sequenceValue)

  サイトマップXMLにてシーケンスの検証を行なう

  パラメータ:
    `sessionSeqVal` -
    `sequenceValue` -
  戻り値:

### verifySequence

    protected int verifySequence()
                          throws IllegalAccessException

  正当なシーケンスで要求されているか検証します。 デフォルト実装では、初期状態か処理系かの判別しか行いません。 シーケンスを拡張する場合、オーバーライドして実装してください。

  パラメータ:
    `servlet` -
  戻り値:
  例外:
    `IllegalAccessException`

### setSequence

    protected void setSequence()

  次のシーケンスに移行した際、正しいシーケンスであるためのフィンガープリントを設定します。 デフォルトでは、クラス名＋serialVersionUIDをセッションに追加する。

  パラメータ:
    `servlet` -

### getSequence

    protected java.lang.String getSequence()

  現在設定されているシーケンスオブジェクトを取得する関数

### getFingerprintForSequence

    protected java.lang.String getFingerprintForSequence()

  遷移画面でのシーケンス検証のため自分自身のフィンガープリントを作成する。

  戻り値:

### getRelativePath

    protected java.lang.String getRelativePath()

  相対パスを取得する。

  戻り値:

### getInitSequence

    public java.lang.String getInitSequence()
                                     throws IllegalAccessException

  初期シーケンス（Scriptlet）のverifySequence()にて、 チェックする文字列を応答する。

  戻り値:
  例外:
    `IllegalAccessException`

### getSession

    public javax.servlet.http.HttpSession getSession()

  HttpSessionクラスのインスタンスを応答します。

### getRequest

    public javax.servlet.http.HttpServletRequest getRequest()

  HttpServletRequestクラスのインスタンスを応答します。

### getResponse

    public javax.servlet.http.HttpServletResponse getResponse()

  HttpServletResponseクラスのインスタンスを応答します。

### getCharSet

    protected java.lang.String getCharSet()

  HttpServletResponse#setContentTypeに指定する、
  CharSetの値を応答します。
  デフォルトはShift-jisです。変更したい場合はオーバーライド

### setCharSet

    public void setCharSet(java.lang.String code)

  文字コードを変更します。

  パラメータ:
    `code` -

### getScriptletPath

    public java.lang.String getScriptletPath()

  スクリプトレットのパスを取得します。 オーバーライドすることで、任意のパス構成を構築できます。 例）getScriptletPath(String any)でオーバーロードしてanyをsuper#getScriptletPathに付加する

  戻り値:

### getContentType

    protected java.lang.String getContentType()

  HttpServletResponse#setContentTypeに指定する、
  ContentTypeの値を応答します。
  デフォルトはtext/htmlです。変更したい場合はオーバーライド

### setContentType

    public void setContentType(java.lang.String type)

  コンテントタイプを変更します。（デフォルトはtext/html）

  パラメータ:
    `type` -

### getScriptExtName

    public java.lang.String getScriptExtName()

  設定ファイルに指定した、スクリプトレットの拡張子を応答する。

  戻り値:

概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド