2.4.1.2. Webフロントコントローラ

ウェブアプリケーションにおけるハンドラキューの実行の起点となるクラス。

本クラスを使用することで、クライアントから受け取ったリクエストに対する処理をハンドラキューに委譲することができる。

2.4.1.2.1. モジュール一覧

<dependency>
  <groupId>com.nablarch.framework</groupId>
  <artifactId>nablarch-fw-web</artifactId>
</dependency>

2.4.1.2.2. ハンドラキューを設定する

リクエストに対する処理をハンドラキューに委譲するための手順を示す。

コンポーネント設定ファイルに設定する

WebFrontController をコンポーネント設定ファイルに設定し、 handlerQueue プロパティに アプリケーションで使用するハンドラを順番に追加していく。

コンポーネント設定ファイルの設定例を以下に示す。

ポイント
  • コンポーネント名は webFrontController とすること。
<component name="webFrontController" class="nablarch.fw.web.servlet.WebFrontController">
  <property name="handlerQueue">
    <list>
      <component class="nablarch.fw.web.handler.HttpCharacterEncodingHandler"/>
      <component class="nablarch.fw.handler.GlobalErrorHandler"/>

      <!-- 省略 -->

    </list>
  </property>
</component>
サーブレットフィルタを設定する

RepositoryBasedWebFrontController をサーブレットフィルタとして web.xml に設定する。 このフィルタによって、クライアントから受け取ったリクエストに対する処理は、先ほどシステムリポジトリに登録したハンドラキューへ委譲される。

web.xml への設定例を以下に示す。

ポイント
<context-param>
  <param-name>di.config</param-name>
  <param-value>web-boot.xml</param-value>
</context-param>

<listener>
  <listener-class>nablarch.fw.web.servlet.NablarchServletContextListener</listener-class>
</listener>

<filter>
  <filter-name>entryPoint</filter-name>
  <filter-class>nablarch.fw.web.servlet.RepositoryBasedWebFrontController</filter-class>
</filter>

<filter-mapping>
  <filter-name>entryPoint</filter-name>
  <url-pattern>/action/*</url-pattern>
</filter-mapping>