現在、Eclipse Juno と Tomcat 7 で、マルチメディア ファイル (画像、その他のサブページなど) を保持するための「仮想フォルダー」が必要なプロジェクトを達成しようとしています。URI ベースの構文 (/Content/Image 内の画像にアクセスしたいとしましょう) でファイル パスを提供する方法が既にいくつかあり、その URI を C:\Users\MyUser\Content\image にマップしたいと考えています (Iプロジェクトを Windows システムにバインドしていることは認識していますが、この問題の後半で回避策を示します)。
現在、私のプロジェクトは pj と呼ばれ、Eclipse は Eclipse の tomcat インスタンス内に pj というコンテキストを作成しました (これは非常に理にかなっています)。プロジェクトをテストするとき
> http://localhost:8080/pj
それは正常に動作します (そして、動作するはずです)。
しかし、ここに問題があります。今まで、Tomcat で URI を作成して Content/Image パスに実際に移動し、コンテンツを取得してページに追加する方法を見つけられませんでした (Web にコンテンツを保持するには不健康な場所を読んでください)。 -INF フォルダーなので、実際に正しい方法で実行しようとしています)。また、この目的を達成するには、コンテキストで次のようなことをしなければならないことをどこかで読んでください。
<context docbase="d:/images" path="/Content/Images"></context>
また、Tomcat で URI を解決するには、その目標を達成するためにコンテキストを使用する必要があることもお読みください (URI の意味とファイル システム内の場所との間の橋渡しを行います)。それでも、Tomcat 4以降(間違っていない場合)、server.xmlをいじることは想定されていないため、これを正しく行う別の試みで、表示されているコードでcontext.xml内のMETA-INFにコンテキストを実際に追加しようとします前。しかし、ここに別の問題があります。http://tomcat.apache.org/tomcat-7.0-doc/config/context.htmlで述べたように、パスタグを追加すると tomcat が狂ってしまうようです。
だから私はここで本当に束縛されています....私が聞きたいのは:
- マルチメディアコンテンツを取得するためにWebプロジェクトに外部フォルダーを実際に追加する最良の方法は何ですか?
- Eclipse内で動作させるにはどうすればよいですか?
PS: プロジェクト内のメソッドの 1 つで、getLoader メソッドを使用して InputStream (Java.io InputStream NOT Corba) を返し、null を返す (つまり、見つからない) ため、これを求めています。
編集: conext を手動で挿入して実際に server.xml をいじろうとしましたが、うまくいきませんでした。サーバー上で相対 URI を挿入しても機能しません (内部に有効なファイルがある local:8080/Content/Image) または私の中に入るメインプロジェクトとgetstreamを実行しても機能しません