文档章节

JavaWeb Item10: Cookie会话管理

_
 _Roger_
发布于 2016/01/26 11:21
字数 744
阅读 19
收藏 2

一、会话的概念

  会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。 

  有状态会话:一个同学来过教室,下次再来教室,我们会知道这个同学曾经来过,这称之为有状态会话。

二、会话过程中要解决的一些问题?

  每个用户在使用浏览器与服务器进行会话的过程中,不可避免各自会产生一些数据,程序要想办法为每个用户保存这些数据。

三、保存会话数据的两种技术

3.1、Cookie

  Cookie是客户端技术,程序把每个用户的数据以cookie的形式写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。这样,web资源处理的就是用户各自的数据了。

3.2、Session

  Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务器中的其它web资源时,其它web资源再从用户各自的session中取出数据为用户服务。

四、Java中cookie的API

Java中的javax.servlet.http.Cookie类用于创建一个Cookie

从request中获取浏览器访问服务器时传递过来的cookie数组:Cookie[] request.getCookies()

服务器发送cookie到浏览器端:response.addCookie(Cookie cookie)

五、Cookie注意的细节

  • 一个Cookie只能标识一种信息,它至少含有一个标识该信息的名称(NAME)和设置值(VALUE)。

  • 一个WEB站点可以给一个WEB浏览器发送多个Cookie,一个WEB浏览器也可以存储多个WEB站点提供的Cookie。

  • 浏览器一般只允许存放300个Cookie,每个站点最多存放20个Cookie,每个Cookie的大小限制为4KB。

  • 如果创建了一个cookie,并将他发送到浏览器,默认情况下它是一个会话级别的cookie(即存储在浏览器的内存中),用户退出浏览器之后即被删除。若希望浏览器将该cookie存储在磁盘上,则需要使用maxAge,并给出一个以秒为单位的时间。将最大时效设为0则是命令浏览器删除该cookie。

六、Cookie里的中文乱码

  • 转码:要想在cookie中存储中文,那么必须使用URLEncoder类里面的encode(String s, String enc)方法进行中文转码

  • 解码:在获取cookie中的中文数据时,再使用URLDecoder类里面的decode(String s, String enc)进行解码


本文转载自:http://www.cnblogs.com/xdp-gacl/tag/JavaWeb%E5%AD%A6%E4%B9%A0%E6%80%BB%E7%BB%93/

共有 人打赏支持
_
粉丝 29
博文 82
码字总数 39915
作品 0
武汉
私信 提问
JavaWeb基础(六)-Cookie和Session

1.Cookie和Session 在JavaWeb基础(五)中,我们分享了.、、、、。 今天我主要来分享下Cookie和Session, Cookie和Session使用起来其实很简单, 主要用来。先说下我这篇博客会分享的内容. 、、、、...

sixleaves
08/20
0
0
Django之路——8 cookie 和sessions

class HttpResponseBase: login.html:登录页面,提供登录表单; index1.html:主页,显示当前用户名称,如果没有登录,显示您还没登录; index2.html:主页,显示当前用户名称,如果没有登录...

袁勇i
07/05
0
0
补习系列-springboot中的几种scope

目标 了解HTTP 请求/响应头及常见的属性; 了解如何使用SpringBoot处理头信息 ; 了解如何使用SpringBoot处理Cookie ; 学会如何对 Session 进行读写; 了解如何在不同请求间传递 flash参数 ...

美码师
07/21
0
0
javaweb入门笔记(5)-cookie和session

javaweb入门笔记(5)-cookie和session 标签: javaweb [TOC] Cookie是客户端技术;Session是服务器端技术。 API: * javax.servlet.http:Class Cookie * [javax.servlet.http:Interface HttpS......

brianway
2016/02/06
170
0
JavaWeb Item11: Session会话管理

一、Session简单介绍   在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下)。因此,在需要保存用户数据时,服务...

_Roger_
2016/01/26
22
0

没有更多内容

加载失败,请刷新页面

加载更多

IC-CAD Methodology企业实战之openlava

在云计算解决安全问题并成为IC界主流运算平台之前,私有的服务器集群系统仍然是各大IC公司的计算资源平台首选。 现在主流的服务器集群管理系统包括lsf,openlava,SkyForm,三者都属于lsf一系...

李艳青1987
14分钟前
0
0
http response stream 字节流 接收与解码

在接收图片、音频、视频的时候,需要用到二进制流。 浏览器会发给客户端 字节Byte流,一串串的发过来_int8格式 -128~127(十进制),也就是8bit(位)。 客户端接收的时候,对接收到的字节收集,...

大灰狼wow
14分钟前
0
0
配置Tomcat监听80端口...

12月13日任务 16.4 配置Tomcat监听80端口 16.5/16.6/16.7 配置Tomcat虚拟主机 16.8 Tomcat日志 1.配置Tomcat监听80端口 示例一:自定义监听端口 vim /usr/local/tomcat/conf/server.xml 编辑...

hhpuppy
14分钟前
0
0
在ubuntu中配置java环境

export JAVA_HOME=/usr/lib/jvm/jdk巴啦啦啦gexport JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH sourc......

无极之岚
15分钟前
0
0
程序中设置MySQL的默认值

import com.alibaba.fastjson.JSON;import java.beans.PropertyDescriptor;import java.lang.annotation.*;import java.lang.reflect.Field;import java.lang.reflect.Method;impo......

laolin23
38分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部