SpringBoot-構成組み込みサーブレットコンテナ(13)

組み込みのTomcatサーブレットコンテナのデフォルトとして使用SpringBoot。

サーブレットコンテナの設定をカスタマイズし、変更する方法

1、変更及びサーバ関連の設定(ServerProperties EmbeddedServletContainerCustomizer [また])。

= 8081はserver.port 
server.context -path = / CRUD 

server.tomcat.uri -encoding。8 = UTF- // ジェネリックサーブレットコンテナ提供server.xxx
 // 設定しますTomcatの 
server.tomcat.xxx


2、書き込みEmbeddedServletContainerCustomizer サーブレットコンテナカスタム埋め込みデバイスと、コンフィギュレーション・サーブレットコンテナを変更します。

@Bean   // これがコンテナに追加されたカスタマイズしてください
パブリック)EmbeddedServletContainerCustomizer embeddedServletContainerCustomizer({
     返す 新しい新しい(EmbeddedServletContainerCustomizerを){ 

        // カスタム埋め込まれたサーブレット・コンテナ関連のルールは
        @Override
         公共 のボイドのカスタマイズ(ConfigurableEmbeddedServletContainerコンテナ){ 
            container.setPortを( 8083 ); 
        } 
    }; 
}

登録サーブレット3つの要素[サーブレット、フィルター、リスナー]

SpringBootデフォルトのjarパッケージには、Webアプリケーションを起動するために埋め込まれたサーブレットコンテナを起動する方法ですので、何のweb.xmlファイルをSpringBootません。

以下の方法で登録三つの成分

ServletRegistrationBean

// 注册三大组件
@Bean
 公共ServletRegistrationBeanがmyservlet(){ 
    ServletRegistrationBean registrationBean = 新しい ServletRegistrationBean(新たに、MyServlet()、 "/がmyservlet" )。
    返すregistrationBeanを。
}

FilterRegistrationBean

@Bean
 公共FilterRegistrationBean myFilterを(){ 
    FilterRegistrationBean registrationBean = 新しいFilterRegistrationBean()。
    registrationBean.setFilter(新しいmyFilterを()); 
    registrationBean.setUrlPatterns(は、Arrays.asList( "/ hello"を、 "/がmyservlet" ));
    返すregistrationBeanを。
}

ServletListenerRegistrationBean

@Bean
 公共ServletListenerRegistrationBean myListener(){ 
    ServletListenerRegistrationBean <MyListener> registrationBean = 新しい ServletListenerRegistrationBean <>(新しいMyListener())。
    返すregistrationBeanを。
}

私たちは時に自動登録SpringMVCのフロントコントローラに自動的SpringMVC助けるSpringBoot;のDispatcherServlet。

DispatcherServletAutoConfiguration中:

@Bean(名前= DEFAULT_DISPATCHER_SERVLET_REGISTRATION_BEAN_NAME)
@ConditionalOnBean(値 =のDispatcherServletの。クラス、名前= DEFAULT_DISPATCHER_SERVLET_BEAN_NAME)
 公共ServletRegistrationBean dispatcherServletRegistration(
      のDispatcherServletのDispatcherServlet){ 
   ServletRegistrationBean登録 = 新新ServletRegistrationBean(
         DispatcherServletの、この.serverProperties.getServletMapping());
     // デフォルトのインターセプト: /すべての要求、インターセプトは、JSP / *;静的パケット資源が、JSPのリクエスト遮らない
     // デフォルトSpringMVCフロントコントローラの要求パスを変更することができserver.servletPathを傍受します
    
   registration.setName(DEFAULT_DISPATCHER_SERVLET_BEAN_NAME)。
   registration.setLoadOnStartup(
         この.webMvcProperties.getServlet()getLoadOnStartup());
   もしこの!.multipartConfig = ヌル){ 
      registration.setMultipartConfig(この.multipartConfig)。
   } 
   戻り登録。
}

他の組み込みサーブレットコンテナを交換してください

デフォルトでサポートされています:

Tomcatの(デフォルト)

< 依存性> 
   < のgroupId > org.springframework.boot </ のgroupId > 
   < たartifactId >春ブートスタータウェブ</ たartifactId > 
   組み込まデフォルトのWebモジュールが埋め込まのTomcatサーブレットコンテナとして使用され、
</ 依存>

桟橋

<! - 引入ウェブ模块- > 
< 依存> 
   < groupIdを> org.springframework.boot </ groupIdを> 
   < たartifactId >春・ブート・スターター・ウェブ</ たartifactId > 
   < 除外> 
      < 除外> 
         < たartifactId > spring-ブートスターター-tomcatの</ たartifactId > 
         < groupIdを> org.springframework.boot </ groupIdを> 
      </ 除外> 
   </ 除外>
</ 依存関係> 

<! - 引入其他的サーブレット容器- > 
< 依存> 
   < たartifactId >春・ブート・スターター・桟橋</ たartifactId > 
   < groupIdを> org.springframework.boot </ groupIdを> 
</ 依存関係>

引き

<! - 引入ウェブ模块- > 
< 依存> 
   < groupIdを> org.springframework.boot </ groupIdを> 
   < たartifactId >春・ブート・スターター・ウェブ</ たartifactId > 
   < 除外> 
      < 除外> 
         < たartifactId > spring-ブートスターター-tomcatの</ たartifactId > 
         < groupIdを> org.springframework.boot </ groupIdを> 
      </ 除外> 
   </ 除外>
</ 依存関係> 

<! - 引入其他的サーブレット容器- > 
< 依存> 
   < たartifactId >春・ブート・スタータ引き</ たartifactId > 
   < groupIdを> org.springframework.boot </ groupIdを> 
</ 依存関係>

 

 

 

おすすめ

転載: www.cnblogs.com/xiaoqiqistudy/p/11366461.html