public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
  
  HttpServletRequest req = (HttpServletRequest) arg0;
  HttpSession session = ((HttpServletRequest)arg0).getSession();
    if(session.getAttribute("backSubmit")!=null){
     String backSubmit=session.getAttribute("backSubmit").toString();
       String nowSubmit=req.getParameter("secondSubmitFlag");
       if(backSubmit.equals(nowSubmit)){
       ((HttpServletResponse)arg1). sendRedirect(((HttpServletRequest)arg0).getContextPath()+"/hello.jsp");
       }else{
       session.setAttribute("backSubmit", nowSubmit); 
       }
    
    }else{
        String backSubmit=req.getParameter("secondSubmitFlag");
                          //此时为null
        session.setAttribute("backSubmit", backSubmit);
    }
         
          
  arg2.doFilter(arg0, arg1);  }
请问为什么我取不到secondSubmitFlag这个值呢?<input type="hidden" name="secondSubmitFlag" value="value1">

解决方案 »

  1.   

    req.getRequestURI();
    看看你请求的路径是否被filter过滤啦
      

  2.   

     String aa=req.getRequestURI() 
     我这样获取了
     为什么输出如下内容呢?为什么不是url啊?
    ------------/QIS/css/operationdata.css
    11:05:39,843 INFO  [STDOUT] ------------/QIS/css/data.css
    11:05:39,875 INFO  [STDOUT] ------------/QIS/js/pagelist.js
    11:05:39,890 INFO  [STDOUT] ------------/QIS/js/tbindex.js
    11:05:39,906 INFO  [STDOUT] ------------/QIS/js/operationData.js
    11:05:39,906 INFO  [STDOUT] ------------/QIS/js/refer.js
    11:05:39,953 INFO  [STDOUT] ------------/QIS/js/prototype.js
    11:05:39,968 INFO  [STDOUT] ------------/QIS/js/tooltips.js
    11:05:40,125 INFO  [STDOUT] ------------/QIS/js/effects.js
    11:05:40,156 INFO  [STDOUT] ------------/QIS/js/validation_cn.js
    11:05:40,171 INFO  [STDOUT] ------------/QIS/css/style_min.css
    11:05:40,171 INFO  [STDOUT] ------------/QIS/js/focus.js
      

  3.   

    String aa=req.getRequestURI() 
    第一条是你请求的action的path,也就是 *.do 是你工程名后面的 以后的是些什么JS,CSS,