Boot.を提供します。EEにJavaサーブレットを登録する2つの方法を見ていきます。1つはweb.xmlファイルを使用し、もう1つはアノテーションを使用します。次に、XML構成、Java構成、および構成可能なプロパティを使用して、サーブレットをSpringBootに登録します。サーブレットに関する優れた入門記事は、hereにあります。JavaEEへのサーブレットの登録JavaEEにサーブレットを登録する2つの方法を見てみましょう。web.xmlを介してサーブレットを登録できます。EE@WebServletアノテーションを使用することもできます。EEアプリケーション内にサーブレットを登録する最も一般的な方法は、サーブレットをweb.xmlファイルに追加することです。/Exampleご覧のとおり、これには2つのステップが含まれます。(1)サーブレットをservletタグに追加し、サーブレットが存在するクラスへのソースパスも指定するようにします。(2)URLパスを指定します。サーブレットはurl-patternタグで公開されます。EEweb.xmlファイルは通常WebContent/WEB-INFにあります。次に、カスタムサーブレットクラスの@WebServletアノテーションを使用してサーブレットを登録しましょう。これにより、server.xmlでのサーブレットマッピングとweb.xmlでのサーブレットの登録が不要になります。}}上記のコードは、そのアノテーションをサーブレットに直接追加する方法を示しています。サーブレットは、以前と同じURLパスで引き続き使用可能です。EEにサーブレットを登録する方法を示したので、SpringBootアプリケーションにサーブレットを登録するいくつかの方法を見てみましょう。Bootは、Webアプリケーションの100%プログラムによる構成をサポートしています。WebApplicationInitializerインターフェースを実装し、次にWebMvcConfigurerインターフェースを実装します。これにより、特定の構成設定を指定する代わりに、事前設定されたデフォルトをオーバーライドできるため、時間を節約し、操作が可能になります。使用できるいくつかの実証済みの設定。WebApplicationInitializerの実装例を見てみましょう。}}次に、WebMvcConfigurerインターフェースを実装しましょう。}}上記では、.jspビューと静的リソース提供をサポートするために、JSPサーブレットのデフォルト設定の一部を明示的に指定しています。Boot内でサーブレットを構成および登録する別の方法は、web.xmlを使用することです。/Springで構成を指定するために使用されるweb.xmlは、JavaEEで見られるものと似ています。上記では、servletタグの下の属性を介してさらにいくつかのパラメーターを指定する方法を確認できます。ここでは、別のXMLを使用して構成を完了します。Springweb.xmlは通常src/main/webapp/WEB-INFに存在することに注意してください。XMLとプログラムによる登録の組み合わせXML構成アプローチとSpringのプログラム構成を組み合わせてみましょう。servlet.addMapping("/");}ディスパッチャサーブレットも設定しましょう。Beanによる登録ServletRegistrationBeanを使用して、サーブレットをプログラムで構成および登録することもできます。以下では、HttpServlet(javax.servlet.Servletインターフェースを実装)を登録するためにこれを行います。bean;}このアプローチの主な利点は、Springアプリケーションに複数のサーブレットと異なる種類のサーブレットの両方を追加できることです。具体的な種類のHttpServletであり、セクション3.1で検討した構成へのWebApplicationInitializerプログラムアプローチで使用される最も一般的な種類であるDispatcherServlet,を単に利用する代わりに、より単純なHttpServletサブクラスインスタンス。4つの関数(doGet()、doPost()、doPut()、およびdoDelete())を介して4つの基本的なHttpRequest操作を公開します。HttpServletは抽象クラスであることに注意してください(したがって、インスタンス化することはできません)。カスタム拡張機能を簡単に作成できます。PropertySource,またはPropertySourcesインスタンスオブジェクト.を介してアプリにロードされたカスタムプロパティファイルを使用することです。これにより、中間的な種類の構成と、埋め込まれていないサーブレットにほとんど直接的な構成を提供しないapplication.propertiesをカスタマイズする機能が提供されます。システムプロパティアプローチapplication.propertiesファイルまたは別のプロパティファイルにいくつかのカスタム設定を追加できます。DispatcherServletを構成するためのいくつかの設定を追加しましょう。servlet.name=dispatcherExampleservlet.mapping=/dispatcherExampleURLカスタムプロパティをアプリケーションにロードしましょう。"classpath:custom.properties");そして、次の方法でこれらのプロパティにアクセスできます。カスタムプロパティアプローチcustom.propertiesファイルから始めましょう:servlet.name=dispatcherExampleservlet.mapping=/dispatcherExampleURLその後、すぐに使えるプロパティローダーを使用できます。prop;}そして今、これらのカスタムプロパティを定数としてWebApplicationInitializer実装に追加できます。springProps.getProperty("servlet.mapping");次に、それらを使用して、たとえばディスパッチャサーブレットを設定できます。DispatcherServlet(ctx));servlet.setLoadOnStartup(1);servlet.addMapping(SERVLET_MAPPING);このアプローチの利点は、.xmlのメンテナンスがないことですが、コードベースの再デプロイを必要としない、変更が容易な構成設定を備えています。PropertySourceアプローチ上記を実現するためのより高速な方法は、SpringのPropertySourceを利用することです。これにより、構成ファイルにアクセスしてロードできます。PropertyResolverは、ConfigurableEnvironment,によって実装されるインターフェースであり、サーブレットの起動時と初期化時にアプリケーションのプロパティを使用できるようにします。}}上記では、依存関係をクラスに自動接続し、カスタムプロパティファイルの場所を指定します。次に、String値を渡す関数getProperty()を呼び出すことにより、顕著なプロパティをフェッチできます。PropertySourceプログラマティックアプローチ上記のアプローチ(プロパティ値の取得を含む)と以下のアプローチ(これらの値をプログラムで指定できるようにする)を組み合わせることができます。map));キーを値にリンクするマップを作成し、そのマップをPropertySourcesに追加して、必要に応じて呼び出しを有効にします。最後に、SpringBoot内の組み込みサーブレットの基本的な構成と登録についても見ていきます。separately。シンプルなライブサーバーの展開に必要な依存関係と構成を追加できます。このような機能は、苦痛なく、コンパクトに、すばやくサポートされています。このTomcatの実行方法のみを見ていきますが、Jettyやその他の方法でも同じアプローチを実行できます。Webコンテナの依存関係をpom.xmlで指定しましょう。8.5.11次に、ビルド時にMavenによって生成された.warにTomcatを正常に追加するために必要なタグを追加しましょう。Bootを使用している場合は、代わりにSpringのspring-boot-starter-tomcat依存関係をpom.xmlに追加できます。Bootは、application.propertiesを介して可能なほとんどのSpring設定の構成をサポートします。必要な組み込みサーブレットの依存関係をpom.xmlに追加した後、次のようないくつかの構成オプションを使用して、組み込みサーブレットをカスタマイズおよび構成できます。server.jsp-servlet.class-name=org.apache.jasper.servlet.JspServletserver.jsp-servlet.registered=trueserver.port=8080server.servlet-path=/上記は、DispatcherServletと静的リソース共有を構成するために使用できるアプリケーション設定の一部です。組み込みサーブレット、SSLサポート、およびセッションの設定も利用できます。documentationで確認できます。同様に、YAMLを使用して埋め込みサーブレットコンテナを設定できます。これには、専用のYAMLプロパティローダー(YamlPropertySourceLoader)を使用する必要があります。これにより、YAMLが公開され、アプリ内でキーと値を使用できるようになります。組み込みサーブレットコンテナのプログラムによる構成は、EmbeddedServletContainerFactoryのサブクラス化されたインスタンスを介して可能です。TomcatEmbeddedServletContainerFactoryを使用して、組み込みTomcatサーブレットを構成できます。TomcatEmbeddedServletContainerFactoryは、org.apache.catalina.startup.Tomcatオブジェクトをラップし、追加の構成オプションを提供します。tomcatContainerFactory;}次に、返されたインスタンスを設定できます。tomcatContainerFactory.setPort(9000);tomcatContainerFactory.setContextPath("/springboottomcatexample");これらの特定の設定はそれぞれ、前述の方法のいずれかを使用して構成可能にすることができます。org.apache.catalina.startup.Tomcatオブジェクトに直接アクセスして操作することもできます。projectで入手できます。