Электронный магазин на Java и XML

       

Использование класса carttistener


Поскольку процессор сервлетов во многом определяет поведение объекта HttpSession, решение проблем отладки, связанных с сеансами, может оказаться непростым делом. API сервлетов предоставляет интерфейс HttpSessionBindingListener и класс HttpSessionBindingEvent для решения проблем отладки и для управления ресурсами, которые могут быть присоединены к объекту HttpSession.

В листинге 4.13 показан простой пример использования этого интерфейса в классе CartLi stener, который является внутренним по отношению к классу Catalog- Serv. В этом примере мы просто записываем системное время присоединения объекта к объекту HttpSession, и затем, когда сеанс закрывается, печатаем время жизни объекта. Объект CartLi stener присоединяется к объекту ShoppigCart, когда он создается в первый раз методом doPost (см. листинг 4.5).

Листинг 4.13. Внутренний класс CartListener (CatalogServ.java)

class CartListener implements

HttpSessionBindingListener {

long created ;

public void valueBound( HttpSessionBindingEvent evt ){

created = System.currentTimeMillis();

}

public void valueUnbound( HttpSessionBindingEvent evt ){

long del = System.currentTimeMillis() - created ;

System.out.println( "Session lifetime: " + ( del / 1000 )

+ " seconds ");

}

}

}



Содержание раздела