比如有两个页面,test1.jsp和test2.jsp,代码如下
//test1.jsp(建立一个到test2.jsp的链接,并session传递一个username参数)
<a href="test2.jsp">test2</a>
<%
String username="harryzyp";
session.setAttribute("username",username);
%>
//test2.jsp(接收test1.jsp的usename参数,但有个'退出'按钮,判断参数情况输出不同的东西
<%
String username=(String)session.getAttribute("username");
if(username!=null)
out.print("成功");
else
out.print("失败");
%>
<br />
<a href="test2.jsp">退出</a>
<%
session.setAttribute("username",null);
%>问题是:当点浏览器的刷新按钮时也会退出,session丢失,不加session.setAttribute("username",null);这句时,点退出时又退出不了,怎么办?
//test1.jsp(建立一个到test2.jsp的链接,并session传递一个username参数)
<a href="test2.jsp">test2</a>
<%
String username="harryzyp";
session.setAttribute("username",username);
%>
//test2.jsp(接收test1.jsp的usename参数,但有个'退出'按钮,判断参数情况输出不同的东西
<%
String username=(String)session.getAttribute("username");
if(username!=null)
out.print("成功");
else
out.print("失败");
%>
<br />
<a href="test2.jsp">退出</a>
<%
session.setAttribute("username",null);
%>问题是:当点浏览器的刷新按钮时也会退出,session丢失,不加session.setAttribute("username",null);这句时,点退出时又退出不了,怎么办?
解决方案 »
- 关于EL表达式的。急急急!!!!谢谢了
- jsp导出Excel 时,如何保留在jsp中的样式
- json引包总是出错,在线求解答
- 怎样改变网页文件的后缀名???
- 为什么进不了action 100分 求解决
- 服务器中STRUTS的配置问题,望高手指点~~~~~~~~~~~~
- jsp怎样得到一个文件夹下的所有文件名(不包含路径和扩展名)?
- 用一台计算机可以设置为,既能运行ASP.net和JSP程序吗?
- java调用.net webservice?
- 求大神 速度解决这个问题 在线等!! mybatis 问题
- 算法挑战:用JavaScript实现HTML中复杂Table对象到Excel的自动转换!
- 好久不用了,请教问题,在线等,谢谢......
没有条件判断.从下到下都会执行的.
session.setAttribute("username",null);
加上个条件.在什么样的条件下才执行这句.这样就OK了.
session.setAttribute("username",null);
%>这地方明显有问题,你可以将退出连接到test3.jsp,在test3.jsp执行上面的语句,清空Session.
然后在test2.jsp页面上取out值
out==1才做session.setAttribute("username",null);这个操作
session.setAttribute("username",null);
%>这句无论如何都会被执行到的吧就算你不使用退出按钮也会被执行到的我的解决方法1、新建立一个页面,功能就是实现退出的功能,也就是清SESSION的功能2、直接把清SESSION的方法写到登陆页里去,在访问的时候先对SESSION进行清空,当点退出的时候,连接给到登陆页就好了
一个是建个新页面.在里面把Session的值清空.点击退出时进入这个页面.
要在本页做呢, 就在URL后面加个参数, 这样在执行清空Session之间判断这个参数的值.