jp.terasoluna.fw.web.rich.springmvc.servlet.handler
クラス BeanNameUrlHandlerMappingEx

java.lang.Object
  上位を拡張 org.springframework.context.support.ApplicationObjectSupport
      上位を拡張 org.springframework.web.context.support.WebApplicationObjectSupport
          上位を拡張 org.springframework.web.servlet.handler.AbstractHandlerMapping
              上位を拡張 org.springframework.web.servlet.handler.AbstractUrlHandlerMapping
                  上位を拡張 org.springframework.web.servlet.handler.AbstractDetectingUrlHandlerMapping
                      上位を拡張 org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping
                          上位を拡張 jp.terasoluna.fw.web.rich.springmvc.servlet.handler.BeanNameUrlHandlerMappingEx
すべての実装されたインタフェース:
org.springframework.beans.factory.InitializingBean, org.springframework.context.ApplicationContextAware, org.springframework.core.Ordered, org.springframework.web.context.ServletContextAware, org.springframework.web.servlet.HandlerMapping

public class BeanNameUrlHandlerMappingEx
extends org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping
implements org.springframework.beans.factory.InitializingBean

リクエスト名と実行するリクエストコントローラBean定義のマッピングを行うハンドラ。

DispacherServletより実行され、 制御情報のリクエスト名とあらかじめ定義した接頭辞・接尾辞を結合した文字列をBean名として、 DIコンテナよりリクエストコントローラの取得を行い、返却する。 DispacherServletは、返却されたリクエストコントローラを実行する。

本クラスを利用する場合、本クラスのBean定義を行うこと。 また、以下のプロパティを必ず設定すること。

属性名 説明
ctxSupport リクエスト名を取得するためのサポートロジッククラス。
prefix リクエスト名に付与する接頭辞。
suffix リクエスト名に付与する接尾辞。
defaultHandler リクエスト名に対応するコントローラが存在しない場合のコントローラ。

Bean定義ファイルの設定例】

   <bean id="defaultHandlerMapping"
       class="jp.terasoluna.fw.web.rich.springmvc.servlet.handler.BeanNameUrlHandlerMappingEx">
     <property name="ctxSupport" ref="ctxSupport"/>
     <property name="prefix" value="/secure/blogic/"/>
     <property name="suffix" value=".do"/>
     <property name="defaultHandler" ref="unknownRequestNameController"/>
   </bean>
   ※ ctxSupportは、 制御情報を扱うサポートロジックのBean定義。
   ※ unknownRequestNameControllerは、リクエスト名に対応するコントローラが存在しない場合に実行されるコントローラのBean定義。
 

上記の設定を行った場合、 たとえば、リクエスト名が「sum」だった場合、 DIコンテナより「/secure/blogic/sum.do」という名称のBeanを取得し、返却する。 ただし、Beanを取得できなかった(存在しなかった)場合は、 「unknownRequestNameController」という名称の BeanをDIコンテナより取得し、返却する。 (Beanを取得できなかった場合の詳細は、UnkownRequestNameControllerを参照のこと。)


フィールドの概要
protected  RequestContextSupport ctxSupport
          制御情報サポートロジッククラス。
private static org.apache.commons.logging.Log log
          ログクラス。
protected  java.lang.String prefix
          リクエスト名に付与する接頭辞。
protected  java.lang.String suffix
          リクエスト名に付与する接尾辞。
 
クラス org.springframework.context.support.ApplicationObjectSupport から継承されたフィールド
logger
 
インタフェース org.springframework.web.servlet.HandlerMapping から継承されたフィールド
PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE
 
インタフェース org.springframework.core.Ordered から継承されたフィールド
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
 
コンストラクタの概要
BeanNameUrlHandlerMappingEx()
           
 
メソッドの概要
 void afterPropertiesSet()
          本クラスがインスタンス化された直後に呼ばれるメソッド。
protected  java.lang.Object lookupHandler(java.lang.String urlPath, javax.servlet.http.HttpServletRequest request)
          リクエスト名をもとに、リクエストコントローラのインスタンスをルックアップする。
 void setCtxSupport(RequestContextSupport ctxSupport)
          制御情報サポートロジッククラスを設定する。
 void setPrefix(java.lang.String prefix)
          リクエスト名に付与する接頭辞を設定する。
 void setSuffix(java.lang.String suffix)
          リクエスト名に付与する接尾辞を設定する。
 
クラス org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping から継承されたメソッド
determineUrlsForHandler
 
クラス org.springframework.web.servlet.handler.AbstractDetectingUrlHandlerMapping から継承されたメソッド
detectHandlers, initApplicationContext, setDetectHandlersInAncestorContexts
 
クラス org.springframework.web.servlet.handler.AbstractUrlHandlerMapping から継承されたメソッド
buildPathExposingHandler, exposePathWithinMapping, getHandlerInternal, getHandlerMap, getPathMatcher, getRootHandler, registerHandler, registerHandler, setAlwaysUseFullPath, setLazyInitHandlers, setPathMatcher, setRootHandler, setUrlDecode, setUrlPathHelper
 
クラス org.springframework.web.servlet.handler.AbstractHandlerMapping から継承されたメソッド
adaptInterceptor, extendInterceptors, getAdaptedInterceptors, getDefaultHandler, getHandler, getHandlerExecutionChain, getOrder, initInterceptors, setDefaultHandler, setInterceptors, setOrder
 
クラス org.springframework.web.context.support.WebApplicationObjectSupport から継承されたメソッド
getServletContext, getTempDir, getWebApplicationContext, isContextRequired, setServletContext
 
クラス org.springframework.context.support.ApplicationObjectSupport から継承されたメソッド
getApplicationContext, getMessageSourceAccessor, requiredContextClass, setApplicationContext
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

log

private static org.apache.commons.logging.Log log
ログクラス。


ctxSupport

protected RequestContextSupport ctxSupport
制御情報サポートロジッククラス。


prefix

protected java.lang.String prefix
リクエスト名に付与する接頭辞。


suffix

protected java.lang.String suffix
リクエスト名に付与する接尾辞。

コンストラクタの詳細

BeanNameUrlHandlerMappingEx

public BeanNameUrlHandlerMappingEx()
メソッドの詳細

setPrefix

public void setPrefix(java.lang.String prefix)
リクエスト名に付与する接頭辞を設定する。

パラメータ:
prefix - リクエスト名に付与する接頭辞。

setSuffix

public void setSuffix(java.lang.String suffix)
リクエスト名に付与する接尾辞を設定する。

パラメータ:
suffix - リクエスト名に付与する接尾辞。

setCtxSupport

public void setCtxSupport(RequestContextSupport ctxSupport)
制御情報サポートロジッククラスを設定する。

パラメータ:
ctxSupport - 制御情報サポートロジッククラス

lookupHandler

protected java.lang.Object lookupHandler(java.lang.String urlPath,
                                         javax.servlet.http.HttpServletRequest request)
リクエスト名をもとに、リクエストコントローラのインスタンスをルックアップする。

オーバーライド:
クラス org.springframework.web.servlet.handler.AbstractUrlHandlerMapping 内の lookupHandler
パラメータ:
urlPath - URLパス
request - HttpServletRequest
戻り値:
リクエストコントローラのインスタンス

afterPropertiesSet

public void afterPropertiesSet()
本クラスがインスタンス化された直後に呼ばれるメソッド。 コンテキスト取得クラスのNullチェックを行う。

定義:
インタフェース org.springframework.beans.factory.InitializingBean 内の afterPropertiesSet