Очень простой перехватчик разрешения входа в систему, конкретный код заключается в следующем:
Следующий код - это код, который наследует OncePerquestFilter для реализации фильтрации входа в систему:
/ ** * * @author geoin * @date 2012-4-10 2:37:38 */ пакет com.test.spring.filter; импортировать java.io.ioexception; Импорт java.io.printwriter; Импорт javax.servlet.filterchain; Импорт javax.servlet.servletexception; Импорт javax.servlet.http.httpservletrequest; Импорт javax.servlet.http.httpservletresponse; Импорт org.springframework.web.filter.onceperquestfilter; /** * фильтр для входа * * * @author geoin * @date 2012-4-10 2:37:38 * / /public class sessionfilter experrequestfilter { / * * (non-javadoc) * * @see * org.springframework.web.filter.onceperrequestfilter#dofilternal ( * web.filter.onceperquestfilter#dof javax.servlet.http.httpservletrequest, * javax.servlet.http.httpservletresponse, javax.servlet.filterChain) */ @override Protected void -replaterchain (httpservlectrequest, httpservessonse respense, httpservlectrequest, httpservessonse response, httpservletrequest -запрос, httpservessonse, htttpservessonse, httpserbletrequest -recsouse, httpservletrequest -recsoncessone. IoException {// но фильтрованная uri string [] notfilter = new String [] {"login.html", "index.html"}; // Запрашивается uri string uri = request.getRequesturi (); // Фильтр if (uri.indexof ("founale")! = -1) {// Будь то фильтровать логический DoFilter = true; for (string s: notfilter) {if (uri.indexof (s)! = -1) {// Если URI содержит нефильтрованные URI, dofilter = false; перерыв; }} if (dofilter) {// выполнить фильтрацию // Получить объект входа в систему из объекта сеанса obj = request.getSession (). getattribute ("LoginedUser"); if (null == obj) {// Если объект входа не существует в сеансе, всплывающее окно пробуждает снова войти в систему // Установите набор символов запроса и ответа, чтобы предотвратить исчезновенный запрос.setcharacterencoding ("UTF-8"); response.setcharacterencoding ("UTF-8"); Printwriter Out = response.getWriter (); String loginPage = "...."; StringBuilder Builder = new StringBuilder (); Builder.Append ("<<Script Type =/" Text/JavaScript/">"); builder.append ("alert ('Срок действия веб -страницы, пожалуйста, войдите в систему!');"); builder.append ("window.top.location.href = '"); Builder.Append (LoginPage); Builder.Append ("'';"); builder.append ("</script>"); out.print (builder.tostring ()); } else {// Если объект входа существует в сеансе, продолжайте FilterChain.dofilter (запрос, ответ); }} else {// Если фильтрация не выполнена, продолжить filterChain.dofilter (запрос, ответ); }} else {// Если URI не содержит фон, продолжайте FilterChain.dofilter (запрос, ответ); }}} После написания фильтра необходимо настроить его в web.xml:
<filter> <filter-name> sessionfilter </filter-name> <filter-class> com.test.spring.filter.sessionFilter </filter-class> </filter> <Filter-Mapping> <Filter-name> SessionFilter </filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <url-pattern>/*</url-pattern>
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.