Package nablarch.fw.web.servlet
Class WebFrontController
- All Implemented Interfaces:
jakarta.servlet.Filter
public class WebFrontController
extends HandlerQueueManager<WebFrontController>
implements jakarta.servlet.Filter
アプリケーションサーバにデプロイして使用するリクエストコントローラ。
本フレームワークをTomcat/Websphere等のアプリケーションサーバ上で使用する際に、
サーブレットフィルタとしてデプロイして使用するリクエストエントリポイントである。
各HTTPリクエスト毎に下記の処理を行う。
1. HttpServletRequestオブジェクトをラップした
HttpRequest, ExecutionContext オブジェクトを生成する。
2. それらを引数としてリクエストプロセッサに処理を委譲する。
3. その結果(HttpResponseオブジェクトの内容)に従って、
HTTPクライアントに対するレスポンス処理を行う。
リクエストプロセッサの初期化処理は、本クラスのサブクラスを作成し、
オーバライドしたinit()メソッドの中で行う。
本サーブレットフィルタに処理が委譲された場合、必ずレスポンスかフォーワードを行う。
このため、後続のサーブレットフィルタチェインに処理が委譲されることは無い。
-------------------------------------
デプロイメントディスクリプタの記述例
-------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"
version="6.0">
<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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddestroy()voiddoFilter(jakarta.servlet.ServletRequest servletRequest, jakarta.servlet.ServletResponse servletResponse, jakarta.servlet.FilterChain chain) 現在のハンドラキューの内容を返す。jakarta.servlet.FilterConfigサーブレットフィルタの設定情報を取得する。voidinit(jakarta.servlet.FilterConfig config) 本クラスの実装では、リポジトリ上にコンポーネント"webFrontController" が存在すれば、そのインスタンスを以降の処理で使用する。 存在しない場合は、このインスタンスをそのまま使用する。voidsetPreventSessionCreation(boolean preventSessionCreation) セッション生成を防止する機能を有効にするかどうかを設定する。voidsetServletFilterConfig(jakarta.servlet.FilterConfig config) サーブレットフィルタの設定情報を設定する.Methods inherited from class nablarch.fw.HandlerQueueManager
addHandler, addHandler, addHandler, addHandler, addHandler, addHandlers, clearHandlers, getHandlerOf, getMethodBinder, setHandlerQueue, setMethodBinder
-
Constructor Details
-
WebFrontController
public WebFrontController()デフォルトコンストラクタ
-
-
Method Details
-
doFilter
@Published(tag="architect") public void doFilter(jakarta.servlet.ServletRequest servletRequest, jakarta.servlet.ServletResponse servletResponse, jakarta.servlet.FilterChain chain) throws jakarta.servlet.ServletException, IOException 本クラスの実装では、HTTPリクエスト毎に下記の処理を行う。 1. HttpServletRequestオブジェクトをラップした HttpRequest, ExecutionContext オブジェクトを生成する。 2. それらを引数としてリクエストプロセッサに処理を委譲する。 3. その結果(HttpResponseオブジェクトの内容)に従って、 HTTPクライアントに対するレスポンス処理を行う。- Specified by:
doFilterin interfacejakarta.servlet.Filter- Throws:
jakarta.servlet.ServletExceptionIOException
-
init
public void init(jakarta.servlet.FilterConfig config) 本クラスの実装では、リポジトリ上にコンポーネント"webFrontController" が存在すれば、そのインスタンスを以降の処理で使用する。 存在しない場合は、このインスタンスをそのまま使用する。- Specified by:
initin interfacejakarta.servlet.Filter
-
getHandlerQueue
Description copied from class:HandlerQueueManager現在のハンドラキューの内容を返す。- Specified by:
getHandlerQueuein classHandlerQueueManager<WebFrontController>- Returns:
- 現在のハンドラキューの内容
-
setServletFilterConfig
サーブレットフィルタの設定情報を設定する.- Parameters:
config- 設定情報
-
getServletFilterConfig
public jakarta.servlet.FilterConfig getServletFilterConfig()サーブレットフィルタの設定情報を取得する。- Returns:
- 設定情報
-
destroy
本クラスのdestroy()メソッドでは何も行わない。
- Specified by:
destroyin interfacejakarta.servlet.Filter
-
setPreventSessionCreation
public void setPreventSessionCreation(boolean preventSessionCreation) セッション生成を防止する機能を有効にするかどうかを設定する。- Parameters:
preventSessionCreation- 有効にする場合はtrue
-