当前课程知识点:Web后端开发技术 >  第3章 会话跟踪 >  3.2 Session技术 >  3.2.1 Session技术概述

返回《Web后端开发技术》慕课在线视频课程列表

3.2.1 Session技术概述在线视频

下一节:3.2.2 Session技术-Session技术应用购物车

返回《Web后端开发技术》慕课在线视频列表

3.2.1 Session技术概述课程教案、知识点、字幕

欢迎大家回来继续学习

Web后端开发技术

在这一小节当中

我们将学习Session技术概述

Session技术

它是使用HttpSession对象

实现会话跟踪的一种技术

它是一种在服务器端保持会话跟踪的

解决方案

他的工作过程或者说工作原理如何呢

我们看一下

当用户发送第1次请求的时候

这里面需要指出请求的应该是jsp

或者servlet这种类型的资源

那么在服务器端就会创建httpSession对象

那么这个对象创建以后

他就应该有一个唯一的标识就是

SessionId当向客户端

发送响应的时候就会把会话对象的

ID

这里面叫做这JSESSIONID

作为响应当中响应头的一部分

返回给客户端了

当客户端第2次发送请求的时候

它将携带上刚才我们看到的JSESSIONID

也就是说 cookie返回给

服务器

那么通过这种方式服务器就能够记录

和识别用户

那么这是session他的工作的

同样我们可以使用浏览器当中的

开发者工具来观察

这JSESSIONID这张图我们看到在返回的

响应当中

这里面有一个对JSESSIONID

有这样一串数字

那么这个会话当中JSESSIONID

当他第2次发送请求的时候

他会携带上刚才我们看到的

这JSESSIONID

那么在开发当中我们如何获取到Session对象呢

换句话说

Session对象它是由容器创建的

我们怎样把它取到

那么Session对象

它是通过 http

ServletRequest的对象

这request接口来获取的

它有两个方法

第1个方法是getSession

那么这个方法是获取与客户端

相关联的有效的Session

如果当前没有Session

没有Session这个对象

他就会新增一个或者新创建一个

第2个方法和第1个方法它的名称是一样的

所差的就是参数不同

这里面有一个布尔型的参数

这是什么意思呢

就是说它也是用来获取客户端的一个

有效的Session

如果当前Session对象已经

存在了

那么它就返回当前这Session

如果当前Session这个对象不存在

在这种情况下

当这个参数为true的时候

它就会创建一个新的session返回去

当为false的时候

它的返回值就是为空了

所区别就在这里

这张表格列出了HttpSession

的接口的常用的方法

我们首先看前三个方法

叫做setAttribute

getAttribute和removeAttribute

大家想到这三个方法应该是很熟悉的

那么在之前的servlet

context的当中

我们会见到这三个方法

在HttpServletRequest

当中也见到了这三个方法

那么这三个方法是用来存取属性的

在Servlet

context当中

我们把它叫做在应用域当中存取属相

在Httpservlet

Request的接口当中

我们把它叫做在请求域当中存储属性

对于这里我们把它叫做在会话域当中

存取属性

大家要注意它们的范围是不一样的

方法名称是一样的

接下来这个方法叫做invite

它的作用是使一个会话失效

会话失效就意味着这次会话结束

那么从创建会话到会话结束之间的

我们把它称为一次会话

那么在一次会话当中

如果有用户多次的请求

那么它都属于一个会话

都有一个SESSIONID来维护

那么除了这种方式是会话失效之外

还有哪种方式

还有一种方式就是

Session本身它有一个最大的不活动时间

也就是说当我们创建了一个Session对象以后

换句话说

发送了一次

对servlet或jsp请求以后

我没做任何事情

那么他会超过一定时间以后

session也会删除的

那么这个时间就叫做最大不活动时间

那么最大不活动时间

通常是多少呢

对于他们开的服务器来讲

它是30分钟

在它的配置文件当中会看到这个数据

接下来这个方法叫做setMax

然后是最大的这种不活动时间

刚才我们指的时间

下面这个方法是用来获取最大的不活动时间

在接下来这个方法是用来获取

session的ID

对于每个会话它都有一个唯一的标识

就是SessionID在Cookie

当中叫做JSESSIONID最后一个方法是

用来获取Session创建对象的时间

