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>

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

  • 相关阅读:
    Linux主要shell命令详解(下)
    mget命令, ftp命令详解
    VI 基本可视模式
    vim使用技巧
    cd及目录快速切换
    du命令解决linux磁盘空间满的问题(很不错的哦)
    Mysql删除数据后磁盘空间未释放的解决办法【转】
    MYSQL-innodb性能优化几个点
    Apache服务器出现Forbidden 403错误提示的解决方法总结
    MySQL 分区表原理及数据备份转移实战
  • 原文地址:https://www.cnblogs.com/xiexy/p/3979166.html
Copyright © 2011-2022 走看看