Class WebFrontController

java.lang.Object
nablarch.fw.HandlerQueueManager<WebFrontController>
nablarch.fw.web.servlet.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 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:
      doFilter in interface jakarta.servlet.Filter
      Throws:
      jakarta.servlet.ServletException
      IOException
    • init

      public void init(jakarta.servlet.FilterConfig config)
      本クラスの実装では、リポジトリ上にコンポーネント"webFrontController" が存在すれば、そのインスタンスを以降の処理で使用する。 存在しない場合は、このインスタンスをそのまま使用する。
      Specified by:
      init in interface jakarta.servlet.Filter
    • getHandlerQueue

      public List<Handler> getHandlerQueue()
      Description copied from class: HandlerQueueManager
      現在のハンドラキューの内容を返す。
      Specified by:
      getHandlerQueue in class HandlerQueueManager<WebFrontController>
      Returns:
      現在のハンドラキューの内容
    • setServletFilterConfig

      @Published(tag="architect") public void setServletFilterConfig(jakarta.servlet.FilterConfig config)
      サーブレットフィルタの設定情報を設定する.
      Parameters:
      config - 設定情報
    • getServletFilterConfig

      public jakarta.servlet.FilterConfig getServletFilterConfig()
      サーブレットフィルタの設定情報を取得する。
      Returns:
      設定情報
    • destroy

      @Published(tag="architect") public void destroy()
       本クラスのdestroy()メソッドでは何も行わない。
       
      Specified by:
      destroy in interface jakarta.servlet.Filter
    • setPreventSessionCreation

      public void setPreventSessionCreation(boolean preventSessionCreation)
      セッション生成を防止する機能を有効にするかどうかを設定する。
      Parameters:
      preventSessionCreation - 有効にする場合は true