下面这个事例是用来在会话域当中

存取属性

我们看一下这个方法

通过Request的对象得到

Session

然后调用

setAttribute

像会话域当中存取了一个名为username

值为mooc的属性

接下来这行代码是用来获取名称为

username那么的属性的值

注意这里面做了一个类型的转换

最下面这行代码是将

session当中属性删除掉

接下来代码呢是用来设置和获取会话

的最大不活动时间

这个代码应该比较简单

setMax

Inactive

Interval这样一个值

值呢应该是一个秒

以秒为单位

接下来是获取最大的值

最后这个是如何使一个会话失效

那么会话失效它到底还有什么重要

作用呢

我们在网站上面会看到这种页面

它上面有一个标识

安全退出

为什么要有这种功能呢

下面我给大家简单解释一下

当我们关闭浏览器的时候

大家都会认为 session已经

删除掉了

事实上不是这样的

当我们把浏览器关闭以后

如果这个session没有超过它的最大

不活动时间在服务器端还是存活的

那么这会儿就有可能会受到一些数据的攻击

或者说这个网站是不安全的

那么通过在这里设置一个选项叫做

安全退出

在安全退出当中调用session

当中的 evaluate

使会话失效

那么我们的网站就比不使用这种方式

变得更安全一些

好了

我们这节课就讲到这里

Web后端开发技术课程列表:

第1章 Java Web开发准备

-1.0 导学

--1.0.1 导学

-1.1 Web应用开发概述

--1.1.1 Web应用简介

--1.1.2 Web开发技术

--1.1.3 测试

-1.2 准备Java Web应用开发环境

--1.2.1 准备Java Web应用开发环境

--1.2.2 测试

--1.2.3 谈谈JavaWeb优势和学习方法

-1.3 任务实现:Hello World Web项目

--1.3.1 Hello World Web项目

--1.3.2 测试

-1.4 小结

--1.4.1 小结

-本课程所有代码

--课程参考代码

第2章 Servlet技术基础

-2.0 导学

--2.0.1 导学

-2.1 Servlet概述

--2.1.1 Servlet简介

--2.1.2 Servlet API

--2.1.3 测试

-2.2 创建Servlet

--2.2.1 Hello Servlet

--2.2.2 Servlet配置

--2,2,3 作业

-2.3 Servlet应用

--2.3.1 处理超链接请求

--2.3.2 处理form表单请求

--2.3.3 处理结果

--2.3.4 测试

-2.4 任务实现:某高校毕业生信息发布系统-注册与登录(Servlet版)

--2.4.1 注册代码实现

--2.4.2 登录代码实现

--2.4.3 测试

--2.4.4谈一谈jQuery前端开发框架

-2.5 ServletConfig接口

--2.5.1 ServletConfig接口

-2.6 ServletContext接口

--2.6.1 ServletContext接口

-2.7 HttpServletRequest接口

--2.7.1 获取请求报文信息

--2.7.2 上传照片

--2.7.3 获取网络连接信息

--2.7.4 存取请求域属性

--2.7.5 测验

--2.7.6 在请求转发和重定向过程中传递数据

-2.8 HttpServletResponse接口

--2.8.1 HttpServletResponse接口

--2.8.2 输出服务器端图片

--2.8.3 测试

-2.9 任务实现:某高校毕业生信息发布系统-简历添加

--2.9.1 任务实现:某高校毕业生信息发布系统-简历添加

-2.10 小结

--2.10.1 小结

-动画演示:Java Web应用服务器处理客户端请求的过程

--Java Web应用服务器处理客户端请求的过程

第3章 会话跟踪

-3.0 导学

--3.0.1 导学

-3.1 Cookie技术

--3.1.1 Cookie技术概述

--3.1.2 Cookie技术应用-自动登录

--3.1.3 测试

-3.2 Session技术

--3.2.1 Session技术概述

--3.2.2 Session技术-Session技术应用购物车

--3.2.3 测试

-3.3 URL重写与隐藏表单域

--3.3.1 URL重写技术与隐藏表单域

--3.3.2 测试

-3.4 任务实现:某高校毕业生信息发布系统-简历修改

--3.4.1 任务实现:某高校毕业生信息发布系统-简历修改

--3.4.2 讨论会话跟踪技术的应用场景

