クラス 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 コンテキスト。ServletWrappingController によってラップされた Struts ActionServlet に "*.do" を転送します。このようなリクエストはすべて、構成済みの 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 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, applyCacheSeconds, cacheForSeconds, cacheForSeconds, checkAndPrepare, checkRequest, getAllowHeader, getCacheControl, getCacheSeconds, getSupportedMethods, getVaryByRequestHeaders, isAlwaysMustRevalidate, isRequireSession, isUseCacheControlHeader, isUseCacheControlNoStore, isUseExpiresHeader, prepareResponse, preventCaching, setAlwaysMustRevalidate, setCacheControl, setCacheSeconds, setRequireSession, setSupportedMethods, setUseCacheControlHeader, setUseCacheControlNoStore, setUseExpiresHeader, 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
ラップするサーブレットのクラスを設定します。jakarta.servlet.Servletを実装する必要があります。- 関連事項:
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 ModelAndView handleRequestInternal(HttpServletRequestEE request, HttpServletResponseEE response) throws ExceptionSE ラップされたサーブレットインスタンスを呼び出します。destroy
public void destroy()ラップされたサーブレットインスタンスを破棄します。- 次で指定:
- インターフェース
DisposableBeanのdestroy - 関連事項: