zoukankan      html  css  js  c++  java
  • 过滤器(Filter)对登陆页面进行过滤验证


    import javax.servlet.*;
    import javax.servlet.annotation.WebFilter;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpSession;
    import java.io.IOException;

    @WebFilter("/*")
    public class LoginFilter implements Filter {
    public void destroy() {
    }

    public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
    //不进行登陆无法访问其他页面
    //ServletResponse类下面的子类HttpServletRequest中存在获取路径的方法getRequestURI
    //首先对req进行强转
    HttpServletRequest request = (HttpServletRequest) req;
    //获取路径
    String uri = request.getRequestURI();
    //如果路径中存在这些就放行,注意:将jsp、css等路径也进行过滤,不然页面显示不全
    if (uri.contains("login.jsp")
    || uri.contains("/loginServlet")
    || uri.contains("/checkCodeServlet")
    || uri.contains("/css/")
    || uri.contains("/fonts/")
    || uri.contains("/img/")
    || uri.contains("/js/")
    ) {
    //放行
    chain.doFilter(req, resp);


    } else {
    //获取session,看用户是否登陆
    HttpSession session = request.getSession();
    Object user = session.getAttribute("user");
    //登陆了进行放行操作
    if (user != null) {
    chain.doFilter(req, resp);

    } else {
    //没有登陆过跳转登录页面
    request.getRequestDispatcher("/login.jsp").forward(request, resp);
    }
    }

    }

    public void init(FilterConfig config) throws ServletException {

    }

    }
  • 相关阅读:
    VIM移动
    坏账,断供,四大国有资产管理公司(AMC):东方、长城、信达和华融
    2016MBA排名
    禅道行任务分解
    oracle教程:PLSQL常用方法汇总
    国内手机号码段,卫星电话号段
    Java异常处理和设计
    购买使用Linode VPS必须知晓的十个问题
    从配置文件中删除节点
    remove namespace from xml config file
  • 原文地址:https://www.cnblogs.com/fpflog/p/12058255.html
Copyright © 2011-2022 走看看