码迷,mamicode.com
首页 > 其他好文 > 详细

Servlet Filter 过滤器

时间:2016-03-08 23:40:24      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:

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

Servlet Filter 过滤器

标签:

原文地址:http://www.cnblogs.com/zkzk945/p/5255817.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!