Просто быстрый вопрос.При входе в систему я помещаю каждого пользователя в базу данных, потому что только один пользователь может войти в систему с тем же именем и паролем.Если этот пользователь уже находится в БД, я не впускаю его. Когда пользователь выходит из системы, я очищаю таблицу дБ и аннулирую сеанс в сервлете.Теперь, если пользователь забыл выйти, сеанс, очевидно, истечет, например, в.20 минут, поэтому в web.xml я создал это:
<listener>
<listener-class>com.servlets.dbclean</listener-class>
</listener>
Этот класс dbclean затем реализует HttpSessionListener
, а по методу sessionDestroyed
я очищаю базу данных.Мой вопрос: достаточно ли, чтобы эта очистка БД происходила только здесь, потому что, когда пользователь выходит из системы вручную, сеанс будет признан недействительным, и будет вызван этот метод, или я должен очистить БД в сервлете /doLogout
и полагаться на этоСлушатель, когда пользователь забыл выйти?Так это безопасный способ использовать только этот слушатель?