クラス ServletWrappingController
java.lang.ObjectSE
org.springframework.context.support.ApplicationObjectSupport
org.springframework.web.context.support.WebApplicationObjectSupport
org.springframework.web.servlet.support.WebContentGenerator
org.springframework.web.servlet.mvc.AbstractController
org.springframework.web.servlet.mvc.ServletWrappingController
- 実装されているすべてのインターフェース:
Aware、BeanNameAware、DisposableBean、InitializingBean、ApplicationContextAware、ServletContextAware、Controller
public class ServletWrappingController
extends AbstractController
implements BeanNameAware, InitializingBean, DisposableBean
内部で管理するサーブレットインスタンスをラップする Spring コントローラーの実装。このようなラップされたサーブレットは、このコントローラーの外では認識されません。そのライフサイクル全体がここでカバーされています (
ServletForwardingController とは対照的です)。Spring のディスパッチインフラストラクチャを介して既存のサーブレットを呼び出す場合、たとえば、Spring HandlerInterceptors をそのリクエストに適用する場合に便利です。
Struts には、サーブレットマッピングを見つけるために web.xml を解析するという特別な要件があることに注意してください。このコントローラーで DispatcherServlet のサーブレット名を "servletName" として指定する必要があります。そうすることで、Struts は DispatcherServlet のマッピング (ActionServlet を参照するものとみなして) を見つけます。
例 : DispatcherServlet XML コンテキストは、"*.do" を ServletWrappingController でラップされた Struts ActionServlet に転送します。このようなリクエストはすべて、構成された HandlerInterceptor チェーン (たとえば、OpenSessionInViewInterceptor) を通過します。Struts の観点からは、すべてが通常どおりに機能します。
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="interceptors">
<list>
<ref bean="openSessionInViewInterceptor"/>
</list>
</property>
<property name="mappings">
<props>
<prop key="*.do">strutsWrappingController</prop>
</props>
</property>
</bean>
<bean id="strutsWrappingController" class="org.springframework.web.servlet.mvc.ServletWrappingController">
<property name="servletClass">
<value>org.apache.struts.action.ActionServlet</value>
</property>
<property name="servletName">
<value>action</value>
</property>
<property name="initParameters">
<props>
<prop key="config">/WEB-INF/struts-config.xml</prop>
</props>
</property>
</bean>- 導入:
- 1.1.1
- 作成者:
- Juergen Hoeller
- 関連事項:
フィールドのサマリー
クラス org.springframework.web.servlet.support.WebContentGenerator から継承されたフィールド
HEADER_CACHE_CONTROL, METHOD_GET, METHOD_HEAD, METHOD_POSTクラス org.springframework.context.support.ApplicationObjectSupport から継承されたフィールド
loggerコンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明voidラップされたサーブレットインスタンスを初期化します。voiddestroy()ラップされたサーブレットインスタンスを破棄します。protected @Nullable ModelAndViewhandleRequestInternal(HttpServletRequestEE request, HttpServletResponseEE response) ラップされたサーブレットインスタンスを呼び出します。voidsetBeanName(StringSE name) この Bean を作成した Bean ファクトリで Bean の名前を設定します。voidsetInitParameters(PropertiesSE initParameters) サーブレットがラップする init パラメーターを名前と値のペアとして指定します。voidsetServletClass(ClassSE<? extends ServletEE> servletClass) ラップするサーブレットのクラスを設定します。voidsetServletName(StringSE servletName) ラップするサーブレットの名前を設定します。クラス org.springframework.web.servlet.mvc.AbstractController から継承されたメソッド
handleRequest, isSynchronizeOnSession, setSynchronizeOnSessionクラス org.springframework.web.servlet.support.WebContentGenerator から継承されたメソッド
applyCacheControl, applyCacheSeconds, checkRequest, getAllowHeader, getCacheControl, getCacheSeconds, getSupportedMethods, getVaryByRequestHeaders, isRequireSession, prepareResponse, setCacheControl, setCacheSeconds, setRequireSession, setSupportedMethods, setVaryByRequestHeadersクラス org.springframework.web.context.support.WebApplicationObjectSupport から継承されたメソッド
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContextクラス org.springframework.context.support.ApplicationObjectSupport から継承されたメソッド
getApplicationContext, getMessageSourceAccessor, initApplicationContext, obtainApplicationContext, requiredContextClass, setApplicationContext
コンストラクターの詳細
ServletWrappingController
public ServletWrappingController()
メソッドの詳細
setServletClass
setServletName
ラップするサーブレットの名前を設定します。デフォルトは、このコントローラーの Bean 名です。setInitParameters
サーブレットがラップする init パラメーターを名前と値のペアとして指定します。setBeanName
インターフェースからコピーされた説明:BeanNameAwareこの Bean を作成した Bean ファクトリで Bean の名前を設定します。通常の Bean プロパティの設定後、ただし
InitializingBean.afterPropertiesSet()またはカスタム init メソッドなどの init コールバックの前に呼び出されます。- 次で指定:
- インターフェース
BeanNameAwareのsetBeanName - パラメーター:
name- ファクトリ内の Bean の名前。この名前は、ファクトリで使用される実際の Bean 名であり、最初に指定した名前とは異なる場合があります。特に内部 Bean 名の場合、実際の Bean 名は "#..." サフィックスを追加することで一意になります。必要に応じて、BeanFactoryUtils.originalBeanName(String)メソッドを使用して、元の Bean 名(サフィックスなし)を抽出します。
afterPropertiesSet
ラップされたサーブレットインスタンスを初期化します。- 次で指定:
- インターフェース
InitializingBeanのafterPropertiesSet - 例外:
ExceptionSE- 構成の誤り(必須プロパティの設定の失敗など)の場合、またはその他の理由で初期化が失敗した場合- 関連事項:
handleRequestInternal
protected @Nullable ModelAndView handleRequestInternal(HttpServletRequestEE request, HttpServletResponseEE response) throws ExceptionSE ラップされたサーブレットインスタンスを呼び出します。- 次で指定:
- クラス
AbstractControllerのhandleRequestInternal - 例外:
ExceptionSE- 関連事項:
destroy