第二章 Session会话管理

采用网址重写的缺点:

在有些Web浏览器中,URL限制为2000个字符。

仅当有链接要插入值时,值才能转换成后面的资源。此外,要把值添加到静态页面的链接中,可不是一件容易的事情。

网址重写必须在服务器端有效。所有的链接都必须带有值,这样可能出现一个问题,即一个页面中可能会有许多个链接。

某些字符,例如空格、&符号及问号都必须进行编码。

添加到URL中的信息是明显可见的,这种情况有时可不是我们所期待的。

网址重写案例设计:

1.访问top10,返回一个页面,该页面中的每个按钮的url都被重写了,加上了type参数

2.点击按钮后,访问top10,并带上Token,服务端根据Token信息返回相应的页面

3.服务器根据用户选择的URL信息,返回相应的页面内容

隐藏域案例设计:

1.customer、editCustomer、updateCustomer用同一个Servlet进行处理

2.Customer上edit按钮,会将用户id提交给CustomerEdit页面

3.CustomerEdit上用隐藏域记录当前正在被编辑用户的id,update按钮会将信息提交给updateCustomer

4.updateCustomer完成更新,不返回页面

Cookie:

cookie是自动地在Web服务器和浏览器之间来回传递的一小块信息。

cookie适用于那些需要跨越许多页面的信息。

由于cookie是作为HTTP标头嵌入的,因此传输它的过程由HTTP协议处理。

可以根据自己的需要设置cookie的有效期限。

对于Web浏览器而言,每台Web 服务器最多可以支持20个cookie。

Cookie相关方法:

Cookie(String name, String value)

httpServletResponse.addCookie(Cookie cookie)

cookie.getName()

HttpSession对象:

getSession()

getSession(bool create)

setAttribute(String name, Object value)

getAttribute(String name)

getAttributeNames()

getId():获得HttpSession标识符

invalidate():这个方法强制Session过期,并将绑到到Session上的所有对象都解除绑定

getMaxInacitveInterval():了解一个HttpSession在用户最后一次访问之后还可以维持多久。

setMaxInactiveInterval():传递0,则Session永远不过期

添加到HttpSession中的值不一定是String,可以为任意Java对象,只要它的类实现了java.io.Serializable接口即可,以便当Servlet容器认为有必要的时候,保存的对象可以序列化成一个文件或者保存到数据库中,例如,当容器的内存快要用完的时候。仍然可以将非序列化的对象保存在HttpSession中,但是如果Servlet容器试图将它们序列化,将会以失败告终,并抛出异常。

HttpSession中保存的值不发送到客户端,这与其他的Session管理方法不同。而是Servlet容器为它创建的每一个HttpSession生成一个唯一标识符,并将这个标识符作为一个token发送给浏览器,一般是作为一个名为JSESSIONID的cookie,或者作为一个jsessionid参数添加到URL后面。在后续的请求中,浏览器会将这个token发送回服务器,使服务器能够知道是哪个用户在发出请求。无论Servlet容器选择用哪一种方式传输session标识答,那都是在后台自动完成的,不需要你去做额外的处理工作。

原文地址:https://www.cnblogs.com/junjie2019/p/10658255.html

时间: 2024-10-10 13:11:02

第二章 Session会话管理的相关文章

高项3.7日第一次课,第一章信息化基础知识与第二章信息系统服务管理梳理

第一章 信息化的基础知识 1.国家信息化体系要素: 主要包括6要素,信息技术应用(龙头).信息资源(关键).信息网络(必要手段).信息技术产业(基础).信息化人才(成功之本).信息化法规政策和规范(保障). 2.电子政务: 电子政务建设的指导原则: (1)统一规划,加强领导. (2)需求主导,突出重点. (3)统一规划,拉动产业. (4)统一标准,保障安全. 主要任务: (1)电子政务网络由政务内网和政务外网构成,两网之间物理隔离,政务外网与互联网之间逻辑隔离.政务内网主要是副省级以上政务部门的

第24章 在线会话管理

