我的session在关闭浏览器时为什么没有被清空啊 急啊

frieblade 2004-09-02 05:07:57
我在adminManage.jsp里为了防止用户知道URL后的非法访问,设了session判断,直接输入URL地址后,正常跳转到登陆界面,但是通过正常方法登陆到此页后直接关闭浏览器,从新开个窗口输入adminManage.jsp的URL却进入了该页面,请问我关闭该页面时为什么没有清空session呢?


adminManage.jsp代码如下:

<html>

<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>用户管理</title>
</head>

<body>
<%@ include file="adminSession.inc" %>
<%@ include file="css.inc" %>
<p align="center"><font color="#FF0000" size="5"><b>煤矿实时信息查询用户管理</b></font></p>
<body bgcolor="#A5C5EF">
<p align="center"> </p>
<p align="left"> </p>
<p align="left">
<a href="add.jsp"><font size="6">添加用户</font></a></p>
<p align="left">
<a href="delete.jsp"><font size="6">删除用户</font></a></p>

</body>

</html>


---------------------------------------------------------------------------------------
adminSession.inc 代码如下

<%
String Name=(String)session.getAttribute("name");
if(Name == null)
{
response.sendRedirect("Admin.jsp");
//将浏览器导向指定的页面
}
%>

--------------------------------------------------------------------------------------

adminLogin.jsp 代码如下

<%@ page contentType="text/html; charset=gb2312" %>
<%@ page errorPage="error.jsp" %>
<html>
<body>
<%--进行登陆检查--%>
<%
String name=request.getParameter("name");
String password=request.getParameter("password");
//else forward-->loginerr.jsp
if(name.equals("cyuts")& password.equals("mk321"))
{
session.setAttribute("name",name);
response.sendRedirect("adminManage.jsp");
}//if

else
{
%>
<jsp:forward page="loginErr.jsp">
<jsp:param name="user" value="<%=name%>"/>
</jsp:forward>
<%}%>
</body>
</html>
...全文
725 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
tanyun1111 2004-09-07
  • 打赏
  • 举报
回复
可以通过写代码清空的:
session.removeAttribute("session");
试下吧
zhukejun 2004-09-07
  • 打赏
  • 举报
回复
一般来说session在你关闭浏览器后就没了,但是如果你用MYIE之类的要把MYIE关掉
闷头挣钱 2004-09-07
  • 打赏
  • 举报
回复
如果你用MYIE之类的多窗口浏览器测试肯定不行,最好用IE测试
闷头挣钱 2004-09-07
  • 打赏
  • 举报
回复
你用什么浏览器?
sswt 2004-09-07
  • 打赏
  • 举报
回复
好像有一个函数把,session.invalidate()
wangwei8117 2004-09-07
  • 打赏
  • 举报
回复
你在关闭页面的时候调用了清除session的函数吗!可以捕获窗口关闭消息然后用session.remove("sessionName");进行清除的。可能是这个函数吧,记得不是很清楚了!
nv95 2004-09-07
  • 打赏
  • 举报
回复
但是通过正常方法登陆到此页后直接关闭浏览器,从新开个窗口输入adminManage.jsp的URL却进入了该页面......
==========================================================================

既然人家可以通过正常登陆,你还那么唧唧歪歪干什么,谁有正常登陆方式不用还非得登陆后关闭再用URL重新进,不是有病吗。
power17 2004-09-06
  • 打赏
  • 举报
回复
还有 if(name.equals("cyuts")& password.equals("mk321")) 的 & J 是不是要改成 &&?
power17 2004-09-06
  • 打赏
  • 举报
回复
不同意楼上的说法。谁会知道用户要关闭哪个页面呢?如果这样销毁了,那么用户不是要再登陆一次
bluwindhrt 2004-09-06
  • 打赏
  • 举报
回复
session不是有一个invalidate()方法?
eureka0891 2004-09-03
  • 打赏
  • 举报
回复
对浏览器而言,不是一个窗口,或不是从一个窗口后链接等打开的,session是不同的
还有,你的路径是什么???你的url用的是复写,还是cookie?
makay 2004-09-03
  • 打赏
  • 举报
回复
没办法的?设置session失效期短些吧。
dannicklee 2004-09-03
  • 打赏
  • 举报
回复
写javascript函数,在关闭浏览器时候清session.
liutang2 2004-09-03
  • 打赏
  • 举报
回复
你把代码直接写在这个文件里试试
adminManage.jsp代码如下:

<html>

<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>用户管理</title>
</head>

<body>
<%
String Name=(String)session.getAttribute("name");
if(Name == null)
{
response.sendRedirect("Admin.jsp");
//将浏览器导向指定的页面
}
%>
<%@ include file="css.inc" %>
<p align="center"><font color="#FF0000" size="5"><b>煤矿实时信息查询用户管理</b></font></p>
<body bgcolor="#A5C5EF">
<p align="center"> </p>
<p align="left"> </p>
<p align="left">
<a href="add.jsp"><font size="6">添加用户</font></a></p>
<p align="left">
<a href="delete.jsp"><font size="6">删除用户</font></a></p>

</body>

</html>
zhonghua2003 2004-09-03
  • 打赏
  • 举报
回复
没见过这种情况.
chinawit 2004-09-03
  • 打赏
  • 举报
回复
直接关闭浏览器session还是存在的,看来只好把session有效时间设的短点
qyzj_wanghx 2004-09-03
  • 打赏
  • 举报
回复
实在不行就在<body onUnload="函数">

函数中把session对象清空了..........
frieblade 2004-09-02
  • 打赏
  • 举报
回复
全部关完了啊!!
一段时间以后就可以了
我用的全都是默认设置
szabo 2004-09-02
  • 打赏
  • 举报
回复
怎么会呢?
是没是没关完?
BillyW 2004-09-02
  • 打赏
  • 举报
回复
<script for=window event=onbeforeunload>
if(return==true){
alert("true");
}else{
alert("false");
}
</script>

不能运行就到javascript区找。

我试过,最后没有成功。好像点差事件不能捕获
加载更多回复(1)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