赞
踩
session介绍:
session是在服务器进行数据存储的对象,访问速度满、效率低但是安全
Session对象代表一次会话,当客户端打开浏览器到关闭浏览器这期间的操作称为一次会话
Session的创建时间:当request调用getSession()时调用,同时将Session存入服务器的内存
Session的传递过程:当创建Session后,服务器会给该Session分配一个ID,同时会将该ID存入Cookie中,Cookie的名字为JSESSIONID,然后将此Cookie发送至客户端,当客户端继续发送请求时会附加上此Cookie,当服务器端继续调用getSession()方法时,会根据ID在服务器内存中查找此ID,如果找到了,那么就回调用此Session,如果没有找到,那么会新建一个Session对象
Session的销毁时机:当服务器退出时销毁,或者Session超时后销毁,或者Session调用invalidate()方法
默认情况下,当客户端退出浏览器后,Session的ID在Cookid中也会消失,当客户端开启第二次会话时,已经找不到上一次会话的Session对象了,但是服务器内存中还保留着上一次会话产生的Session,默认情况下Session在服务器内存中驻留30分钟。
session对象:
方法名 | 描述 |
---|---|
setAttribute(key,val) | 设置键值对 |
getAttribute(key) | 通过键获取值 |
getId() | 获取session的id |
setMaxInactiveInterval(time) | 设置session的过期时间[单位:秒](tomcat中默认配置的过期时间是30分钟) |
removeAttribute(key) | 从session中移除指定的key |
session实现页面访问:
login.jsp
<% String errMsg = ""; //登录页面可能会被打开多次(用户想要切换账户) Object object = session.getAttribute("errMsg"); if(object != null){//从登录失败后跳转过来的 errMsg = (String)object; //移除session中的key session.removeAttribute("errMsg"); } %> <p style="color:red;"><%=errMsg%></p> <form action="control.jsp" method="post"> <input type="text" name="uname" placeholder="请输入用户名"> <input type="password" name="pwd" placeholder="请输入密码"> <input type="submit" value="登录"> </form>
control.jsp
<% //设置请求编码格式 request.setCharacterEncoding("utf-8"); //获取表单中的参数 String uname = request.getParameter("uname"); String pwd = request.getParameter("pwd"); //对用户名及密码进行验证 if("admin".equals(uname) && "admin".equals(pwd)){ session.setAttribute("uname",uname); //设置session的失效事件(单位:秒) session.setMaxInactiveInterval(5); //登录成功后跳转到个人中心 response.sendRedirect("person.jsp"); }else{ //存储一个错误信息 session.setAttribute("errMsg","用户名密码错误"); //回到登录页面,并提示错误信息 response.sendRedirect("login.jsp"); } %>
个人中心
<%
Object object = session.getAttribute("uname");
if(object == null){//代表用户未登录,跳转到登录页面
response.sendRedirect("login.jsp");
return;
}
%>
Session和Cookie的主要区别:
cookie是在本地进行数据存储的对象,访问速度快、效率高但是不安全
Cookie生效时间
1.值为正数时,代表了cookie的存活时长(秒为单位)
2.值为0时,代表立即清除cookie
3.值为负数时,代表cookie的生命周期与当前会话一致
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。