
今日内容
一、会话技术
1. 概念:会话是指浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止,一次会话中包含多次请求和响应。
2. 功能:在一次会话的范围内,实现多次请求间共享数据。
3. 方式:
(1)客户端会话技术:Cookie
(2)服务器端会话技术:Session
二、Cookie:
1. 概念:客户端会话技术,将数据保存到客户端。
2. 快速入门:
(1)使用步骤:
1. 创建Cookie对象,绑定数据,new Cookie(String name, String value)。
2. 发送Cookie对象,response.addCookie(Cookie cookie)。
3. 获取Cookie,拿到数据,Cookie[] request.getCookies()。
(2)实现原理:基于HTTP响应头set-cookie和HTTP请求头cookie实现。
3. Cookie的细节:
(1)一次可不可以发送多个cookie? 可以,可以创建多个Cookie对象,使用response调用多次addCookie方法发送cookie即可。
(2)Cookie在浏览器中保存多长时间?默认情况,当浏览器关闭后,Cookie数据被销毁。可以设置持久化存储,setMaxAge(int seconds),正数表示将Cookie数据写到硬盘的文件中,持久化存储,并指定cookie存活时间,时间到后,cookie文件自动失效;负数表示默认值;零表示删除cookie信息。
(3)Cookie能不能存中文?在tomcat 8之前不能直接存储中文数据,需要将中文数据进行URL编码;在tomcat 8之后支持中文数据,但特殊字符建议使用URL编码存储和URL解码解析。
(4)关于Cookie共享问题?如果在同一个tomcat服务器中部署了多个web项目,那么这些web项目之间默认是不能共享cookie的。如果要共享,可以将cookie的path设置为”/”。对于不同的tomcat服务器间cookie共享问题,可以通过设置cookie的域名来实现。例如,如果设置一级域名相同,那么多个服务器之间cookie可以共享。
(5)Cookie的特点和作用:Cookie存储数据在客户端浏览器。浏览器对于单个cookie的大小有限制(4kb)以及对同一个域名下的总cookie数量也有限制(20个)。作用:一般用于存储少量的不太敏感的数据,在不登录的情况下完成服务器对客户端的身份识别。
以案例说明使用场景:例如记录用户上次访问时间。第一次访问时提示“您好,欢迎您首次访问”,并设置Cookie记录当前时间;之后访问时通过判断是否存在名为lastTime的cookie来区分是否是第一次访问,并显示上次访问时间或欢迎回来提示。代码实现略过具体细节。
三、JSP入门学习
