public class WebFrontController extends HandlerQueueManager<WebFrontController> implements javax.servlet.Filter
本フレームワークをTomcat/Websphere等のアプリケーションサーバ上で使用する際に、
サーブレットフィルタとしてデプロイして使用するリクエストエントリポイントである。
各HTTPリクエスト毎に下記の処理を行う。
1. HttpServletRequestオブジェクトをラップした
HttpRequest, ExecutionContext オブジェクトを生成する。
2. それらを引数としてリクエストプロセッサに処理を委譲する。
3. その結果(HttpResponseオブジェクトの内容)に従って、
HTTPクライアントに対するレスポンス処理を行う。
リクエストプロセッサの初期化処理は、本クラスのサブクラスを作成し、
オーバライドしたinit()メソッドの中で行う。
本サーブレットフィルタに処理が委譲された場合、必ずレスポンスかフォーワードを行う。
このため、後続のサーブレットフィルタチェインに処理が委譲されることは無い。
-------------------------------------
デプロイメントディスクリプタの記述例
-------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<display-name>w8</display-name>
<description>
The default application-context for w8.http-based applications.
</description>
<filter>
<filter-name>WebFrontController</filter-name>
<filter-class>
nablarch.fw.web.servlet.WebFrontController
</filter-class>
</filter>
<filter-mapping>
<filter-name>WebFrontController</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
| Constructor and Description |
|---|
WebFrontController()
デフォルトコンストラクタ
|
| Modifier and Type | Method and Description |
|---|---|
void |
destroy() |
void |
doFilter(javax.servlet.ServletRequest servletRequest,
javax.servlet.ServletResponse servletResponse,
javax.servlet.FilterChain chain) |
java.util.List<Handler> |
getHandlerQueue()
現在のハンドラキューの内容を返す。
|
javax.servlet.FilterConfig |
getServletFilterConfig()
サーブレットフィルタの設定情報を取得する。
|
void |
init(javax.servlet.FilterConfig config)
本クラスの実装では、リポジトリ上にコンポーネント"webFrontController"
が存在すれば、そのインスタンスを以降の処理で使用する。
存在しない場合は、このインスタンスをそのまま使用する。
|
void |
setPreventSessionCreation(boolean preventSessionCreation)
セッション生成を防止する機能を有効にするかどうかを設定する。
|
void |
setServletFilterConfig(javax.servlet.FilterConfig config)
サーブレットフィルタの設定情報を設定する.
|
addHandler, addHandler, addHandler, addHandler, addHandler, addHandlers, clearHandlers, getHandlerOf, getMethodBinder, setHandlerQueue, setMethodBinder@Published(tag="architect") public void doFilter(javax.servlet.ServletRequest servletRequest, javax.servlet.ServletResponse servletResponse, javax.servlet.FilterChain chain) throws javax.servlet.ServletException, java.io.IOException
本クラスの実装では、HTTPリクエスト毎に下記の処理を行う。
1. HttpServletRequestオブジェクトをラップした
HttpRequest, ExecutionContext オブジェクトを生成する。
2. それらを引数としてリクエストプロセッサに処理を委譲する。
3. その結果(HttpResponseオブジェクトの内容)に従って、
HTTPクライアントに対するレスポンス処理を行う。
doFilter in interface javax.servlet.Filterjavax.servlet.ServletExceptionjava.io.IOExceptionpublic void init(javax.servlet.FilterConfig config)
init in interface javax.servlet.Filterpublic java.util.List<Handler> getHandlerQueue()
HandlerQueueManagergetHandlerQueue in class HandlerQueueManager<WebFrontController>@Published(tag="architect") public void setServletFilterConfig(javax.servlet.FilterConfig config)
config - 設定情報public javax.servlet.FilterConfig getServletFilterConfig()
@Published(tag="architect") public void destroy()
本クラスのdestroy()メソッドでは何も行わない。
destroy in interface javax.servlet.Filterpublic void setPreventSessionCreation(boolean preventSessionCreation)
preventSessionCreation - 有効にする場合は true