0

ファイルを作成したとしましょう

String path = application.getRealPath("userSearchFolder");
String name = path + "/" + (String) session.getAttribute("username") + ".xml";
File file = new File(name);

そして後で、たとえばリンクとして利用できるようにしたい

 <a href"<%=file.toURI()%>">File</a>

何が起こるか私はURLパスではなくディレクトリパスを取得します->

file:/D:/Documents/NetBeansProjects/2012/GATE_Project/build/web/userSearchFolder/mjoraid.txt.xml

そして、Firefoxに到達したら、リンクにカーソルを合わせると、次のように表示されます。

file:///D:/Documents/NetBeansProjects/2012/GATE_Project/build/web/userSearchFolder/mjoraid.xml

右クリックして[リンクの場所をコピー]を選択してURLに貼り付けると、xmlファイルが開きますが、リンクをクリックしても何も起こりません。

どうすればこのようなリンクを取得できますか

http://localhost:8080/GATE_Project/somepage/somepage/mjoraid.xml
4

3 に答える 3

1

は、WebアプリのパスではなくgetRealPathファイルシステムのパス(したがって「実際の」)を提供します。したがって、それをhrefにすることはできません。

以下で十分です。

<a href="/userSearchFolder/${userName}.xml">

(もちろん、このようなパブリックアクセス可能なXMLファイルのデータマイニングのリスクがあります。)

于 2012-06-08T21:57:15.570 に答える
0

OK、私は手動でそれを行いました。これは、phpで行っていたのと同じように、Webサイトのメインディレクトリを含む変数を作成します。

  String searchFolderURL = "http://localhost:8080/GATE_Project/userSearchFolder/"; 

その後

 <a href="<%=searchFolderURL + file.getName()%>" target="_blank"  >See original txt File </a>

ところでありがとう。

于 2012-06-09T12:08:18.660 に答える
0

サーブレットを使用してファイルを提供できます。

このチュートリアルでは、PDFファイルを提供する方法を示します(!)

理論は同じです:

  • サーブレットにファイルをロードします
  • 必要なヘッダーを設定します
  • 応答にデータを書き込みます

ContentTypeはおそらく「application/xml」である必要があります。

于 2012-06-08T22:08:06.450 に答える