设定session过期时间。
addSessionListener(),session过期回自动调用此函数,
在其中进行logout.
addSessionListener(),session过期回自动调用此函数,
在其中进行logout.
解决方案 »
- 关于Java的访问权限问题
- 文件复制的一个错误
- 求教:Runtime.getRuntime().exec() 调用程序 问题
- 关于对象数组的使用问题``
- 新手学习自定义例外遇到的问题1
- 在JAVA中怎么校验指定字符串是否为有效整数?
- ArryaList中加入若干类对象,,类对象里包含几个变量,现在我想反向取出类中的几个变量,如何操作啊?
- 迷惑中!help!!
- 问: 什么是调节器,什么是访问器 。
- 编译问题
- 如何取得数组长度? String[] s=request.getParameterValues("form") s.length()不行!
- jbuilder5中如何更改frame标题栏上的小图标?
若用户再想开浏览器进入的话,SESSION里肯定没有登陆信息。
请问本地SESSION与服务端SESSION怎么交互,详细一点好吗?
to wqxtt(wqxtt) :
请问是不是无论什么方法关掉浏览器(包括非法如断电),都要激发该事件?
立即退出,那这样恐怕不行。而要采用在javaScript中写unload的方法。
但那样会很麻烦,因为每个文件中都要写unload方法。
最终采用什麽方法,还是要看客户的要求如何。
客户的要求是:在关掉浏览器(直接点浏览器右上角的X符号,来关浏览器)后,此时用户
必须重新经过登录(密码验证),才能看到他想看的页面,而如果他不登录,直接输入某个页
面的路径的话,则不能进入,并提醒他要重新登录才能进入。
请问,具体我应该怎么做?
---------------------Jsp1.jsp------------------
<%@ page contentType="text/html; charset=GBK" %>
<html>
<head>
<title>
Jsp1
</title>
</head>
<body>
<h1>
JBuilder Generated JSP
</h1>
<%
%><form method="post" action = Jsp2.jsp>
<br>Enter new value : <input name="sample"><br>
<br><br>
<input type="submit" name="Submit" value="Submit">
<input type="reset" value="Reset">
<br>
</form>
</body>
</html>------------------Jsp2.jsp------------------------
<%@ page contentType="text/html; charset=GBK" %>
<html>
<head>
<title>
Jsp2
</title>
</head>
<body>
<h1>
JBuilder Generated JSP
</h1>
<% String s; s = (String)session.getAttribute("test"); if ( s== null ){ s = request.getParameter("sample");
if ( s == null ){
out.println("can not get here directly, please enter jsp1.jsp first ");
}
else{
out.println("session is null");
out.println("read from form");
session.setAttribute("test",s);
}
}
else{ out.println("session is :" + s); }%></body>
</html>
---------------------------end of code-----------------启动tomcat后,注意如果直接浏览jsp2是不允许的,
当先进入jsp1然后submit进入jsp2,第一次会提示session为空,以后就会显示第一次在jsp1里面输入的内容(包括刷新jsp2),但如果关闭该浏览器,再要直接浏览jsp2还是不允许的。显然此时session没有超时,说明这必定是一个新的session.
页面关掉的时候,session自然就丢失了,客户下次进来是必须要登陆的!
服务器端的session是有失效时间的,不用设置的过短,要不然客户需要不停的重新登陆
万一用户在你设定的时间到来之前关掉浏览器,然后又直接进入(不登录),并且
仍然未到过期时间,怎么办? ~~~~~~~~~~~~~~~~~~~~~~~~不可能!!
那你就删掉服务器端上次的登陆信息,重新作一次登陆!
就可意解决。
还有一种办法:
if (httpHeader.reference = "") /* 手入力URL */
{
/* forbidden, go to login page */
}else { /* 由别的画面迁移而来 */
/* ok */
}
就可意解决。
还有一种办法:
if (httpHeader.reference = "") /* 手入力URL */
{
/* forbidden, go to login page */
}else { /* 由别的画面迁移而来 */
/* ok */
}