Java web课程学习之会话(Session)
Session会话
l web应用中的会话是指一个客户端浏览器与web服务器之间连续发生一系列请求和响应过程
l web应用的会话状态是指web服务器与浏览器在会话过程中产生的状态信息,借助会话状态,web服务器能够把属于同一会话中的一系列请求和响应过程关联起来
- session机制
① session机制采用的是在服务器端保持http状态信息的方案
② 当客户端第一次发送请求到服务器时,服务器先检查这个请求中是否包含一个session标识(即JSESSIONID)
l 如果已经包含了一个jsessionid则说明服务器已经存在请求标识,服务器就会按照这个jsessionid把这个session查询出来使用
l 如果服务器中不包含jsessionid,则会为用户创建一个session,并生成与之相关的jsessionid,这个jsessionid将在本次响应中返回给客户端进行保存
l 当用户长时间不操作或直接关闭浏览器,则本次会话结束,jsessionid标识也会被清除
- session的创建与删除
① 创建方法
HttpServletRequest.getSession();
② 删除
l 程序调用HttpSession.invalidate()
l 超时
l 服务器进程被停止
l 用户离开或者浏览器关闭,服务器都会保留HttpSession对象,直至超时使HttpSession对象编程垃圾
l 所有客户端浏览器超时后再次发出访问请求,服务器重新创建一次会话
- 表单重复提交
① 先点击了提交。然后又点击了浏览器的后退按钮,再点击提交
② 再响应界面未完成响应时,重复提交按钮
③ 在表单请求一个servlet,而servlet又转发给了另一个servlet,当我刷新地址栏时,都会进行重复提交


Java web课程学习之会话(Session)的更多相关文章
- Java web课程学习之JSP
JSP jsp隐式对象:JSP隐式对象是JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明.JSP隐式对象也被称为预定义变量. jsp脚本片段 l jsp脚本片段是指 ...
- Java web课程学习之Servlet
Servlet简介 (1) Servlet本质上就是一个Java类,只不过运行在Servlet容器中 (2) Servlet的功能: ① 创建并返回客户请求的动态HTML页面 ② 创建可嵌入到现有 ...
- Java web课程学习之Request和Response
request和response l HttpServletRequest l 请求转发 l HttpServletResponse l 请求重定向 请求流程 每次请求service(),都会由容 ...
- 【Java Web开发学习】Servlet、Filter、Listener
[Java Web开发学习]Servlet 转发:https://www.cnblogs.com/yangchongxing/p/9274739.html 1.Servlet package cn.y ...
- 【Java Web开发学习】跨域请求
[Java Web开发学习]跨域请求 ================================================= 1.使用jsonp ===================== ...
- 【Java Web开发学习】Spring MVC 使用HTTP信息转换器
[Java Web开发学习]Spring MVC 使用HTTP信息转换器 转载:https://www.cnblogs.com/yangchongxing/p/10186429.html @Respo ...
- 【Java Web开发学习】Spring JPA
[Java Web开发学习]Spring JPA 转载:https://www.cnblogs.com/yangchongxing/p/10082864.html 1.使用容器管理类型的JPA JND ...
- 【Java Web开发学习】Spring MVC添加自定义Servlet、Filter、Listener
[Java Web开发学习]Spring MVC添加自定义Servlet.Filter.Listener 转载:https://www.cnblogs.com/yangchongxing/p/9968 ...
- 【Java Web开发学习】Spring MVC 拦截器HandlerInterceptor
[Java Web开发学习]Spring MVC 拦截器HandlerInterceptor 转载:https://www.cnblogs.com/yangchongxing/p/9324119.ht ...
随机推荐
- 修改struts2自定义标签的源代码,在原有基础上增加功能(用于OA项目权限判断,是否显示某个权限)
OA项目在做权限判断时 原始方式: 现在完成的功能 :通过改变struts2自定标签源代码 在原有的基础上 增加判断权限的功能 而页面上使用标签的方式 还是下图 步骤: 打开文件 搜索< ...
- SSH框架整合截图(二)
客户拜访管理 1 什么是客户拜访 (1)客户:与公司有业务往来的 (2)用户:可以使用系统的人 2 用户和客户关系 (1)用户和客户之间是拜访的关系 (2)用户 和 客户 是 多对多关系 ** 一个用 ...
- 使用sdk自带工具uiautomatorviewer查看app控件属性
双击打开即可 其只显示模拟器中的当前页面,所以需要在模拟器中打开你需要的页面,然后刷新
- poj 1611 简单并查集的应用
#include<stdio.h> #define N 31000 int pre[N]; int find(int x) { if(x!=pre[x]) pre[x]=find( ...
- SQL-Oracle-创建Dblink
create database link DBLINK_IMARK_RAC connect to imark identified by imarkDB12345 using '(DESCRIPTIO ...
- HDU 3709
真是跪了,一看范围就不会往枚举的方向想,没想到真用枚举加剪枝了...->——-> 解释一下代码中的上限: 例如4567,当枚举最高位时,很明显不能超过4,所以有上限,但当最高位为3以下时, ...
- 王立平--split字符串切割
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzQyNTUyNw==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- 为什么mysql中用\G表示按列方式显示
关于mysql的错误 - no query specified 学习了:http://blog.csdn.net/tenfyguo/article/details/7566941 sql语句可以用分号 ...
- 安卓项目开发实战(1)--首页顶部菜单BAR实现
从今天開始,我将開始自己手写一个星座运势的项目,星座运势的数据来源採用MYAPI的星座数据,client全然自己实现. 这个系列主要是讲project中主要界面的布局展示和一些项目中的难点解析.因为本 ...
- 【云快讯】之四十八《IBM和Cisco最新收购,加强Openstack易用能力》
2015-06-08 张晓东 东方云洞察 点击上面的链接文字,能够高速关注"东方云洞察"公众号 本周宣布的两起收购引人注意.思科购买Piston云计算公司.同期IBM的收购Blue ...