1つのJava EEアプリケーション(warファイル)を別のJava EEアプリケーションに組み込み/埋め込むことはできますか?

StackOverflow https://stackoverflow.com/questions/178554

  •  05-07-2019
  •  | 
  •  

質問

ポータルアプリケーションであるアプリケーションがあり、他のユーザーがアプリケーションを追加できるようにしたい。これを行うには、私のアプリケーションにアクセスできる方法が必要です。これは可能ですか?

役に立ちましたか?

解決

WARを他のWARの中に入れることはできません。 WAR、EJBなどを含むEARファイルが必要です。WAR間通信を実装する1つの方法は、そのロジックをEARに直接パッケージ化することです。それはすべてあなたがやろうとしていることに依存します。

他のヒント

inter .WAR通信を行う方法はメソッドによる http:/ /java.sun.com/j2ee/1.4/docs/api/javax/servlet/ServletContext.html#getContext(java.lang.String)

ServletContext.getContext(URIOfOtherWAR_resource)

あなたが話していることをするためにこれをうまく使用しました。

プラグインシステムまたはポートレットが必要な場合があります。そのため、ユーザーはwarアプリケーションを開発するのではなく、アプリケーション内にポートレットを含めます(war)。標準があります:JSR 168およびいくつかの実装: http://developers.sun.com/portalserver/reference/techart/jsr168/

他の人が指摘したように、WAR内にWARを埋め込むことはオプションではありません。ただし、回避策がある場合があります。

私が使い慣れているほとんどのWebコンテナには、「テスト展開/自動展開」があります。モード/機能。WARが適切なディレクトリにコピーされると、アプリケーションが自動的にデプロイされます。

ご使用のポータルアプリケーションは、WARのアップロードを確実に許可し、アップロードされたバイトを特定のファイル名の下の特定のディレクトリに格納できます。 Webコンテナが残りを実行できます。その後、ポータルなどから新しいアプリケーションにリンクできます。これはすべて比較的簡単です。

ただし、セキュリティ上の懸念がある場合、これは恐ろしい考えであることに注意してください。基本的に、ユーザーがサーバー上で任意のコードを実行できるようにします。すべての潜在的なユーザーが悪意がなく完全に有能であると完全に信頼しない限り(無限ループを考える)、ここで多くの問題を求めています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top