В этой статье описывается функция реализации веб -реализации Java, которая автоматически прыгает на страницу входа после истечения срока действия сеанса. Поделитесь этим для вашей ссылки, следующим образом:
Через фильтры сеанс автоматически перепрыгнет на страницу входа в систему после истечения срока действия.
Фильтры полезны только на серверах, совместимых с спецификацией сервлета. Версия 2.3. Если ваше веб -приложение необходимо для поддержки устаревших серверов, вы не можете использовать фильтры.
1. Установить основные фильтры
Установление фильтра включает в себя следующие пять шагов:
1) Установить класс SessionFilter, который реализует интерфейс фильтра . Этот класс требует трех методов, а именно: Dofilter, init и уничтожение. Метод DoFilter содержит основной код фильтрации, метод INIT устанавливает операцию настройки, а метод уничтожения очищается.
2) Поместите поведение фильтрации в метод DoFilter . Первым параметром метода DoFilter является объект ServletRequest. Этот объект предоставляет фильтр полный доступ к входящей информации, включая данные формы, файлы cookie и заголовки HTTP -запросов. Второй параметр - это сервис -ответ, который обычно игнорируется в простых фильтрах. Последним параметром является FilterChain, как описано на следующем шаге, который используется для вызова страницы сервлета или JSP.
3) Вызовите метод DoFilter объекта SessionFilter . Метод Dofilter интерфейса фильтра принимает объект Filterchain в качестве его параметра. При вызове метода Dofilter этого объекта активируется следующий связанный фильтр. Если другой фильтр не связан со страницей сервлета или JSP, активируется страница сервлета или JSP.
4) Зарегистрируйте фильтры для соответствующих страниц сервлета и JSP . Используйте элементы фильтра и фильтра в файле дескриптора развертывания (web.xml).
5) Отключить сервлет активатора . Не позволяйте пользователям обходить настройки фильтра с помощью URL -адреса сервлета по умолчанию.
Исходный код заключается в следующем:
пакет com.base.filter; импорт java.io.ioexception; import javax.servlet.filter; импорт javax.servlet.filterchain; импорт javax.servlet.filterConfig; import javax.servlet.servletexception; импорт javax.servletrequest; impormessess.servlex javax.servlet.http.httpservlectrequest; import javax.servlet.http.httpservletresponse; import javax.servlet.http.httpsession; импорт com.base.constants.sessionKeyConstants; импорт com.mvc. // Фильтр уничтожить, обычно выпускать ресурсы} / ** * Некоторые URL -адреса должны войти в систему для доступа (фильтр проверки сеанса) * / public void dofilter (ServletRequest arg0, Servletresponse arg1, filterchain arg2) бросает ioexception, verletexception {httpserveltrequest recement = (httpservelcerquest) arg0; Httpservletresponse response = (httpservletresponse) arg1; Httpsession session = request.getsession (); // Судят, истечет ли сеанс истекает if ((пользователь) session.getattribute (sessionkeyconstants.login) == null) {String errors = "Вы еще не вошли в систему, или сеанс истек. Пожалуйста, войдите в систему!"; request.setattribute ("Сообщение", ошибки); // пропустить на страницу входа. } else {arg2.dofilter (запрос, ответ); }} public void init (filterConfig arg0) бросает ServletException {// инициализировать операцию, прочитать параметры инициализации конфигурации фильтра в web.xml и удовлетворить требования, которые вы не используете этот метод}}2. Настройка в файле конфигурации web.xml
<!-- Set session expiration time to 30 minutes --><session-config> <session-timeout>30</session-timeout></session-config><!-- session filter configuration related--><filter> <filter-name>SessionFilter</filter-name> <filter-class>com.base.filter.SessionFilter</filter-class></filter><filter-mapping> <filter-name> sessionFilter </filter-name> <purl-pattern>/контракт/*</url-pattern> <url-pattern>/user/*</url-pattern> <sispatcher> вперед </dispatcher> <!-В данном случае, если запрос начинается с/… или/пользователь/… и проходит через переходной метод запроса, или он будет продлен, и он будет проходить через это. -> <Диспетчер> Запрос </dispatcher> </filter-mapping>
Для получения дополнительной информации о контенте, связанном с Java, пожалуйста, ознакомьтесь с темами этого сайта: «Учебное пособие по структуре данных Java и алгоритм», «Сводка навыков работы файлов и каталогов Java», «Сводка операции Java node node» и «Сводка операции Java Cache
Я надеюсь, что эта статья будет полезна для всех Java Programming.