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 ...
随机推荐
- 取得Linux系统的各种统计信息
本文基于Linux 2.6.x内核 一.取得CPU信息(相关文件/proc/stat) 在一个系统中的/proct/stat文件内容如下 $ cat /proc/stat cpu 1039426 17 ...
- JavaScript进阶【五】利用JavaScript实现动画的基本思路
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- BZOJ 2527 [POI2011]MET-Meteors (整体二分+树状数组)
题目大意:略 洛谷传送门 整体二分裸题 考虑只有一个国家的情况如何处理 对询问数量二分答案,暴力$O(m)$打差分,求前缀和验证,时间是$O(mlogK)$ 如果有$n$个国家,就是$O(nmlogK ...
- alg--分治法
分治--分而治之, 把大的问题分成n个小的问题,分别处理,然后汇总小问题的结果. 具体介绍可以参考这位大哥的blog: https://www.cnblogs.com/steven_oyj/archi ...
- java8新特性:利用Lambda处理List集合
Java 8新增的Lambda表达式,我们可以用简洁高效的代码来处理List. 1.遍历 public static void main(String[] args) { List<User&g ...
- 修改struts2自定义标签的源代码,在原有基础上增加功能(用于OA项目权限判断,是否显示某个权限)
OA项目在做权限判断时 原始方式: 现在完成的功能 :通过改变struts2自定标签源代码 在原有的基础上 增加判断权限的功能 而页面上使用标签的方式 还是下图 步骤: 打开文件 搜索< ...
- 模拟ArrayList底层实现
package chengbaoDemo; import java.util.ArrayList; import java.util.Arrays; import comman.Human; /** ...
- hdu 2491 贪心
#include<stdio.h> #include<stdlib.h> #define N 110000 struct node { int u,v,len,time; }m ...
- oracle 解除锁表sql
select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b ...
- test environment bug
pxj::EsgServiceImpl.kmsProcess->Get:ESG JAR return data is:{"code":10000,"data&quo ...