CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

100分求救,session的值为null,

楼主fqcheng(绿奥)2004-12-01 22:33:31 在 Java / Web 开发 提问

我在同一个Action中定义的两个方法,在俄xectute()方法中,  
  HttpSession   hb_session   =   request.getSession();  
  hb_session.setAttribute("hb_file",   hb_file);  
   
  在另一个方法中:  
    HttpSession   hb_session=REQUEST.getSession();  
    Hashtable[]   hb_data   =   (Hashtable[])hb_session.getAttribute("hb_file");  
    System.out.println("#######hb_data="+hb_data);  
   
  Tomcat中显示:  
  hb_data=null  
  什么原因造成的?急等 问题点数:100、回复次数:17Top

1 楼z3h(zhaohonghui)回复于 2004-12-01 22:57:22 得分 5

确定你向session对象中添加的对象hb_file不是null.Top

2 楼fqcheng(绿奥)回复于 2004-12-01 23:01:10 得分 0

确定Top

3 楼grpengwei(宠米)回复于 2004-12-01 23:07:37 得分 15

用这个试试应该可以的  
  HttpSession   hb_session   =   request.getSession(true);Top

4 楼fqcheng(绿奥)回复于 2004-12-01 23:10:48 得分 0

我开始就是用楼上说的用法,不行我才改为了  
  HttpSession   hb_session   =   request.getSession();  
   
  结果还不行Top

5 楼grpengwei(宠米)回复于 2004-12-01 23:28:40 得分 5

Hashtable[]   hb_data   =   (Hashtable[])hb_session.getAttribute("hb_file");  
  那就是Hashtable[]的问题了啊  
  其他地方真看不出来有什么错误~~Top

6 楼dlxu(脱离纯粹Coding阶段)回复于 2004-12-02 00:04:23 得分 5

HashTable做一個數組?沒搞錯吧,第一次看到呢Top

7 楼fqcheng(绿奥)回复于 2004-12-02 00:15:02 得分 0

没搞错,就是做一个数组,并将数组以session形式传递给另一个函数。但我想在另外两个地方获取到,但出粗了。Top

8 楼xintao222()回复于 2004-12-02 05:16:13 得分 10

你用VE做吧,肯定没问题的Top

9 楼bp69(不要偷懒,自强不息)回复于 2004-12-02 08:44:39 得分 10

HttpSession   hb_session   =   httpRequestServlet.getSession();  
  hb_session.setAttribute("hb_file",   hb_file);  
  (类型)hb_file=(类型)session.getAttribute("hb_file");  
  看看是否为空Top

10 楼bp69(不要偷懒,自强不息)回复于 2004-12-02 08:45:59 得分 0

HttpSession   hb_session   =   httpServletRequest.getSession();  
  hb_session.setAttribute("hb_file",   hb_file);  
  (类型)hb_file1=(类型)session.getAttribute("hb_file");  
  看看是否为空  
  Top

11 楼yubo1209(稻草人)回复于 2004-12-02 08:58:19 得分 10

你不应该在同一ACTION中,你至少要让它的请求发出去,它才会对SESSION附值啊Top

12 楼yulchina(为啥我的可用分总是那么少?)回复于 2004-12-02 09:13:45 得分 15

HttpSession   hb_session   =   httpServletRequest.getSession();  
  应该是HttpSession   hb_session   =   HttpServletRequest.getSession();  
  然后,建议采用HttpSession   hb_session   =   HttpServletRequest.getSession(true);这样就保证了如果没有session存在,那么就创建一个。  
   
  还有,如果在同一页面既setAttribute("key",value);又getAttribute("key");这样是不行的,session不是客户端维护的。你至少要通过一次和服务器交互,让服务器知道你对session做了操作才是啊!  
   
  建议,每次操作session之前用isNew()判断一下。  
  Top

13 楼wafeng(彭克)回复于 2004-12-02 09:20:35 得分 5

你调试一下,session不必存取不必在两个页面,cookie才那样Top

14 楼fqcheng(绿奥)回复于 2004-12-02 10:08:39 得分 0

还是不行,我想把同一个变量的值放在同一个session变量的不同字符串变量中,例如:  
  HttpSession   hb_session   =   request.getSession(true);  
  hb_session.setAttribute("hb_file",   hb_file);  
  hb_session.setAttribute("hb_display",   hb_file);  
   
  现在想在使用完第一个“hb_file”后将其失效,而第二个“hb_display”,仍然可以通过使用  
  session.getAttribute("hb_display")获取到该怎么办?  
  急急急急啊Top

15 楼cmg7758(~逛逛~)回复于 2004-12-02 10:35:27 得分 10

先传个字符串看看,行就不是方法的问题,别作无用功Top

16 楼fqcheng(绿奥)回复于 2004-12-02 10:41:19 得分 0

现在问题已自行解决,不过有这么多人来提供帮助,高兴,每个参与者都有分。散分。Top

17 楼sunjhgq(小强)回复于 2004-12-02 10:41:26 得分 10

yulchina()   说的有理,学习中Top

相关问题

  • session在abandon方法后的值是null还是""?
  • session中传值为null的简单问题!
  • 我调用domWebConfig.Save后,为什么我以前赋值的Session变成了null
  • WEB,将DataGrid内的内容赋给SESSION时,为何NULL值会被赋为 
  • 关于传null值????
  • 如何单独地销毁某一个session? set session("a")=nothing? session("a")=null? session("a")=empty?
  • this==NULL???
  • 关于null值问题
  • 如何判断null值
  • null值比较的问题

关键词

  • null
  • hb
  • getsession
  • httpsession
  • session
  • setattribute
  • getattribute
  • 变量
  • hashtable
  • 不行

得分解答快速导航

  • 帖主:fqcheng
  • z3h
  • grpengwei
  • grpengwei
  • dlxu
  • xintao222
  • bp69
  • yubo1209
  • yulchina
  • wafeng
  • cmg7758
  • sunjhgq

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo