同一个浏览器发起的不同请求都会被认为是 同一个会话
当你长期不发起新的请求的时候这个会话就会失效
<%
String sessionID = session.getId();
int maxInterval = session.getMaxInactiveInterval();
out.print("当前会话ID:"+sessionID);
out.print("<br/>会话失效时间:"+maxInterval);
%>
session.setMaxInactiveInterval(10);设置会话过期时间
session.setMaxInactiveInterval(10);
maxInterval = session.getMaxInactiveInterval();
out.print("<br/>设置后,新的会话失效时间:"+maxInterval);
设置完之后隔10秒刷新 就是另一个会话
session.jsp页面里添加代码
<a href="logout.jsp">注销</a>
logout.jsp页面里写代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
session.invalidate();
out.print("注销成功");
%>
点击注销 执行注销页面的代码 再次刷新 就是新的会话
之前写的登录页面 登录失败后记录账号的功能 没有生效
%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
String name=request.getParameter("loginName");
name=(name==null)?"":name;
Object objMsg = request.getAttribute("msg");
String msg=(objMsg==null)?"":objMsg.toString();
%>
<form action="dolojin.jsp" method="post">
<p>
用户名:<input type="text" name="LoginName" value="<%=name %>"/>
</p>
<p>
密码:<input type="password" name="LoginPwd"/>
</p>
<p>
<button type="submit">
登录
</button>
</p>
<p style="color:red">
<%=msg %>
</p>
</form>
</body>
</html>
登录的欢迎界面
<%
Object objUser = session.getAttribute("userName");
String name=(objUser==null)?"": objUser.toString();
%>
登录后的首页,欢迎<%=name %>
dologin页面的留下 成功登录者的名字
if(name.equals("张三") && pwd.equals("123456")){
session.setAttribute("userName",name);
response.sendRedirect("index.jsp");
没有登录的话自动跳到登录页
<%
Object objUser = session.getAttribute("userName");
if(objUser==null){
response.sendRedirect("login.jsp");
return;
}
String name= objUser.toString();
%>
注销页
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
session.invalidate();
response.sendRedirect("login.jsp");
%>
|