• 通过Filter实现用户登录后才允许访问配送信息填写页面和后续页面


    首先建立一个filter

     代码如下

      

    package cn.itcast.web.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.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    import org.apache.commons.codec.binary.Base64;

    import cn.itcast.bean.user.Buyer;
    import cn.itcast.utils.WebUtil;

    public class BuyerLogonValidateFilter implements Filter {

     public void destroy() {
     }

     public void doFilter(ServletRequest req, ServletResponse res,
       FilterChain chain) throws IOException, ServletException {
      HttpServletRequest request = (HttpServletRequest)req;
      Buyer buyer = WebUtil.getBuyer(request);
      if(buyer == null){
       String url = WebUtil.getRequestURIWithParam(request);//得到当前请求路径
       String directUrl = new String(Base64.encodeBase64(url.getBytes()));
       HttpServletResponse response = (HttpServletResponse)res;
       response.sendRedirect("/user/logon.do?directUrl="+ directUrl);
      }else{
       chain.doFilter(req, res);
      }
     }

     public void init(FilterConfig arg0) throws ServletException {
     }

    }

    之后 在web.xml中进行filter的配置

     <filter>
            <filter-name>BuyerLogonValidateFilter</filter-name>
            <filter-class>cn.itcast.web.filter.BuyerLogonValidateFilter</filter-class> 
        </filter>
        <filter-mapping>
            <filter-name>BuyerLogonValidateFilter</filter-name>
            <url-pattern>/customer/*</url-pattern>
        </filter-mapping>

    ok 完成

  • 相关阅读:
    Linux下查看网卡驱动和版本信息
    HTML <!--...--> 标签
    linux物理网卡检测命令mii-tool
    Git错误non-fast-forward后的冲突解决
    ubuntu上解决访问github慢的方法
    右侧添加悬浮打赏功能
    VSCode 预览 .md 文件
    Matlab绘制三维曲面(以二维高斯函数为例)
    matlab的三维绘图和四维绘图
    ubuntu查看文件和文件夹大小
  • 原文地址:https://www.cnblogs.com/yaoboyyao/p/3549049.html
Copyright © 2020-2023  润新知