JAVEWEB 过滤器Filter的实现

实例:encodingfilter 编码过滤器 secuityfilter 安全过滤器

一、EncodingFilter 编码过滤器

  1. 建立EncodingFilter类,此类继承Filter(java.Servlet.* )                                                                                                                                                                                                                                                                                                                             见右图:
  2. public void doFilter(ServletRequest arg0, ServletResponse arg1,
    FilterChain arg2) throws IOException, ServletException {
    		
    //设置字符为utf-8
    arg0.setCharacterEncoding("utf-8");
    arg1.setCharacterEncoding("utf-8");
    		
    //后续流放行
    arg2.doFilter(arg0, arg1);
    		
    		
    System.out.println("过滤器过滤");
    		
    }

    web.xml配置文件 - Add Filter【namg:encodingfilter + 类】Add Filter Mapping【encodingfilter】                                                                                                                                                                                                                                                                                                                                                                                                                

  3. 运行,编码过滤实现

 二、SecurityFilter 登录过滤器(防止非法登入)

  1. 建立SecurityFilter类,此类继承Filter(java.Servlet.* )                                                                                                                                                                                                                                                
    public void doFilter(ServletRequest arg0, ServletResponse arg1,
    FilterChain chain) throws IOException, ServletException {
    //启动过滤器
    
    //设置类型为HttpServletRequest HttpServletResponse
    HttpServletRequest request= (HttpServletRequest) arg0;
    HttpServletResponse response = (HttpServletResponse) arg1;
    		
    //如果后台登录成功传入"login"参数为ok
    if("ok".equals(request.getSession().getAttribute("login")))
    {
    //登录放行
    chain.doFilter(arg0, arg1);
    }
    else
    {
    //失败放行
    request.getRequestDispatcher("../failed.jsp").forward(request, response);
    }
    
    }

                                                                                                                                                                               

  2. 按照上步骤,成功实现登录拦截

猜你喜欢

转载自blog.csdn.net/qq_36755212/article/details/82589892