0

パッケージ化されたtomcate7でubuntuを使用しています。.warファイルを使用して Web サイトをアップロードしました。ウェブは正常に動作しています。

これは私のウェブサイトではありませんが、そこにあります:

:/var/lib/tomcat7/webapps/ROOT$ ls
index.html  META-INF

サイト ファイル (.war 内のファイル) は次の場所にあります。

/var/cache/tomcat7/Catalina/localhost/_/org/apache/jsp/

/var/cache/tomcat7/Catalina/localhost/_/WEB-INF/classes/

次のようなシステム全体の検索で .css または .js ファイルが見つかりませんfind / -name '*.css' -ls

  1. 彼らはどこにいる?!

  2. tomcat に .class ファイルを与えるか、.jsp .java ファイルを削除する簡単な方法はありますか (たとえば、実際のソースではなく .class のみを与えたくない場合) JSP プリコンパイル。ビルド時に一部のツール (jspc) が難しい。簡単なウォークスルーはありますか?

4

1 に答える 1

0

WARファイルはサーバーの「どこかに」ある可能性がありますが、Tomcatは、デプロイ時にWARファイルを「分解」せず、単にWARから直接リソースを提供するように構成されている可能性があります。これが、Webサイトが「機能」しているのに、実際の.cssファイルが見つからない理由である可能性があります。.cssファイルはファイルシステムに存在しませんが、WARには含まれています。

#2、JSPのプリコンパイルに関しては、何らかの理由で、これはまだ半自動化された「燃えるようなフープを飛び越える」プロセスです。

デプロイ前にJSPをプリコンパイルするには、JSPファイルをJavaソースファイルに変換し、そのファイルをコンパイルして、結果のクラスを最終的なWebアプリでサーブレットとしてマッピングし、最後にWebアプリからJSPファイルを削除する必要があります。

プロセスについて説明しているTomcatページがありますが、(自動化の観点から)ソリューションの一部しか提供していません。

もちろん、プリコンパイルが一般的でない理由の1つは、プリコンパイルされたJSPがコンテナー間で移植可能ではなく、必ずしも同じコンテナーのバージョンでも移植できないことです。ですから、それは注目すべき問題です。

于 2013-02-19T18:58:06.107 に答える