![]() 图 7 指定Servlet过滤器的名字 |
![]() 图 8 指定过滤器的匹配路径模式 |
| 1. package bookstore.servlet; 2. … 3. public class LoginCheckFilter 4. extends HttpServlet implements Filter 5. { 6. … 7. public void doFilter(ServletRequest request, ServletResponse response 8. , FilterChain filterChain) 9. { 10. try 11. { 12. //进行请求和响应的类型转换 13. HttpServletRequest httpRequest = (HttpServletRequest) request; 14. HttpServletResponse httpResponse = (HttpServletResponse) response; 15. 16. boolean isValid = true; 17. String uriStr = httpRequest.getRequestURI().toUpperCase(); 18. if (uriStr.indexOf("LOGIN.JSP") == -1 && 19. uriStr.indexOf("SWITCH.JSP") == -1 && 20. httpRequest.getSession().getAttribute("ses_userBean") == null) 21. { 22. isValid = false; 23. } 24. if (isValid) 25. { 26. filterChain.doFilter(request, response); 27. } else 28. { 29. httpResponse.sendRedirect("/webModule/login.jsp"); 30. } 31. 32. } catch (ServletException sx) 33. { 34. filterConfig.getServletContext().log(sx.getMessage()); 35. } catch (IOException iox) 36. { 37. filterConfig.getServletContext().log(iox.getMessage()); 38. } 39. } 40. … 41. } |
| 1. <web-app> 2. <display-name>webModule</display-name> 3. <filter> 4. <filter-name>logincheckfilter</filter-name> 5. <filter-class>bookstore.servlet.LoginCheckFilter</filter-class> 6. </filter> 7. <filter-mapping> 8. <filter-name>logincheckfilter</filter-name> 9. <url-pattern>/*</url-pattern> 10. </filter-mapping> 11. … 12. </web-app> |