1.编码转换

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        // TODO Auto-generated method stub
        // place your code here

        if(!charEncoding.equals(request.getCharacterEncoding()))
        {
            request.setCharacterEncoding(charEncoding);
        }
        
        response.setCharacterEncoding(charEncoding);
        
        // pass the request along the filter chain
        chain.doFilter(request, response);
    }

2.权限校验过滤

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        // TODO Auto-generated method stub
        // place your code here

        HttpServletRequest req=(HttpServletRequest)request;
        HttpServletResponse res = (HttpServletResponse)response;
        
        String servletPath = req.getServletPath();
        
        System.out.println("servletPath " + servletPath);
        
        HttpSession session = req.getSession();
        String flag = (String)session.getAttribute("flag");
        
        if(servletPath != null &&
                (servletPath.equals("/21/login.jsp") ||
                        (servletPath.equals("/21/index.jsp")) ||
//                        servletPath.equals("/21/hello.jsp") ||
                        (servletPath.equals("/21/LoginServerlet21"))
                        ))
        {
            chain.doFilter(request, response);
        }else
        {
            if(flag != null && flag.equals("login_success"))
            {
                chain.doFilter(request, response);
            }
            else if(flag != null && flag.equals("login_error"))
            {
                req.setAttribute("msg", "登陆失败,请重新登陆!!!!<br />");
                req.setAttribute("return_uri", servletPath);
                RequestDispatcher rd = req.getRequestDispatcher("/21/login.jsp");
                rd.forward(req, res);
            }
            else
            {
                req.setAttribute("msg", "你尚未登陆");
                req.setAttribute("return_uri", servletPath);
                RequestDispatcher rd = req.getRequestDispatcher("/21/login.jsp");
                rd.forward(req, res);
            }
        }

3.源码

  https://git.oschina.net/zkzk945/JavaEE.git