トップページ >  Java >  HttpSessionAttributeListener
初版2008/09/03: 最終更新日2008/09/03
  HttpSessionAttributeListener
目次
実装メソッド
attributeAddedメソッド
getValueメソッド
web.xmlに記述
実装メソッド
HttpSessionAttributeListenerインターフェースは、以下の2つのメソッドを実装する必要があります。

public void attributeAdded(HttpSessionBindingEvent arg0) {}
public void attributeReplaced(HttpSessionBindingEvent arg0) {}
public void attributeRemoved(HttpSessionBindingEvent arg0) {}



attributeAddedメソッド
attributeAddedはセッションにオブジェクトが登録された時のイベント処理を行うメソッドです。
attributeReplacedはセッションのオブジェクトが置換された時のイベント処理を行うメソッドです。
attributeRemovedはセッションのオブジェクトが削除された時のイベント処理を行うメソッドです。
いずれも、セッション操作時に別のセッションを操作したい際などに使用します。
以下、例です。

import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionBindingEvent;
import javax.servlet.http.HttpSession;
  
public class sessionAttributeListener implements HttpSessionAttributeListener{
    public void attributeAdded(HttpSessionBindingEvent arg0){
        HttpSession session = arg0.getSession();
        if(arg0.getValue() instance of Sess1){
            // session1キーに登録しなおし
            session.setAttribute("session1",new Sess2());
        }
    }
  
    public void attributeReplaced(HttpSessionBindingEvent arg0){
        HttpSession session=arg0.getSession();
        if(arg0.getValue() instance of Sess1){
            // session1キーに登録しなおし
            session.setAttribute("session1",new Sess2());
        }
    }

  
    public void attributeRemoved(HttpSessionBindingEvent arg0){
        HttpSession session=arg0.getSession();
        if(arg0.getValue() instance of Sess1){
            // session1キーを削除
            session.removeAttribute("session1");
        }
    }
}


getValueメソッド
HttpSessionBindingEventのgetValueメソッドは、登録されたオブジェクト、又は置換される前のオブジェクト、又は削除さえれたオブジェクトを返すメソッドです。

web.xmlに記述
web.xmlには以下のように記述します。記述箇所も関係あるようですが詳しくはわかりません。

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE web-app
  PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  "http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">

<web-app>

  <listener>
      <listener-class>com.confrage.TEST.SessionListener</listener-class>
  </listener>

...


Information
リンクについて
個人情報保護方針
Yahoo!ブックマークに登録

社長&社員ブログ
やる気はあるがお金がない㈱コンフレッジブログ
広告

サイト内検索
当サイト内を検索できます↓


PV

Other
Validate XHTML 1.1       Validate CSS