-3.5 小结

--3.5.1 小结

第4章 JSP基础

-4.0 导学

--4.0.1 JSP导学

-4.1 jsp概述

--4.1.1 JSP概述

--4.1.2 测试

-4.2 脚本元素

--4.2.1 脚本元素

--4.2.2 测试

-4.3 指令元素

--4.3.1 指令元素

--4.3.2 测试

-4.4 动作元素

--4.4.1 动作元素

--4.4.3 测试

-4.5 内置对象

--4.5.1 内置对象(1)

--4.5.2 内置对象(2)

--4.5.3 测试

-4.6 JavaBean

--4.6.1 JavaBean概述

--4.6.2 分步注册

--4.6.3 测试

-4.7 任务实现:某高校毕业生信息发布系统-首页(JSP版)

--4.7.1 任务实现:某高校毕业生信息发布系统-首页(JSP版)

--4.7.2 在JSP页面显示内容的都有哪些方法

-4.8 小结

--4.8.1 小结

第5章 表达式语言

-5.0 导学

--5.0.1 表达式语言

--5.0.2 测试

-5.1 el语法

--5.1.1 EL语法

--5.1.2 测试

-5.2 el隐含对象

--5.2.1 EL隐含对象

--5.2.2 测试

-5.3 任务实现:某高校毕业生信息发布系统-学生详细信息展示

--5.3.1 任务实现:某高校毕业生信息发布系统-学生详细信息展示

--5.3.2 测试

-5.4 小结

--5.4.1 小结

--5.4.2 讨论el表达式的优势

第6章 标准标签库

-6.0 导学

--6.0.1 标准标签库

--6.0.2 测试

-6.1 核心标签库

--6.1.1 通用标签

--6.1.2 条件标签

--6.1.3 迭代标签

--6.1.4 URL标签

--6.1.5 测试

-6.2 任务实现:某高校毕业生信息发布系统-首页(JSTL版)

--6.2.1 任务实现:某高校毕业生信息发布系统-首页(JSTL版)

--6.2.2 测试

-6.3 小结

--6.3.1 小结

--6.3.2 讨论如何实现自定义标签

第7章 Filter和Listener

-7.0 导学

--7.0_导学

-7.1 过滤器

--7.1.1过滤器(1)

--7.1.2过滤器(2)

--7.1.3 测试

-7.2 监听器

--7.2.1.1与ServletContext相关的监听器

--7.2.1.2示例:访问网站计数功能

--7.2.2.1与Session相关的监听器

--7.2.2.2示例:显示在线用户名称

--7.2.3.1与Request相关的监听器

--7.2.3.2示例:实时显示访问网站用户信息示例

--7.2.4 测试

-7.3 任务实现:某高校毕业生信息发布系统-单态登录

--7.3.1 任务实现:某高校毕业生信息发布系统-单态登录

--7.3.2 测试

-7.4 小结

--7.4.1小结

--7.4.2讨论filter和listener使用场景

第8章 JDBC

-8.0 导学

--8.0_导学

-8.1 JDBC API

--8.1.1 JDBC API

--8.1.2 测试

-8.2 JDBC API访问MySQL基本步骤

--8.2.1 JDBC API

--8.2.2 测试

-8.3 任务实现:某高校毕业生信息发布系统-注册与登录

--8.3.1 任务实现:某高校毕业生信息发布系统-注册与登录(JDBC版)

--8.3.2 测试

-8.4 小结

--8.4.1小结

--8.4.2 讨论JDBC工具类

第9章 某高校毕业生信息发布系统开发

-9.0导学

--9.0导学

-9.1 技术准备

--9.1.1技术准备-MVC模式

--9.1.2技术准备-Ajax技术

--9.1.3技术准备-jQuery对Ajax的实现

--9.1.4_技术准备- JDBC工具类

--9.1.5 测试.

-9.2 系统设计

--9.2系统设计:某高校毕业生信息发布系统开发

-9.3 系统实现

--9.3.1完善登陆和注册功能

--9.3.2完善简历添加功能

--9.3.3完善简历修改功能

--9.3.4.1首页分页显示

--9.3.4.2首页分页显示

-9.4 小结

--9.4.1小结

--9.4.2讨论:分页组件

3.2.1 Session技术概述笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。