我々は、適切なjarファイルの参照を追加する場合は、ページをレンダリングすることができますが、なぜ春ブーツは、JSPをサポートしていません。

ロビン日:

春のブーツは、JSPビューをサポートしていないことをどこでも書かれています。その公式文書では3つの理由があります

  • あなたが戦争のパッケージを使用する場合のJettyとTomcatを使用すると、それが動作するはずです。実行可能な戦争は、java -jarで起動時に動作しますし、また任意の標準コンテナに配備可能になります。実行可能なjarファイルを使用した場合のJSPはサポートされません。
  • 引き波はJSPをサポートしていません。
  • カスタムerror.jspページを作成すると、エラー処理のデフォルトのビューを上書きしません。カスタムエラーページが代わりに使用する必要があります。

最初の項目については、「実行可能ジャーを使用する場合JSPがサポートされていません」。私はapplication.propertiesにTomcatの-埋め込む-碧玉とセット正しいリソースパスへの参照を追加する場合でも、JSPファイルも同様にレンダリングすることができます。

私は、これは春のブーツは、tomcatの-埋め込む-碧玉などの他の参照LIBSをinvovlingせずに、JSPサポートしていないことを意味すると思います。

しかしthymleafのために、我々はまた、輸入スプリング・ブート・スタータthymeleafに持っています。なぜ我々は、余分なLIBSが関与している春のブートサポートthymleafを言うことができます。

だから、どのように私は、ドキュメント内の最初の項目を理解することができますか?

Ananthapadmanabhan:

(実行可能なjarファイルを作成するためにspringbootに使用されている)組み込みTomcatのパッケージには、我々はモジュールを追加する必要があり、デフォルトでJSPが含まれていません“org.apache.tomcat.embed:tomcat-embed-jasper”well.Thatは、私たちが追加されている理由であるとtomcat-embed-jasper私たちはJSTLタグを使用することができるようにすることを、springbootに依存関係としてJSPインチ

springbootは、ビューリゾルバなどJSPで正しく動作しない主な理由、*jarパッケージとして使用されているがためであるTomcatの中にハードコーディングされたファイルパターン【選択の問題は、使用しているときということですjava -*.jarspringbootアプリケーションをデプロイするために、JSPファイルではないでしょう埋め込まれたTomcatの中に存在しても、要求にサービスを提供しようとしたときには、取得する404ページが見つかりませんこれは、JSPファイルのコピー元取得されていないことを、理由のjarパッケージであるWEB-INFあなたは下のJSPファイルを保つfolder.If META-INF/resourcesそれが動作するはずですパッケージとしてjarファイルを使用しているフォルダ。

Thymeleafは、彼らが静的ファイルとして表示し、中に入れることができることを意味し、プロトタイプとしてテンプレートを使用することができますresources/templatesがありますup.But JSPファイルを選択する春のフォルダJSTLタグなど、彼らは次のように設定することはできませんので、レンダリングの前にジャスパーでtranspiledする必要があります私の知識に基づいて静的ファイル。

使用する場合はWAR(webアプリケーションアーカイブ)を、パッキンが自動的に次のプロジェクト構造からリソースがかかります。

 |-- pom.xml
 `-- src
     `-- main
         |-- java
         |   `-- com
         |       `-- example
         |           `-- projects
         |               `-- SampleAction.java
         |-- resources
         |   `-- images
         |       `-- sampleimage.jpg
         `-- webapp
             |-- WEB-INF
             |   `-- web.xml
             |-- index.jsp
             `-- jsp
                 `-- websource.jsp

JSPでspringbootを使用するためのガイドと公式のサンプル:ガイドサンプルレポ

実装構造のWARは下のJSPファイルを保つことを主張しwebapp/たフォルダと期待どおりに動作します。webappフォルダからファイルをコピーしますMavenの戦争の目標WEB-INFJSPのように、すべてのリソースファイルは、ここで戦争packaging.Fromのルートになります、のmaven-再パッケージの目標や春ブーツ再パッケージはjarファイル/戦争を作るの面倒を見ますファイルはorginal戦争中に存在している場合well.Theとしてexecutable.Soは、それが実行可能な1になります実行可能な戦争の構造をspringboot次のとおりです。

example.war
 |
 +-META-INF
 |  +-MANIFEST.MF
 +-org
 |  +-springframework
 |     +-boot
 |        +-loader
 |           +-<spring boot loader classes>
 +-WEB-INF
    +-classes
    |  +-com
    |     +-mycompany
    |        +-project
    |           +-YourClasses.class
    +-lib
    |  +-dependency1.jar
    |  +-dependency2.jar
    +-lib-provided
       +-servlet-api.jar
       +-dependency3.jar

コメントのためにそう:

フォルダ内のJSPファイルを置く場合はsrc/main/resources、このディレクトリに置かれているものは、自動的にコピーされますWEB-INF/classesあたりのようWARの ドキュメント

あなたはSRC /メイン/リソースの下にJSPファイルを保持し、YMLまたはプロパティファイルに次のように設定するのであれば、それはWAR archives.Iのために働く必要がないように注意してくださいので、それを試していません。

spring.mvc.view.prefix = /WEB-INF/classes/templates
spring.mvc.view.suffix = .jsp

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=201743&siteId=1