前后两个key(字符串username和userName)不是相同的字符串,要注意大小写.
String userName = (String)request.getSession().getAttribute("username");
这个应该没问题能取到值.

解决方案 »

  1.   

    request.getSession().setAttribute("username",username); String userName = (String)request.getSession().getAttribute("userName");
    set进去的键同取出来的键压根就不相同啊。。lz
      

  2.   

    request.getSession().setAttribute("username",username); String username = (String)request.getSession().getAttribute("username");更改了大小写为什么还取不出来
      

  3.   

    你是在什么地方用的?
    直接在JSP页面上?
    JSP页面的话,直接用 session.getAttribute()
      

  4.   

    还有很多问题,最好把代码自己调试一下
    例如,username你是不是传入了
    在DEBUG下看看  session是不是被写入了 等等
      

  5.   


    真不明白了.红色的和蓝色的两个对象,有矛盾啊.先前的那个username(红色的)已经被声明过了,后面的(蓝色的)再声明,编译会有问题的.你可以把后面的那个(蓝色的)变量名改一改,比如userName.
      

  6.   

    当代码编写完毕以后的调试过程,是需要细心和耐心的.
    而且要学会使用IDE的Debug功能,一步一步的来查找问题的原因.
    粗心的毛病要改掉.
      

  7.   

    理论上没什么问题了
    1.很有可能是 username 里没有值
    2.session对象范围问题 扩大或缩小范围
    3.那就是 显示问题了!!!
      

  8.   

    request.getSession().getAttribute("username");必须是同一个会话的页面
      

  9.   

    大小写 第2:
    lz你要分清楚这两句话是不是在同一个页面或者JAVAbean里的啊。。个人觉得你不会再同一个页面用同一个变量的错误。。
    你可以试下request.getparameter(试用于页面之间的一次性传递)方法调试下。。是不是其他的问题导致的
      

  10.   

    大小写问题!我也爱犯
    request.getSession().setAttribute("userName",username); String userName = (String)request.getSession().getAttribute("userName");就可以!
      

  11.   

    username=URLDecoder.decode(url.substring(4,a),"UTF-8"); 
    session.setAttribute("username",username); 你这里的 username是什么? 如果你用post的话,我觉得是空,你用System.out.println(username) 打印出来看看 这一步是 将username压进session里,但是此时 你根本就没有读取request的参数值 
    你要先读取到username 的值啊 String username = request.getParameter("username"); 
    session.setAttribute("username",username); 你自己看看吧 代码写的乱七八糟 String url=request.getQueryString(); 
    String username; 
    String roles; 
    String dept; 
    int a=url.lastIndexOf("&roles"); 
    int c=url.lastIndexOf("&org"); 
    username=URLDecoder.decode(url.substring(4,a),"UTF-8"); 
    roles=URLDecoder.decode(url.substring(a+6,c),"UTF-8"); 
    dept=URLDecoder.decode(url.substring(c+4,url.length()),"UTF-8"); 这些都是什么啊,有这样传参的吗???
      

  12.   

    request.getSession().setAttribute("username",username);String username = (String)request.getSession().getAttribute("username");
    //更改了大小写为什么还取不出来
    ==============================================================================
    1.你更改一下大小写成一致的.
    2.LZ上面标红的是String类型的吗?
    3.你这句request.getSession().setAttribute("userName",username); 前对username赋值了吗?
      

  13.   

    request一定要是同一个请求.否则你将得到两个不同的SESSION.
      

  14.   

    response呢?
        还是不太了解你的整个流程!
        也肯能像上面说的,本来里面就没值.
        还是输出调试一下吧!
      

  15.   

    print一下看看是不是set进去 ,一般不会出什么问题。。
      

  16.   

    最明显的错误是你的大小写问题,如果改正大小写错误后,还是取不出来的话,你需要注意以下两点问题:
    一、看一下你userName的变量是不是为NULL,
    二、保证是在同一个Session里,
      

  17.   

    request.getSession().setAttribute("username",username); String userName = (String)request.getSession().getAttribute("username");
    就可以去出来了
      

  18.   

    request.getSession().setAttribute("userName",username); 
    String userName = (String)request.getSession().getAttribute("userName");