- 締切済み
フィルタ処理で遷移したページで更新ボタンを押した場合の挙動
複数のフィルタ処理をシステムでおこなっていて、 文字コード設定、認証設定とありました。 今回ここに、サービス時間9-17時の間以外に アクセスしてきた人には、「時間外です+イメージ図」(Aページ.jspとします。)というページを表示する処理を一番はじめに処理するフィルタとして追加しました。 しかし、Aページにて更新ボタンを押した場合、図が表示されません。ばってん表示となり、htmlソースは、<img src="xxxx" > はきちんと書かれていますが、表示しないのです。 Aページで更新ボタンをおしてもフィルタ処理は必ず行われていると思います。 実際に、システム日時を10時とかに設定して更新を押すと、フィルタ処理が行われています。 図が表示されない。ということは、どういったことなのでしょうか?教えてください。よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- tomom1111
- ベストアンサー率0% (0/2)
イメージファイルってjsp(HTML)がユーザーに返されてから、 あとでWebブラウザがサーバに別途取りにいくんじゃなかったでしたっけ? だからフィルターは関係なく、イメージファイルのパスが違うだけのような気がします。 試しに<img src="/コンテキストルート/picture/xxx.jpg"> としてみてください。
jspのscopeが間違っているのではないでしょうか?
補足
すみません。もう少し詳しく教えていただけますか? イメージファイルは、 <img src="/picture/xxx.jpg"> です。 転送先.jsp のHTMLソースでパスもあっています。 しかし、表示はばってんボタンとなります。 大きさも取得できています。 リクエストがあった場合、フィルター処理にはいり、 フィルタ処理内容が「エラーページへ」の場合に RequestDispatcherで転送先jspへ飛ばします。 本メールで書いているページへ飛ばしたいだけなのですが、イメージ図が表示されません。 スコープというキーワードでひろってはいるのですが、 いまのところわかりません。
お礼
いろいろありがとうございます。 結果報告します。 同じコンテキスト内では画像は表示できない。という結論にいたり、画像をコンテキスト外におくこととなりました。 JSPで<img src=xxxx> とかで指定すると、 リクエストがサーバにいくと、サーバーがどの場所だ。ってさがしにいき、結果を返す。 今回、フィルタ処理にて、リクエストをサーバーに 送ったときに、アクセス可能、アクセス不可能 と 判定するフィルタであったので、 イメージ図のレスポンスをうけとる行為がすでにできなかったのかな??と思いました。 まだまだ勉強不足で試行錯誤でまちがっているのかもです。ありがとうございました。
補足
時間外アクセス時にhttp://hogehoge.main.jsp (1)画像は、ばってん表示 画像にセッションIDが付加されてました。 (2)ばってんの状態で更新ボタンをおすと、 画像サイズを認識しましたが、ばってん表示 (3)お気に入りにいれたURL(http://hogehoge.main.jsp) に再度アクセスすると 画像が表示されました。 といった現象がおきています。 <img src="/コンテキストルート/picture/xxxjpg">と やりましたが、上記のようになります。 検証内容詳しくかきますと、 (1)初回アクセス時にWEBサーバのセッション管理が開始され、ログイン前のフィルタ処理であるのに、sesssionIDが発行されて下記のようについてきている <img src="/コンテキストルート/picture/xxx.jpg;jsessionid=xxxxxxxxx> (2)更新ボタンをおすと、パスが取得できていない <img src="/コンテキストルート/picture.xxx.jpg"> url上で該当ページをたたくと表示される (3)http://hogehoge.main.jspを押すと、フィルタ処理にはいらずに、画像表示される JSP上に <base href="<%= request.getScheme() %>://<%= request.getServerName() %><%= request.getContextPath() %>/">として記述もしている (http://java.269ch.jp/archives/2005/12/tomcatjava_1.html 参考にしました) 下記も参考にしましたが、問題点がつかめていません。 (http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=33377&forum=12&4)