有时候需要显示当前在线人数.当前在线用户,有时候可能需要强制某个用户下线等,此时就需要获取相应的在线用户并进行一些操作,本章基于<第十六章 综合实例>代码构建. 会话控制器 @RequiresPermissions("session:*") @Controller @RequestMapping("/sessions") public class SessionController { @Autowired private SessionDAO sess

分布式应用session会话管理-基于redis

session会话在单台服务器下不会出现共享问题,现在应用部署方式都是分布式,或者集群部署,这样必然会面临一个问题,session共享. session共享的解决方案也有很多, 一.web服务器的粘性请求,比如采用nginx请求分发,使用ip_hash这种负载均衡方式,客户端请求只会被分发到相同的后台server,这样可以避免session共享的问题.但是缺点也很明显 二.基于数据库存储(网站用户量大的情况下,频繁dml数据,对db压力大) 三.基于cookie存储(安全问题.虽然可以加密存储.

评论设置----第二章:创建和管理内容

点击“保存并继续出版”按钮. Drupal将保存的内容项,现在该项目将 出现在主导航菜单上,用按字母顺序排列的菜单项.缺省情况下,菜单项 按字母顺序排序;你可以通过菜单管理工具更改排序顺序哪些 在第8章中讨论在这种情况下,我们是一个单件的内容链接到菜单项.在案件 要在其中多个内容项目链接到一个菜单项,你需要创建一个登陆页面(见 第7章)或视图(参见第10章).如果您使用的是标准Bartik主题(这是默认的主题 在Drupal 8),你应该看到靠近你的页面的顶部,您在“菜单中输入的值的新选项卡 链

深入理解JSP/Servlet Session会话管理机制

HTTP 是一种无状态协议,这意味着每次客户端检索网页时,都要单独打开一个服务器连接,因此服务器不会记录下先前客户端请求的任何信息.它与FTP.Telnet等协议不同,FTP等协议可以记住用户的连接信息. 会话(Session)是指一个终端用户与交互系统进行通信的时间间隔,通常指从登陆系统到注销系统之间所经过的时间以及如果需要的话,可能还有一定操作空间.JSP有四种方式实现会话跟踪功能. Cookie 服务器在响应请求时可以将一些数据以"键-值"对的形式通过响应信息保存在客户端.当浏览

第二章:进程管理

概念:一个具有一定独立功能的程序对某个数据集合的一次动态运行过程和资源分配过程. 相关元素:代码.数据.进程表 进程和程序的差别和联系: ·进程是动态的.程序是静态的 ·进程是临时的,程序是永久的 ·程序和进程都包括代码数据,进程还还有进程表 ·程序经过多创建,能够相应不同的进程 ·一个进程通过系统调用,能够被多个程序所调用  性质: ·动态性 ·并发性 ·独立性 ·异步性  进程的三种主要状态:     ·执行状态 ·堵塞状态:因为各种原因,进程放弃处理机的执行,并且不再期望被调用进行处理.

URL路径设置----第二章:创建和管理内容

形式立即显示内容的下面.编辑内容,然后选择关闭选项,并点击 “保存并继续出版”按钮.你会发现在如何显示您的内容项的显著变化, 因为评论将不再出现. 图2-15.随着打开的默认设置,用户现在可以发布在网站上的评论 随着打开的默认设置,游客到您的网站现在可以编写和响应发表评论 你的内容项(假设你已经设置权限允许匿名用户发表评论, 我将在第6章盖).请尝试输入主题和注释,然后点击保存.你的评论 现在应该出现在注释部分. 由于内容作者(或该网站的管理员),你可以删除,编辑或回复评论 点击每个注释下的链接

预览和全展示----第二章:创建和管理内容

默认情况下,Drupal允许的内容项进行编辑,更新和删除该项目的作者.只有网站 这允许他们管理员或用户与角色进行编辑,更新和删除其他作者的内容可以 更改您的内容.如果您没有看到旁边的编辑内容项目的标题,那么你就不是 登录与适当的权限的帐户进行修改,该项目. 要更改内容项,单击编辑选项卡. Drupal将在编辑模式下显示的内容项, 在这里你可以更改或删除的项(见图2-6). 图2-6.内容将显示在编辑模式 还有另一种方式来编辑您的文章.尝试更新您在上一步中创建的文章 导航回主页.要导航回主页,点击

第二章&#183; MySQL体系结构管理

一.客户端与服务器模型 ? 1.mysql是一个典型的C/S服务结构 1.1 mysql自带的客户端程序(/application/mysql/bin) mysql mysqladmin mysqldump 1.2 mysqld一个二进制程序,后台的守护进程 单进程 多线程 2.应用程连接MySQL方式 TCP/IP的连接方式 ? 套接字连接方式 思考:mysql -uroot -poldboy123是使用了哪个连接方式??? 二.MySQL服务器构成 1 什么是实例 1.MySQL的后台进程+