zoukankan      html  css  js  c++  java
  • Java web servlet 拦截器 以登陆为例子

    以登陆为例子...............

    public class LoginFilter implements Filter {

    @Override
    public void destroy() {

    }

    @Override
    public void init(FilterConfig arg0) throws ServletException {

    }

    @Override
    public void doFilter(ServletRequest arg0, ServletResponse arg1,FilterChain arg2)
    throws IOException, ServletException {

    HttpServletResponse response = (HttpServletResponse) arg1;
    HttpServletRequest request=(HttpServletRequest)arg0;
    HttpSession session = request.getSession(true);
    String loginName = (String) session.getAttribute("loginName");//
    String url=request.getRequestURI();
    if(loginName==null || loginName.equals(""))
    {
    //判断获取的路径不为空且不是访问登录页面或执行登录操作时跳转
    if(url!=null && !url.equals("") && ( url.indexOf("Login")<0 && url.indexOf("login")<0 ))
    {
    response.sendRedirect("login.jsp");
    return ;
    }
    }
    //已通过验证,用户访问继续
    arg2.doFilter(arg0, arg1);
    }

    }

    -----------------------------------------------------------------------------------------------------------

    web.xml

    <!-- 拦截 -->
    <filter>
    <filter-name>LoginFilter</filter-name>
    <filter-class>onlyfun.filter.LoginFilter</filter-class>
    </filter>

    <!-- 配置多个映射,哪些请求执行过滤器 -->
    <filter-mapping>
    <filter-name>LoginFilter</filter-name>
    <url-pattern>/WEB-INF/*</url-pattern>
    </filter-mapping>

    <filter-mapping>
    <filter-name>LoginFilter</filter-name>
    <url-pattern>*.jsp</url-pattern>
    </filter-mapping>

    到此为止,主要为自己做备忘,同时方便有需要的人。呵呵!

  • 相关阅读:
    Myeclipse 10.7 android(安卓) 开发环境搭建
    matplotlib
    tophat cufflinks cuffcompare cuffmerge 的使用
    shell 随机从文件中抽取若干行
    liftover的使用/用法
    命令行运行R语言脚本(代码)
    R: NULL, NA, and NaN
    SOME USEFUL MACHINE LEARNING LIBRARIES.
    Flutter实战:手把手教你写Flutter Plugin
    Flutter学习笔记(五)
  • 原文地址:https://www.cnblogs.com/xiexy/p/3979166.html
Copyright © 2011-2022 走看看