高分求解怪现象,session串值的问题,有人遇到过吗? 不会吧,那Sun公司混个屁!看看你的程序有没有问题,最好用完后 session.removeAttribute("username"); session.invalidate(); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 session.setValue("username",username);String username= (String) session.getValue("username");这个试试,再有你是在一个机器上用的吧,可能有这现象,你可在用户登陆后加一个注销功能吧。不知对不对? 问题当然不在你帖出来的这里 关键是你的session是怎么来的 获取session的代码帖出来看看 session管理一定要仔细。从来没有遇到你说的问题。还是仔细检查代码吧。session管理最好在项目组中有一个文档,不能想放什么就放什么。 如果客户端用代理软件上网,如wingate,就会发生这样的现象 username=session.getAttribute("username").toString().trim();改为username=((String)session.getAttribute("username")).trim();还有 注意注销登录 你的username肯定是类属性或是使用<%!定义的,这样不行的 <%!%> 这个定义出来的变量只会在初次建立时被赋值,以后就存在内存里不变了?的确username是使用<%!定义的 肯定是用<%! %>申明username的这样申明的变量是全局变量 呵呵。。研究一下java的多线程吧。 嗯你的代码有问题,其实最好不要在jsp里这样定义变量:<%! %>申明username的虽然sun提供了这种用法,但最好只用它来定义方法,如果用来定义变量就和在servlet里全局变量是一样的,而servlet只对一种匹配的url生成一个实例(即对一个jsp其实只生成一个实例,所以发生了串值! 在你给session赋值的时候先把session的值设置为NULL试试。 关于JSP页面缓存的问题 开发这个项目也很长时间了,最近遇到了一个比较头痛的问题,就是:缓存。我现在通过权限来控制不同的用户的登陆界面。但是出现了在切换用户登陆的时候,还是出现上一个用户的界面,一开始想到就是缓存的问题,使用HTML的方式来控制缓存无效,在JSP中通常控制不缓存都是通过下面的代码来实现的 res.setHeader("Pragma","No-cache"); res.setHeader("Cache-Control","no-cache"); res.setDateHeader("Expires", 0);但是,由于现在的项目已经进行了一半,所涉及到的页面也非常得多,如果每个页面都来进行修改的话工作量就比较大,后来想到了include页面的方式,这样虽然减少代码量,但是修改起来还是比较麻烦,而且测试了没有取得预期的效果。我想到了增加一个自定义标签的办法,但是还是比较麻烦,由于我们所有的Action都必须继承一个公用的Action,并且在里面进行前期的和后期的处理,一个同事想到了将这三句代码加到Action里面来执行,尝试了一下,果然达到了预期的效果,现在还在测试,不知道这个是不是会有不良的影响。不过,这个缓存的问题确实比较的头痛。2004年1月16日 18:31 <% response.setHeader("Cache-Control","no-store"); //HTTP 1.1 response.setHeader("Pragma","no-cache"); //HTTP 1.0 response.setDateHeader("Expires",0);%> 怎样导入net.fiyu.edit 求助,配置JBPM4出错 jsp如何做选择头像,弹出窗口选择后,返回原来窗口,且被选中图像已显示 项目中需要把大量数据导出到EXCEL中,想把导出进度在页面无刷新显示 很奇怪的一个错误~~有谁碰到过 进 谢谢了 jsp 连接sql server 2000的问题 jsp中的泛型问题 小问题 我用tomcat(用的j2sdk1.4.1_02)能跑起来,但是换到weblogic6.1里面就是报错,详情见内 jsp连接javabean的setxxx 和 getxxx方法的问题 有做过标签的高手吗?传值的问题 什么是“结构化数据、非结构化数据、半结构化数据”?
String username= (String) session.getValue("username");
这个试试,再有你是在一个机器上用的吧,可能有这现象,你可在用户登陆后加一个注销功能吧。
不知对不对?
改为
username=((String)session.getAttribute("username")).trim();
还有 注意注销登录
以后就存在内存里不变了?的确username是使用<%!定义的
这样申明的变量是全局变量
其实最好不要在jsp里这样定义变量:
<%! %>申明username的
虽然sun提供了这种用法,但最好只用它来定义方法,
如果用来定义变量就和在servlet里全局变量是一样的,
而servlet只对一种匹配的url生成一个实例(即对一个jsp其实只生成一个实例,所以发生了串值!
开发这个项目也很长时间了,最近遇到了一个比较头痛的问题,就是:缓存。我现在通过权限来控制不同的用户的登陆界面。但是出现了在切换用户登陆的时候,还是出现上一个用户的界面,一开始想到就是缓存的问题,使用HTML的方式来控制缓存无效,在JSP中通常控制不缓存都是通过下面的代码来实现的 res.setHeader("Pragma","No-cache");
res.setHeader("Cache-Control","no-cache");
res.setDateHeader("Expires", 0);但是,由于现在的项目已经进行了一半,所涉及到的页面也非常得多,如果每个页面都来进行修改的话工作量就比较大,后来想到了include页面的方式,这样虽然减少代码量,但是修改起来还是比较麻烦,而且测试了没有取得预期的效果。我想到了增加一个自定义标签的办法,但是还是比较麻烦,由于我们所有的Action都必须继承一个公用的Action,并且在里面进行前期的和后期的处理,一个同事想到了将这三句代码加到Action里面来执行,尝试了一下,果然达到了预期的效果,现在还在测试,不知道这个是不是会有不良的影响。不过,这个缓存的问题确实比较的头痛。2004年1月16日 18:31
response.setHeader("Cache-Control","no-store"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader("Expires",0);
%>