zoukankan      html  css  js  c++  java
  • servlet过滤器

    servlet的过滤器解决了是否登录状态问题。

    1.创建一个AccessFilter类,基础代码

    package valid.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 AccessFilter implements Filter{
        public void destroy() {
            System.out.println("请求销毁");
        }
        @Override
        public void doFilter(ServletRequest res, ServletResponse rep,
                FilterChain chain) throws IOException, ServletException {
            HttpServletRequest request = (HttpServletRequest) res;
            HttpServletResponse response = (HttpServletResponse) rep;
            
            String requestURI = request.getRequestURI();
            String path = request.getContextPath();
            //如果请求路径等于首页ctl
            if(requestURI.startsWith(path + "/servlet/valServlet")){
                chain.doFilter(res, rep);
            }
            else{
                //这个时候,就说明需要判断权限了
                Object user = request.getSession().getAttribute("login");
                if(null == user){
                    response.sendRedirect("../index.jsp");
                }else{
                    chain.doFilter(res, rep);
                }
            }
            //放行
        }
        public void init(FilterConfig arg0) throws ServletException {
            System.out.println("请求初始化");
        }
    
    }

    2.web.xml配置

    <filter>
         <filter-name>acess</filter-name>
         <filter-class>valid.filter.AccessFilter</filter-class>
     </filter>
     <filter-mapping>
         <filter-name>acess</filter-name>
         <url-pattern>/servlet/*</url-pattern>
     </filter-mapping>

    所有servlet请求,都会先经过AccessFilter,只要没有登录状态,都将会被拦截,并跳转到首页

  • 相关阅读:
    html页面3秒后自动跳转的方法有哪些
    web前端教程之javascript创建对象的方法
    想学好web前端,需要看哪些书籍
    码农只能干到30岁的说法可信吗?
    不管你以后写不写JS,都应该学会这种思考方式
    Python基础知识之排序法
    input和textarea修改placeholder颜色和字号
    关于IE和Firefox兼容性问题及解决办法
    vue-cli构建vue项目
    js 小数取整的函数
  • 原文地址:https://www.cnblogs.com/angto64/p/5117066.html
Copyright © 2011-2022 走看看