プロが教える店舗&オフィスのセキュリティ対策術

はじめまして。Java初心者です。
宜しくお願します。

具体的には、
1.セッション作成時(sessionCreated)に、
HttpServletrequest,HttpServletresponse
 をHttpsession setAttributeでセットしてあげる。
2.セッション削除時(sessionDestroyed)に、
1.でセットしたrequest,response
 をHttpsession getAttributeで取得する。
 2-1 エラー画面へforwardする。
2.のソースはいかのように行っていますが、forwardのところで
nullpointer.exceptionでうまくいきません。
public void sessionDestroyed(HttpSessionEvent event){
HttpSession session = event.getSession();
/* request,responseオブジェクト取得*/
HttpServletRequest request = (HttpServletRequest)session.getAttribute("request");
HttpServletResponse response = (HttpServletResponse)session.getAttribute("response");
try {
// エラー画面表示
request.getRequestDispatcher("/err.jsp").forward(request,response);

} catch (ServletException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
} catch (IOException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
System.out.println(e.getStackTrace());
}

}

ご存知の方がいらっしゃいましたらご教授願います。
また、方法が基本的におかしいというアドバイスでも構いません
ので宜しくお願します。

OS:windows2000
tomcat:5.0
eclipse:3.0

A 回答 (1件)

もっと、Webの基本を勉強して下さい。



リクエスト、レスポンス共に1回のリクエストで消えてしまいます。
セッションに入れたとしても、リクエストが完了した時点でオブジェクトは消えてしまいます。
なので、セッションに格納したリクエスト、レスポンスを取得してもnullなのは明白です。
    • good
    • 0
この回答へのお礼

勉強不足で申し訳ありません。
レスポンスを返そうとしている間(処理中)に
セッションタイムアウトが発生した場合は
どうなるんでしょうか?
リクエスト、レスポンスはその時もnullですか?

お礼日時:2006/02/01 16:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!