2011-12-31 20 views
1

私はちょうどデータベース内のいくつかのクエリを実行してから、いくつかのWebページのファイルパスを返すjava tomcatプロジェクトを行っています。生成されたjava tomcatリンクが動作しない

私は唯一のクラスをweb.xmlにマッピングしました。webappはローカルディスクのいくつかのhtmlページに対応するURLのリストを返します。私はwebappにサイドフレームを設定しました。私の考えは、 "file:/// file_path_of_html_page"のような出力ページに結果を出力し、このリンクをクリックすると、サイドフレームにhtmlページが表示されます。

実際に私は適切なリンクを持っていますが、クリックすると何も起こりません。クロムは "ローカルリソースをロードできません"と伝えます。ターゲットを「空白」に設定しても、リンクは機能しません。しかし、 "file:/// filepath"はアドレスバーに入力するとすべてOKです。私はEclipseプロジェクトフォルダ内のすべてのhtmlページを移動しましたが、それは助けになりませんでした。

この簡単な作業を行うための提案はありますか?

答えて

4

親リソースがそれ自身でhttp://以上にサービスされた場合、セキュリティ上の理由により平均ブラウザではfile://リソースが開かれます。それらを完全にhttp://リンクにすると、正常に動作します。

ブラウザが許可していても、このアプローチは、別のサーバーにWebアプリケーションを公開するときには機能しません。 A file://リソースは、ローカルディスクファイルシステムを参照します。これは、クライアント(Webブラウザを持つユーザ)が使用しているものです。これは通常の物理的に異なるマシンにあります。クライアントは、file://リンクを動作させるために、あらかじめローカルディスクファイルシステム上のそれらのリソースのコピーをあらかじめ用意しておく必要があります。

Webプロジェクトの公開Webルート(通常はJSPファイルを置く場所など)にHTMLページを置き、(相対)http://リンクを使用してHTMLページを参照します。例えば、http://localhost:8080/contextname/some.jsp

<a href="some.html">link to some html file</a> 

以下のリンクはhttp://localhost:8080/contextname/some.htmlファイルを開きます。

+0

ありがとうございます私の問題を解決する!私はウェブアプリについてもっと学ぶ必要がある..そして、幸せな新年! – darkjh

+0

ようこそ。 – BalusC

関連する問題