我试了重新安装Tomcat,jdk,设置环境变量,都试过了还是传不过来!同样的程序我拷贝到Jbuilder8下,可以传过来。比较了一下JB8的Tomcat配置和我的Tomcat配置,也没找出什么问题。
  刚才我把这两个程序该了一下,打出Session ID,发现ID竟然不一样!大侠救命,这是怎么回事?
  我是在Tomcat的Webapp目录下建立一个test目录,其下放置这两个文件。并且配置了server.xml文件加入了
      <Context path="/test" docBase="test" debug="0"
                 reloadable="true" crossContext="true">
      </Context>  我的现在的get.jsp:
<%@ page contentType="text/html; charset=GBK" %>
<%@ page session="true"%>
<html>
<head>
<title>
jsp1
</title>
</head>
<body bgcolor="#ffffff">
<% 
   String username = "myName" ;
   session.setAttribute("username",username);    out.println(session.getId());
   %>
   <%=session.getAttribute("username")%>
<input type="button" onclick="window.open('get.jsp','_self')" value="click"></body>
</html>get.jsp:
<%@ page contentType="text/html; charset=GBK" %>
<%@ page session="true"%>
<html>
<head>
<title>
get
</title>
</head>
<body bgcolor="#ffffff">
<h1>
here get it:
<%
   out.println(session.getId());
  %>
<%=session.getAttribute("username")%>

</h1>
</body>
</html>
两个页面打出来的ID不一样啊!

解决方案 »

  1.   

    你试试 不通过 window.open()弹出get.jsp用 location.href= 连接到get.jsp
    应该可以的了!!
      

  2.   

    这个我已经试过了用
    window.location.href="get.jsp" 也的不到啊!我想可能是Tomcat哪块配置有问题,可是找不到问题所在。
      

  3.   


    <form id="test" method="post" action="get.jsp">
    <input type="button" onclick="window.open('get.jsp','_self')" value="click">
    修改为<input type="submit" > 这样肯定可以了
      

  4.   

    谢谢alphadd(Peter)可是还是的不到,我用你的方法放到<form>里面,按钮该为sumit,得到的仍然是Null!
      

  5.   

    <%@ page session="true"%>
    把你每个JSP中的这句话去掉就可以了
      

  6.   

    我试了试你的程序,是没问题的。
    由于你的问题在我这边出现不了,所以没办法帮你了。
    你试试不要使用jsp内置session,而用request.getSession()来代替试试看。
      

  7.   

    应该不是<%@ page session="true"%>吧。
    <%@ page session="true"%>意思是当前page可以使用session,默认值就是true.
    当然啦,也可以试试看,如果真是这个原因的话,那就出大问题了!
      

  8.   

    我刚开始就没有用<%@ page session="true"%>,传不过来,就加上了,也传不过来。大家仔细看看我的二楼的帖子,问题关键在于
     :为何两个session ID不一样!
       为何两个session ID不一样!
       为何两个session ID不一样!
     谢谢大家,这个问题困了我好长时间,同样的程序放在JB8下面session ID打出来是一样的,
    值可以传过来,问题就可能在于我的Tomcat配置那块有问题,导致session不一样
      

  9.   

    Try these:
     
    <%@ page session = "false"%>
    <%
    Object yourObject;
    request.getSession(false).setAttribute("yourObject",yourObject);
    %>
      

  10.   

    我试了你的方法
    程序改为:
    <%@ page contentType="text/html; charset=GBK" %>
    <%@ page session="false"%>
    <html>
    <head>
    <title>
    jsp1
    </title>
    </head>
    <body bgcolor="#ffffff">
    <% 
       String username = "myName" ;
       request.getSession(false).setAttribute("user",username);
       
       %>
       <%=request.getSession(false).getAttribute("user")%>
       <form id="test" method="post" action="get.jsp">
    <input type="submit"  value="click">
       </form>
    </body>
    </html>
    直接是编译不同过报
    java.lang.NullPointerException
      

  11.   

    try
    <%!String strUser="guest";%>
    <%
      session.putValue("sess_user",strUser);
    %>
    another page:
    <%=session.getValue("sess_user")%>
      

  12.   

    郁闷!!!我只知道在两个不同的IE窗口中session肯定是不同的!但在ctrl+N打开窗口中,session确实同一个!
      

  13.   

    To:loadstone(大宝)
        可能是你的Tomcat的配置有问题,我在websphere中调试没有问题,看看你的.xml文件中的配制有错没有!
      

  14.   

    To: lea1981(泡泡虫oO○) ,谢谢,你的方法我早就试过了,是不行得。不过也谢谢你回复。
    To: flyingzh(斯客) ,我现在初步确定是Tomcat配置的问题,可是对照server.xml和web.xml改了许多次,又从新建立,默认的配置,也都不对啊!
      

  15.   

    我想肯定是你的TOMCAT出了问题,程序是不会出问题的,你不妨换台机器,再TRY
      

  16.   

    (String)session.getAttribute("username");
    告诉你的session你要的是什么类型的对象
      

  17.   

    我用你的程序在tomcat4下试过了,没有问题,你还是换台机器试一下好了
      

  18.   

    loadstone(大宝) 
    我在jb7+tomcat4上测试过你的程序,是没有问题的,关键就是你的tomcat配置的问题了
      

  19.   

    我也是猜测是tomcat的问题,可是我重装了的,还是不行呀!
    在别的机子上试也是可以得到值的,就是这台机子不行呀,我要晕死了~!
      

  20.   

    我也遇到过,最后我换了个TOMCAT版本才可以的
      

  21.   

    谢谢大家的帮忙,现在终于知道答案了,是因为在输入的是计算机的名字,如果输入localhost,或者是ip,127.0.0.1,都是可以传出session的值的,虽然不知道是为什么,但是问题是解决了,工作也可以继续,谢谢大家了,准备解帖!