zoukankan      html  css  js  c++  java
  • Filter过滤器问题

    SSH框架一般在登录时,都有过滤器Filter,防止在未登录的情况下访问不该访问的页面

    1、首先写一下Filter的类来实现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.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import com.lovecar.entity.Admin;

    public class LoginFilter extends HttpServlet implements Filter{

    @Override
    public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain chain) throws IOException, ServletException {
    HttpServletRequest servletRequest = (HttpServletRequest) request;
    HttpServletResponse servletResponse = (HttpServletResponse) response;
    HttpSession session = servletRequest.getSession();
    //获得用户请求的URI
    String path = servletRequest.getRequestURI();
    Admin admin = (Admin) session.getAttribute("admin");

    //无需过滤的页面
    if(path.indexOf("adminlogin.jsp") > -1){
    chain.doFilter(servletRequest, servletResponse);
    return ;
    }

    if(admin == null || "".equals(admin)){
    //跳转到登陆页面,这里使用了绝对路径
    servletResponse.sendRedirect(servletRequest.getContextPath()+"/adminlogin.jsp");
    }else{
    chain.doFilter(request, response);
    }

    }

    @Override
    public void init(FilterConfig arg0) throws ServletException {
    // TODO Auto-generated method stub

    }

    }

    2、web.xml里配置需要登录权限验证

    <filter>
    <filter-name>loginFilter</filter-name>
    <filter-class>com.lovecar.filter.LoginFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>loginFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>

    作者:战旗 内容声明: 本内容属自己学习使用 ,若有抄袭情邮件(zhanqi3712@qq.com)告知 ,本人会尽快删除
  • 相关阅读:
    jquery基础整理(面试必备)
    ES中文学习指南---入门篇
    ES的Java Rest client---jest
    java学习路线
    ES中文学习指南一-----产品体验
    Tomcat无法启动
    Maven问题集
    informatica9.5.1资源库为machine in exclusive mode(REP_51821)
    程序员书单_架构设计篇
    Informatica9.6.1在Linux Red Hat 5.8上安装遇到的有关问题整理_1
  • 原文地址:https://www.cnblogs.com/liuyun-10/p/6386860.html
Copyright © 2011-2022 走看看