0

現在、RHEL 4 Update 9 で WebSphere Application Server Community Edition v3.0.0.1 を実行しています。

以前は WAS 6.1 で実行されていた Web アプリケーションがありますが、WASCE に移行したいと考えていました。実装は、Web コンテンツ フォルダー内にシンボリック リンクされたディレクトリ "symdir" があり、同じファイル システム上にあるが Web アプリケーションと WASCE の外部にある別のフォルダーを指すようなものでした。内部的には、symlinked ディレクトリにコンテンツを動的に構築し、そこへのリンクを作成します。たとえば、symdir -> /tagHome では、/tagFile/some.tag を作成するため、Web アプリはそれを symdir/tagFile/some.tag として認識し、f/s はそれが /tagHome/tagFile/some.tag であることを認識します。次に、 http://hostname:port/context/symdir/tagFile/some.tagにリンクを作成し、ファイルをレンダリングします。これは単純な xml でした。これはすべて、以前は WAS 6.1 で機能していました。

ただし、このタイプの構成でアプリケーションを WASCE に移動すると、機能しなくなりました。具体的には、シンボリックリンクされたディレクトリをトラバースしてコンテンツを取り戻すことができません。さらに言えば、Webアプリケーションパッケージにディレクトリを追加して、それらをデプロイしてから、それらをヒットしようとしました。/context/* がブロックされているようなものです!

Web を掘り下げて最後に試したのは、org.apache.geronimo.tomcat.GeronimoStandardContext.allowLinking=true でした。挙動は変わらなかったようです。

また、似たようなものを here JSP files in external directoryで見つけましたが、web.xml にコンテキスト モジュールを追加するとコンパイラ エラーが発生します。

サーブレットのコーディング以外に、何かアイデアはありますか? 助けてくれてありがとう!

4

1 に答える 1

1

これで問題が修正されました: /etc/system.properties ファイルに次を追加しました:

org.apache.geronimo.tomcat.GeronimoStandardContext.allowLinking=true
org.apache.geronimo.webapplication.stage=development

WASCE を再起動すると、静的コンテンツを提供できるようになりました。おそらく、すべての WASCE ユーザーにとって最適なソリューションではありませんが、私たちにとってはうまくいきました。

于 2012-05-03T16:48:13.497 に答える