首页 > 其他 > 详细

Servlet Filter 过滤器

时间:2016-03-08 23:37:24      阅读:171      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!