我试了重新安装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不一样啊!
刚才我把这两个程序该了一下,打出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不一样啊!
应该可以的了!!
window.location.href="get.jsp" 也的不到啊!我想可能是Tomcat哪块配置有问题,可是找不到问题所在。
<form id="test" method="post" action="get.jsp">
<input type="button" onclick="window.open('get.jsp','_self')" value="click">
修改为<input type="submit" > 这样肯定可以了
把你每个JSP中的这句话去掉就可以了
由于你的问题在我这边出现不了,所以没办法帮你了。
你试试不要使用jsp内置session,而用request.getSession()来代替试试看。
<%@ page session="true"%>意思是当前page可以使用session,默认值就是true.
当然啦,也可以试试看,如果真是这个原因的话,那就出大问题了!
:为何两个session ID不一样!
为何两个session ID不一样!
为何两个session ID不一样!
谢谢大家,这个问题困了我好长时间,同样的程序放在JB8下面session ID打出来是一样的,
值可以传过来,问题就可能在于我的Tomcat配置那块有问题,导致session不一样
<%@ page session = "false"%>
<%
Object yourObject;
request.getSession(false).setAttribute("yourObject",yourObject);
%>
程序改为:
<%@ 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
<%!String strUser="guest";%>
<%
session.putValue("sess_user",strUser);
%>
another page:
<%=session.getValue("sess_user")%>
可能是你的Tomcat的配置有问题,我在websphere中调试没有问题,看看你的.xml文件中的配制有错没有!
To: flyingzh(斯客) ,我现在初步确定是Tomcat配置的问题,可是对照server.xml和web.xml改了许多次,又从新建立,默认的配置,也都不对啊!
告诉你的session你要的是什么类型的对象
我在jb7+tomcat4上测试过你的程序,是没有问题的,关键就是你的tomcat配置的问题了
在别的机子上试也是可以得到值的,就是这台机子不行呀,我要晕死了~!