JSP は標準 API に準拠しているため、プロジェクトで JSP をプリコンパイルし、その結果を任意のサーバーにデプロイできますか?
具体的には、Tomcat、JBoss、および WebSphere を使用しています。
JSP は標準 API に準拠しているため、プロジェクトで JSP をプリコンパイルし、その結果を任意のサーバーにデプロイできますか?
具体的には、Tomcat、JBoss、および WebSphere を使用しています。
いいえ、そうではありません。JSP コンパイラーによって作成された Java ソースを見ると、コンテナー専用の基底クラスを拡張していることがわかります。たとえば、JBoss 4 のサーブレット コンテナorg.apache.jasper.runtime.HttpJspBase
は、Tomcat および JBossWeb 固有の を拡張する JSP クラスを生成します。
そのため、さまざまな tomcat ベースのサーバー間でコンパイル済みの JSP を再利用できる可能性がありますが、それでも機能しない可能性があります。
サーブレット/JSP エンジンはアプリ サーバー間で異なるため、移植できないバイト コードが追加される可能性があります。
それを確認するためにテストを書く必要があります。時間があれば、Tomcat と WebLogic で試して、また報告します。