Servlet Filter 过滤器 对指定页面不拦截
2018-03-06 14:47
507 查看
package niit.dxs.controller; import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; public class LoginFilter implements Filter { private String excludedPage; private String[] excludedPages; @Override public void init(FilterConfig filterConfig) throws ServletException { excludedPage = filterConfig.getInitParameter("excludedPages"); if (excludedPage != null && excludedPage.length() > 0){ excludedPages = excludedPage.split(","); } } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { // 获取 resquest、response、session HttpServletRequest request = (HttpServletRequest) servletRequest; HttpServletResponse response = (HttpServletResponse) servletResponse; HttpSession session = request.getSession(); // 定义表示变量 并验证用户请求URL 是否包含不过滤路径 boolean flag = false; for (String page:excludedPages) { if (request.getServletPath().equals(page)){ flag = true; } } // 验证用户登录 if (flag){ filterChain.doFilter(request,response); }{ String userName= (String) session.getAttribute("userKey"); System.out.println("userid——————————》"+userName); if (userName != null){ filterChain.doFilter(request,response); }else { request.getRequestDispatcher("index.jsp").forward(request,response); } } } @Override public void destroy() { } }
web.xml
<!-- 过滤器 --> <filter> <filter-name>LoginFilter</filter-name> <filter-class>niit.dxs.controller.LoginFilter</filter-class> <init-param> <param-name>excludedPages</param-name> <param-value>/index.jsp,/register.html,/RegisterServlet,/LoginServlet</param-value> </init-param> </filter> <filter-mapping> <filter-name>LoginFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
相关文章推荐
- Servlet Filter 过滤器 对指定页面不拦截
- jsp中用过滤器filter拦截指定页面,转到servlet处理后返回目标页面的一个小例子
- 使用过滤器Filter解决JSP+Servlet页面编码乱码
- servlet和jsp页面过滤器Filter的作用及配置
- Servlet Filter(过滤器)、Filter是如何实现拦截的、Filter开发入门
- servlet和jsp页面过滤器Filter的作用及配置
- 使用filter拦截servlet和jsp页面的内容,进行过滤后输出
- Servlet和JSP页面过滤器Filter介绍
- servlet和jsp页面过滤器Filter详解
- Servlet 过滤器Filter判断用户是否登陆(jsp页面)
- 【转载】Servlet Filter(过滤器)、Filter是如何实现拦截的、Filter开发入门
- servlet和JSP过滤器Filter
- 用Servlet过滤器去除JSP页面中的乱码
- Servlet中的过滤器(拦截器)Filter与监听器Listener的作用和区别
- Servlet学习笔记(八):过滤器Filter详解
- 过滤器(filter)实现用户登录拦截
- Servlet 过滤器Filter
- servlet过滤器Filter入门(转,有自己的例子)
- JavaWeb学习篇之----Servlet过滤器Filter和监听器
- jsp/servlet中的过滤器Filter配置总结