- PR -

JSPのローカルファイルへのリンクについて

投稿者投稿内容
ひらく
会議室デビュー日: 2006/06/29
投稿数: 8
投稿日時: 2006-06-29 23:41
こんばんわ。
現在、ローカルファイルの情報をとってきて、
ファイル名を表示
そのファイル名をクリックするとそのファイルの内容を表示と言う事をやっているのですが、
クリックしても無反応で困っております。
リンク先は
file:///C:\test.txt
となっております。

HTMLで作成すると成功するのですが、JSPだとうまくいきません。
もう5時間ほど試行錯誤して発狂しそうです;;

JSPではローカルファイルは開ける事はできないのでしょうか?
ご教授お願いします。

環境:Tomcat + Java 1.5 + Eclipse
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-06-30 00:22
ローカルとは、サーブレットコンテナ自身のローカルでしょうか?
そのサーブレットに接続するクライアントのローカルでしょうか?

そもそもサーバ側が接続元のファイルシステムの情報を得る事はできません。

まず、具体的にどういう目的で何がしたいのか、
それを提示してみてはいかがでしょうか。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-06-30 00:37
html で出来ることは jsp でできます。

なにがどううまくいかないのでしょうか?
html でうまくいっているのであれば html の拡張子を jsp に変えただけではだめでしょうか?
ひらく
会議室デビュー日: 2006/06/29
投稿数: 8
投稿日時: 2006-06-30 10:51
返信ありがとうございます。発狂しすぎて、内容が正確に伝えれてませんでした。
と同時に、実際には不可な事も可能といってましたので、前回の発言は無視してください・・。

>>ローカルとは、サーブレットコンテナ自身のローカルでしょうか?
サーブレットコンテナ自身のローカルです。

やりたい事なのですが、
ユーザーがサーバー側のローカルファイルへリンクで飛べないのです。

現在やっている事ですが、Tomcatを起動し、同じPCから
http://localhost:8080/test.jsp
にアクセスします。

//---test.jspの内容--------------------------------------
<%@ page contentType="text/html; charset=Shift_JIS" %>

<a href="F:\test\test.jpg">test</a>
//-------------------------------------------------------

test と表示されリンクはあるものの、クリックしても無反応です。

//---test.jspの内容--------------------------------------
<%@ page contentType="text/html; charset=Shift_JIS" %>

<img src="F:\test\test.jpg">
//-------------------------------------------------------

などでしたら、画像は表示されます。

ご教授お願いします。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-06-30 11:07
HTMLで実行してローカルのファイルにリンクが出来たのは、
マイコンピュータのゾーンでブラウザが起動していたからではありませんか?
ステータスバーの右下に、「インターネット」「イントラネット」「マイコンピュータ」
等と表示されていると思います。

また画像が表示されているのはサーバのFドライブではなくて、
クライアントのFドライブにたまたま同じ名前の画像ファイルがあっただけです。

JSPが返した<img src="F:\test\test.jpg">は、
ブラウザが自身の端末のFドライブを見ようとします。リンクも同様です。

具体的に何を目的としているのでしょうか?
httpdによくあるファイルリストのページを作りたいのでしょうか?
ひらく
会議室デビュー日: 2006/06/29
投稿数: 8
投稿日時: 2006-06-30 13:46
返信ありがとうございます。

>>HTMLで実行してローカルのファイル〜〜〜
そうです、マイコンピューターから実行してました。

>>JSPが返した<img src="F:\test\test.jpg">は、
>>ブラウザが自身の端末のFドライブを見ようとします。リンクも同様です。
リンクも同様の場合、クリックしても反応がないのは
ブラウザ側の端末にリンク先がないからと言う事でしょうか?

目的は、現在パソコンの中にあるMP3を整理したいのですが、
C: D: E: F:
とそれぞれのドライブにMP3があるので、これらをまとめて表示させ、
出てきたファイル名をクリックするとWindowsMediaPlayerが立ち上がる
と言う事をしようとしています。

JAVAでやる必要はないのですが、お願いします。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-06-30 14:42
JSPにアクセスした場合、マイコンピュータのゾーンにはならないので、
ローカルのファイルにはリンクを経由して開くことはできません。
(設定次第でどうにかなるのかな・・・?)

要件をまともに実装すると、
1.JSPで生成するリンク先はサーブレットにしてパラメータで
  ファイルを示すIDを付ける
2.サーブレットでIDを受け取る
3.サーブレットでファイルシステムからIDを元にファイルを取得
4.ファイルの中身をサーブレットのレスポンスで返す
って感じで実装します。

#単に整理するなら、WMPとかiTunesでいいような気が・・・
ひらく
会議室デビュー日: 2006/06/29
投稿数: 8
投稿日時: 2006-07-01 11:15
返信ありがとうございます。
やはりサーブレットを使わないと駄目ですか。

かつのりさん、インギさん

助言ありがとうございます。これで先に進めそうです。
また何か進展があれば(サーブレットを使わずにいけたら)、
こちらに書かせていただきます。
この度は本当にありがとうございました。

スキルアップ/キャリアアップ(JOB@IT)