set.jsp-----------------------------------------------------------
<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
<%
session.setAttribute("haha","heihei");
response.sendRedirect("get.jsp");
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
</head>
<body>
</body>
</html>get.jsp------------------------------------------------
<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
String s = session.getAttribute("haha").toString();
System.out.print("----------" + s);
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
</head>
<body>
</body>
</html>
为什么重定向后"haha"属性变为null?不重定向的话session就能存储属性呢?

解决方案 »

  1.   

    你直接访问set.jsp,页面中输出的结果是null?
      

  2.   

    直接访问肯定是空指针异常啊,我想问session里的东西去哪里了
      

  3.   


    LZ,如果你直接访问set.jsp页面的话,它会在console中输出
    “----------heihei”这样的字符信息,页面跳转到get.jsp,显示为空白!
      

  4.   


    大侠您有没有测试一下啊?把String s = session.getAttribute("haha").toString();改成String s = (String)session.getAttribute("haha");明明s是null啊,怎么会有值呢?session不是在整个会话期间都有效吗?怎么没用了?
      

  5.   

    cookie开了吗?抓包看看有Cookie头吗?
    response.sendRedirect("get.jsp;JSESSIONID=" + session.getId());
      

  6.   

    我也敢觉不可能啊,session作用于整个程序中,不可能得不到啊。但是中文名,与英文名有区别吗????
    我一直动的英文名。老师也一直要求,正规的 都是英文名且第一个字母大写,所以没用过中文名,今天又学到了一个知识了,呵呵.......