SpringBootプロジェクトjarパッケージとwarパッケージの違い

2669 ワード

この記事の参考:https://blog.csdn.net/qq_32331073/article/details/81544061
⚪SpringBootでは多くのテンプレートエンジンがデフォルトでサポートされていますが、jspはデフォルトでサポートされている範囲ではありません.jspはwarパケットでのみ使用できます.また、JSPのデフォルトレンダリングservlet:"org.apache.jasper.servlet.JspServlet"をインポートし、warパケットとして入力し、jspが追加しなければならない依存性をサポートする必要があります.
        
            javax.servlet
            javax.servlet-api
            provided
        
 
        
            org.apache.tomcat
            tomcat-servlet-api
            8.0.36
            provided
        

        
            org.apache.tomcat.embed
            tomcat-embed-jasper
            provided
        

⚪JarもWarもネストされたコンテナ、jarパッケージを使用できます.
nohup java -jar test.jar > test.log 2>&1&
(linux )は、tail-fログ名を使用して独立して実行する.ファイルでリアルタイムログを表示
⚪ただし、warのみが外部コンテナに配備され、warには"src/main/webapp/WEB-INF/web.xml", war wabapp , jar main が含まれている必要があります.
SpringBoot JSP : 
  jsp jar
  Udertow Jsp
  error.jsp error handling view, , Custom error pages

⚪プロジェクトをjarにパッケージ化する場合は、src/main/webappディレクトリを使用しないでください.パッケージ化プロセスでwabappディレクトリが除外されます.⚪SpringBoot , ""、"/" Handling , 静的リソースロケーションにindex.htmlが存在するかどうかを優先的に確認します.そうしないと、index が表示されます. が使用されている場合は が表示されます.Spring5.+の中でSpringMVC の役割を担うSpringWebFluxServlet APIに完全に依存しているわけではないので、warにパッケージ化することはできません.さらにsrc/main/webappディレクトリを使用することはできません.
⚪ユーザーは、/src/main/webappの静的リソースに直接アクセスできますが、/src/main/resourcesの静的リソースにはアクセスできません.ただし、SpringはResourceHttpRequestHandlerを提供し、src/main/resources(classpath)の下でアクセスディレクトリを指定します.⚪SpringMvcのブロッカーはHandlingおよび/src/mainwebappの下のリソースのみをブロックでき、/src/main/resources , /src/mainwebapp/WEB-INFの下のリソースをブロックすることはできないが、forward、redirectでアクセスできる
まとめ:
1、jarパッケージにはwabappディレクトリは含まれていません.jarパッケージは主に汎用機能に使用され、webappディレクトリは含まれていません.打ったjarパッケージは他のプロジェクトのlibに直接置くことができ、内部tomcatを使って起動します.
2、warパッケージ方式、webappディレクトリを含み、パッケージ化時にwebappディレクトリを含み、外部コンテナで起動する