因为str1与str2相同,是同一个session,当然他们的value当然是最后一个得值哦
定义str1和str2不同就可以了

解决方案 »

  1.   

    错了,你这两句话相当于
    session.setAttribute(str1,"wuxy");
    session.setAttribute(str2,"ye");
    下面这个
    session.setAttribute(“”,"wuxy");
    session.setAttribute(“”,"ye");
    明白?
    应该是
    String str1 = "str1";
    String str2 = "str2";
      

  2.   

    <%
    session.setAttribute(str1,"wuxy");
    session.setAttribute(str2,"ye");
    out.print((String)session.getValue(str1));
    out.print("<br>");
    out.print((String)session.getValue(str2));
    %>
    改成
    <%
    session.setAttribute("str1","wuxy");
    session.setAttribute("str2","ye");
    if(session.getAttribute("str1")!=null)
    out.print(session.getAttribute("str1").toString());
    out.print("<br>");
    if(session.getAttribute("str2")!=null)
    out.print(session.getAttribute("str2").toString());
    %>
      

  3.   

    session的使用没有约束,你对str1和str2都付了什么值?(不会付的相同的值吧,呵呵)
    另外,建议使用
    session.getAttribute()来取session中的值
      

  4.   

    你这样定义String:
    String str1 = "";
    String str2 = "";
    在Java中,使用了String池,故str1==str2
    所以,str1与str2是一样的。
    除非你给他们赋不同的值。
    这样session保存的才不一样。