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>

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

  • 相关阅读:
    每次任务 创建 一个 Scheduler,运行完直接shutdown ,同时运行不相互影响.
    get 和 post 的区别
    jq ajax
    h5
    reset
    ajax
    手机端
    IE浏览器下LI的默认高度
    IE FF 支持li:hover,但是ie6不支持,a:hover ul 这种写法是要搭配顶部针对IE6声明用的
    ie7/8卸载工具 降级到IE6
  • 原文地址:https://www.cnblogs.com/xiexy/p/3979166.html
Copyright © 2011-2022 走看看