0

サーブレットとjspを備えたスタンドアロンのシンプルなJavaWebアプリケーションがあり、名前はFileDisplayであると言います。URLを介してホームページにアクセスしています- http://localhost:8080/FileDisplay/index.jsp

アプリケーションが本質的に行うことは、完全なパスを持つファイル名(.xmlおよび.pdf)のリストを取得することです。これらのファイルは、D:\ ABCD、D:\ XYZ、D:\ PP \ 2012 \ 08などのさまざまな外部ディレクトリに保存されますが、Webアプリケーションと同じマシンの別のドライブに保存されます。したがって、リターンリストは次のようになります-

D:\ABCD\filename1.xml  
D:\ABCD\filename2.xml  
D:\ABCD\pdf1.pdf 

<a href="">jspでsimpleを使用すると、機能しません。ビューソースでは、次のようになります-

<a href="D:\ABCD\pdf1.pdf">file1</a>

これらのファイルはWebアプリの一部ではないため、コンテナーはローカルであるとは見なさず、ファイルを開くことができないためだと思います。リンクの上にマウスポインタを置くと、ステータスバーがとして表示されfile:///D:\ABCD\pdf1.pdfます。また、でプレフィックスfile:///を付けてみましたがhref、それでも機能しません。それで私は他のいくつかのことを試みました。
私が試したことの1つはContext、Tomcatでの設定server.xmlですが、それでも機能しないようです。私はEclipseを使用してTomcatをビルド、デプロイ、実行しているので、server.xmlこのコンテキスト用に変更したのはEclipseワークスペース内のものです。
私が使用した設定は-

<Context docBase="D:/ABCD" path="/File-Display/NB" reloadable="true"/>  

メインアプリケーションに設定された別のコンテキストがあります-

<Context docBase="FileDisplay" path="/FileDisplay" reloadable="true" source="org.eclipse.jst.j2ee.server:FileDisplay"/>  

私はここで何が間違っているのですか?

もう少し説明しますか?

4

1 に答える 1

2

私はあなたが間違った道を進んでいると思います。

ファイルシステムに分散されているさまざまなファイルへのアクセスを提供する場合は、URLを受け入れ、適切なファイルを読み取り、それを応答出力ストリームに書き込むコントローラー(サーブレット)を作成します。

このようにして、リソースへのアクセスを制御したり、リソースを安全にしたりすることができます。アプリケーションを簡単に変更できます(たとえば、ファイルの場所を変更した場合)。等

于 2012-08-29T15:20:07.210 に答える