Ruby 教程 之 Ruby CGI Cookie 6

简介: Ruby CGI Cookie

Ruby 教程 之 Ruby CGI Cookie 6

Ruby CGI Cookie

HTTP协议是无状态协议。但对于一个商业网站,它需要保持不同的页面间的会话信息。

如用户在网站注册过程中需要跳转页面,但又要保证之前填写的信息不丢失。

这种情况下 Cookie 很好的帮我们解决了问题。

CGI::Session 类

CGI::Session 保持了用户与 CGI 环境的持久状态。 会话可以在内存中,也可以在硬盘上。

类方法

Ruby 类 Class CGI::Session 提供了简单的方法来创建 session:

CGI::Session::new( cgi[, option])
启用一个新的 CGI 会话并返回相应的 CGI::Session 对象。选项可以是可选的哈希,可以是以下值:

session_key: 键名保存会话 默认为 _session_id。
session_id: 唯一的会话 ID。自动生成
new_session: 如果为true,为当前会话创建一个新的Session id。 如果为 false, 通过 session_id 使用已存在的 session 标识。 如果省略该参数,如果可用则使用现有的会话,否则创建一个新的。
database_manager: 用于保存 sessions 的类,可以是 CGI::Session::FileStore or CGI::Session::MemoryStore。默认为 FileStore。
tmpdir: 对于 FileStore, 为 session 的错存储目录。
prefix: 对于 FileStore, 为 session 文件的前缀。

实例化方法

序号 方法描述
1 [ ]
返回给定 key 的值。查看实例。
2 [ ]=
设置给定 key 的值。 查看实例。
3 delete
调用底层数据库管理的删除方法。对于 FileStore, 删除包含 session 的物理文件。 对于 MemoryStore, 从内存中移除 session 数据。
4 update
调用底层数据库管理的更新方法。 对于 FileStore, 将 session 写入到磁盘中。 对于 MemoryStore则无效果。

目录
相关文章
|
3月前
|
存储 Java
JSP 教程 之 JSP Cookie 处理 8
JSP教程讲解如何处理Cookie。要删除Cookie,需获取已存在Cookie,将其有效期设为0,然后重新添加到响应头。以下示例代码演示如何删除一个名为"name"的Cookie。当运行此JSP,第二次访问时,"name" Cookie将变为null。页面还会显示现有Cookie的名称和解码后的值。
17 2
|
3月前
|
存储 Java
JSP 教程 之 JSP Cookie 处理 7
JSP教程讲解了如何处理Cookie。Cookie是客户端的文本文件,用于存储跟踪信息。在JSP中,通过调用`request.getCookies()`获取Cookie数组,然后遍历并使用`getName()`和`getValue()`读取每个Cookie的名称和值。示例代码展示了一个JSP页面,它遍历请求中的Cookie,并解码显示其名称和值。如果未找到Cookie,则显示相应消息。
24 1
|
3月前
|
存储 Java
JSP 教程 之 JSP Cookie 处理 6
JSP教程讲解了如何处理Cookie。Cookie是客户端的文本文件,用于存储跟踪信息。在JSP中,设置Cookie涉及三步:创建Cookie对象、设置有效期和添加到HTTP响应头。示例代码展示了一个JSP页面,接收HTML表单数据,编码后存储为Cookie,并设置24小时有效期。用户可以通过GET方法提交表单到main.jsp,实现Cookie设置。
25 2
|
3月前
|
存储 JavaScript 前端开发
JSP 教程 之 JSP Cookie 处理 2
JSP教程讲解了如何处理Cookie,Cookie是存储在客户端的文本文件,用于存储跟踪信息。在JSP中,通过设置HTTP头部的Set-Cookie来创建Cookie,包含键值对、过期时间、路径和域名。当用户访问匹配的页面时,浏览器会发送Cookie回服务器。JSP使用request对象的getCookies()方法获取Cookie数组。
18 1
|
3月前
|
存储 安全 Java
JSP 教程 之 JSP Cookie 处理 3
JSP教程介绍了Cookie处理,Cookie是客户端存储的文本文件,用于跟踪信息。JSP支持HTTP cookie操作,提供了如设置域名、有效期、路径及加密传输等方法。例如,`setDomain()`设定域名,`setMaxAge()`设置有效期,`setPath()`定义作用路径,而`setSecure()`则用于指定安全传输。此外,`setComment()`可设置cookie用途注释。
31 0
|
3月前
|
存储 Java
JSP 教程 之 JSP Cookie 处理 1
JSP教程讲解了如何处理Cookie,Cookie是客户端存储的文本信息,用于跟踪用户。JSP支持HTTP cookie,处理包括:服务器发送cookie到浏览器、浏览器存储并在后续请求时回传。教程涵盖设置、重置、访问和删除Cookie的技巧。同时,提到了针对中文编码解码的方法,使用`URLEncoder.encode`进行编码,`URLDecoder.decode`进行解码。
16 0
|
4月前
|
XML 数据格式
Servlet 教程 之 Servlet Cookie 处理 5
Servlet教程展示了如何处理Cookie。创建Cookie涉及构造函数(键值对),设置最大生存周期(如24小时)并将其添加到HTTP响应头。给定示例显示了一个Servlet,它从表单接收名字和URL,编码为Cookie,设置过期时间,然后在响应中发送。HTML表单用于触发Servlet。需在web.xml配置Servlet并用HTML页面调用。
42 1
|
4月前
|
安全 网络安全 数据安全/隐私保护
Servlet 教程 之 Servlet Cookie 处理 3
Servlet教程中的Cookie处理介绍了12个关键方法:设置/获取域名、最大生存时间、名称、值、路径和安全属性,以及评论的设置与获取。这些方法用于在Servlet中创建和管理Cookie的行为,如设定有效期、作用域及安全性。
43 1
|
4月前
|
存储
Servlet 教程 之 Servlet Cookie 处理 7
Servlet教程展示了如何删除Cookie。Servlet `DeleteCookies`通过设置setMaxAge()为零,从响应头移除名为"url"的Cookie。当运行此Servlet,之前的ReadCookies返回的url将是null。代码包括检查请求中的Cookie,匹配名称后删除,并显示删除确认信息。
27 0
|
4月前
Servlet 教程 之 Servlet Cookie 处理 6
该教程展示了如何使用Servlet读取Cookie。在`doGet`方法中,通过`HttpServletRequest`的`getCookies()`获取Cookie数组,然后遍历并使用`getName()`和`getValue()`获取每个Cookie的详细信息。如果找到名为"name"的Cookie,将其最大生存期设为0以删除。输出显示Cookie的名称和解码后的值。当无Cookie时,则显示相应消息。
40 0