zoukankan      html  css  js  c++  java
  • 登陆filter

    1.什么是fiter

      Filter就像一个一个哨卡,用户的请求需要经过Filter,并且可以有多个过滤器

    2.登陆filter作用

      防止盗链接(没登陆就可以访问后台)

    3.LoginFilter.java

    package com.zy.filter;
    
    import java.io.IOException;
    
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class LoginFilter implements Filter{
    
        @Override
        public void destroy() {
        }
        @Override
        public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
                throws IOException, ServletException {
         //doFilter方法的第一个参数req,是ServletRequest 类型的,不支持setCharacterEncoding,
       //所以要先强制转换为HttpServletRequest HttpServletRequest request
    = (HttpServletRequest)req; HttpServletResponse response = (HttpServletResponse)res; String uri = request.getServletPath();
         //静态资源放行
    if(uri.endsWith(".css")||uri.endsWith(".js")||uri.endsWith(".png")){ chain.doFilter(request, response); return; }
         //登陆url放行
    if(uri.endsWith("login.jsp")||uri.endsWith("login")){ chain.doFilter(request, response); return; } String loginname = (String)request.getSession().getAttribute("loginname");
         //session没账号缓存,不放行
    if(loginname == null){ response.sendRedirect("login"); return; }else{ chain.doFilter(request, response); return; } } @Override public void init(FilterConfig arg0) throws ServletException { } }

    4.web.xml配置

           <!-- 登陆过滤 -->
        <filter>
            <filter-name>LoginFilter</filter-name>
            <filter-class>com.zy.filter.LoginFilter</filter-class>
        </filter>
         
        <filter-mapping>
            <filter-name>LoginFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
  • 相关阅读:
    微软职位内部推荐-Senior Development Lead
    微软职位内部推荐-Senior Program Manager
    微软职位内部推荐-Senior PM
    微软职位内部推荐-Principal Software Eng Mgr
    微软职位内部推荐-Senior Software Engineer
    mysql性能优化-慢查询分析、优化索引和配置
    MySQL慢日志查询
    spark运行模式
    scala+hadoop+spark环境搭建
    MySQL Sleep进程
  • 原文地址:https://www.cnblogs.com/yixtx/p/8359005.html
Copyright © 2011-2022 走看看