JavaWeb之session
Session是服务器端技术
利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务器中的其它web资源时,其它web资源再从用户各自的session中取出数据为用户服务。
Session原理
Session本身基于Cookie,利用Cookie回写了一个JSESSIONID(JSESSIONID就是服务器为每个session创建的一个唯一的标识)
- 通过调用request.getSession();获取session, session域范围:一次会话.(多次请求.)
session是基于cookie的 ,如果客户端cookie禁用了,怎样追踪session?
可以手动在在请求参数后拼上 ?jsessionid=44A7AAEB8A1547815F6E37EFC0684C8C
或者 使用url重写,encodeURL,encodeRedirectURL 不过这种方法不建议使用.因为要重写所有的url比较麻烦
还可以使用隐藏表单域的方法
Session对象的创建和销毁
服务器端第一次调用getSession()的方法时候创建session对象!
Session销毁:
服务器非正常关闭! 服务器正常关闭session会被序列化.work路径下,再启动会反序列化消失
手动销毁session 调用session.invalidate()
session过期(默认有郊时间30分钟,在tomcat的web.xml中可修改)
Session案例
Session用于验证码的校验
需要在生成验证码的时候的,将验证码的4个字符存入到session中.
Session实现简单购物车
要想浏览器关闭后,购物信息还在,需要把JSESSIONID通过cookie回写浏览器
HttpSession session = request.getSession();
String sessionId = session.getId();
Cookie cookie = new Cookie("JSESSIONID", sessionId);
cookie.setMaxAge(60*60);
response.addCookie(cookie);
实际应用可以结合redis,把session放在redis中,(redis做主从复制)
JavaWeb之session的更多相关文章
- javaWeb学习-----session
一.Session简单介绍 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下).因此,在需要保存用户数据时,服务 ...
- javaWEB与Session
HttpSession(*****)1. HttpSession概述 * HttpSession是由JavaWeb提供的,用来会话跟踪的类.session是服务器端对象,保存在服务器端!!! * ...
- JavaWeb中session创建与销毁的问题
今天遇到一个奇怪的问题,自己添加了一个session的监听,用来监听在线的人数.但打开浏览器时一直没有走进这个监听中来.最后百度找到了原因: 我们一直存在一个误区,javaweb中的session什么 ...
- javaweb学习——session和Cookie实现购物车功能
1.创建Book类,实现对图书信息的封装. package cn.it.sessionDemo.example1; import java.io.Serializable; /** * 该类实现对图书 ...
- JavaWeb——Cookie,Session学习汇总
什么是Cookie Cookie的作用 安全性能 Cookie的语法 Cookie注意细节 Cookie实例练习 什么是会话Session Session语法 Session与浏览器窗口的关系 ses ...
- javaWeb总结——session
一.session简单介绍 在web开发中,服务器为每个用户浏览器创建一个会话对象,即session对象.一个浏览器独占一个session对象.因此,在需要保护用户数据时,服务器程序可以把用户数据写到 ...
- javaweb之session过期验证
session过期判断的基本思想:用户登录成功后,将用户账号信息保存在session中,然后几乎每次执行命令都要经过过滤器,过滤器检查session中是否存在账号,若不存在, 则返回登录页面,反之正常 ...
- 【JavaWeb】Session(转)
Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自 ...
- 8.javaweb之session
session是客户端和服务端的一次会话 web的session是指用户在浏览某个网站时,从进入网站到关闭浏览器的这段时间,uyejiushi用户浏览这个网站所花费的时间. session是一个时间的 ...
随机推荐
- 深度神经网络(DNN)模型与前向传播算法
深度神经网络(Deep Neural Networks, 以下简称DNN)是深度学习的基础,而要理解DNN,首先我们要理解DNN模型,下面我们就对DNN的模型与前向传播算法做一个总结. 1. 从感知机 ...
- Top命名的一些简单用法
1. Top命令的显示 top 2. 按(Shift + O)是为了选择列进行排序.例如:按a是为了通过PID进行排序.然后按任意键返回主窗口. 3. 显示特定用户的进程. top -u hadoop ...
- Windows编程坐标系统概念
Windows编程中关于设置映象模式的四个函数 SetWindowOrgSetViewPortOrgSetMapModeSetWindowExtExSetViewPortExtEx 一.Windows ...
- BZOJ 3402: [Usaco2009 Open]Hide and Seek 捉迷藏(最短路)
这个= =一看就是最短路了= = PS:最近有点懒 = = 刚才看到一道平衡树的裸题还嫌懒不去写= =算了等刷完这堆水题再去理= = CODE: #include<cstdio>#incl ...
- Weinre 远程调试移动端页面
Weinre 是一款远程调试工具,使用JS编写, 可以让我们在电脑上直接调试运行在手机上的远程页面,当你的代码已经发布上线,这时候出现了问题,Weinre就可以帮你调试. 调试场景 调试页面在手机上. ...
- C++之priority_queue
前言 最近越来越觉得自己总结的事情越来越流水账,因此,我需要提高我总结内容的精度.所以可能会导致写博客的时间会延长一些. 之前从没用过优先队列,刷算法题目的时候才开始了解的,所以做个总结.什么情况下使 ...
- 每天一个Linux命令(15)--tail命令
tail 命令从指定点开始将文件写到标准输出.使用 tail 命令的 -f 选项可以方便的查阅正在改变的日志文件 , tail -f filename 会把 filename 里最尾 ...
- Asp.Net 常用工具类之加密——对称加密DES算法(2)
又到周末,下午博客园看了两篇文章,关于老跳和老赵的程序员生涯,不禁感叹漫漫程序路,何去何从兮! 转眼毕业的第三个年头,去过苏州,跑过上海,从一开始的凌云壮志,去年背起行囊默默回到了长沙准备买房,也想有 ...
- 2017-3-5 C#基础 函数
函数/方法:非常抽象独立完成某项功能的一个个体 函数的作用: 提高代码的重用性提高功能开发的效率提高程序代码的可维护性 函数分为: 固定功能函数高度抽象函数 函数四要素:输入,输出,函数体,函数名 p ...
- msil_accessibility_b03f5f7f11d50a3a_6.1.7600.16385_none_2232298e4f48d6ba
dll名称 + +windows版本号 +补丁编号