luqinghui 2008-12-31 16:03
浏览 425
已采纳

请教:Filter 中进行sendRedirect页面跳转 URL方式传递参数 怎么取不到啊! 似

  

    
    public void doFilter(ServletRequest request, ServletResponse response,
                    FilterChain filterChain) throws IOException,
                    ServletException
    {
        HttpServletRequest httpRequest = (HttpServletRequest)request;
        HttpServletResponse httpResponse = (HttpServletResponse)response;
        String uri = httpRequest.getRequestURI();      
        HttpSession session = ((HttpServletRequest)httpRequest).getSession();
        EmployeeData user = (EmployeeData)session.getAttribute("user");
        
        if(user == null)
        {
            session.setAttribute("key") = "value";
            ((HttpServletResponse)response).sendRedirect("/login.jsp?key=value");
        }
                          
        filterChain.doFilter(request, response);
    }

login.jsp :

 

 <%    
    String Parametermessger = (String)request.getParameter("key");
    System.out.println("Parameter: "+Parametermessger);
    
    String Sessionmessger = (String)request.getSession().getAttribute("key");
    System.out.println("Session: "+Sessionmessger);     
 %>

   结果:

           NULL

           NULL

   

   ????????????????????????????????何解

 

 

 


问题补充:
这个地方笔误

session.setAttribute("key") = "value"; 

纠正为

session.setAttribute("key","value"); 




问题补充:
这个问题也许我没能描述的很明白,很抱歉!应用是这样的:

登陆Frame框架请求多个页面,导致doFilter过程执行多次,也就是执行了多次的sendRedirect("/login.jsp?key=value")过程,从login.jsp中打印信息来看,URL的参数前几次打印出参数是value,对的,但在最后一次变成了NULL,为什么??? 地址显示为:.../login.jsp,为什么啊???? 是否与Filter有关???



sendRedirect是重定向,作用域已经发生了改变,

re:但URL参数应该是在的吧???



RequestDispatcher rd = request.getRequestDispatcher();

re:这个我当时试过,并不能将页面从系统框架页面返回到login.jsp页面,不能满足业务需求







  • 写回答

6条回答 默认 最新

  • 不良校长 2008-12-31 18:20
    关注
    1. sendRedirect belong to http status 301/302.
    2. 301/302 已经跃出了 request scope.
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?