一、Cookie
1、含义:一种将用户的信息保存在浏览器端的技术
缺点:安全性较低,黑客可以通过浏览器窃取用户信息和密码
2、过程:
创建一个cookie,servlet用于将一小部分信息发送到浏览器,保存在浏览器,之后返回给服务器端
3、使用:
(1)创建cookie (第一个是key,第二个值是value)
(1.1)设置最大存活时间(以秒 为cookie设置最大的存活事件)
作用:设置cookie的最大存活时间,可以将cookie保存在浏览器所在的硬盘上
cookie如果不设置最大存活时间,则cookie保存在浏览器的内存中,浏览器关闭则内存释放
(1.2)设置cookie访问路径
作用:限制当用户访问某个特定路径,才能使用到cookie(如京东购物车)
(2)将cookie发送到浏览器
(3)获取浏览器发送过来的cookie
二、Session
1、含义:一种将用户的信息保存在服务器端的技术
2、作用:在多个页面中表明一个用户,并可以为用户保存一些信息
3、使用:
(1)session创建或获取当前session
获取seesion的Id
(2)session存在一个最大不活跃时间(默认为30min)
如果这个时间内用户操作了页面,则服务器认为还是同一个用户,保存用户操作过相关的信息。若超过了时间未操作页面,服务器认为是另一个用户,会重新分配session ID
,之前操作的页面无效,需要重新刷新。
(3)立即销毁 (设置的话,每次创建又会销毁,每个id都会不同)
(4)session保存用户信息
不关闭浏览器时,session会把id存在cookie中,服务器的session池也有一个id,二者对应上,里面的内容就能进行获取。如关闭浏览器,浏览器中的cookie被释放了,再次请求时,服务器又新建了一个sessionID,和之前的对应不上,内容获取就会为空。
设置用户信息
获取用户信息
三、ServletConfig
该对象表示servlet的配置信息,一个servlet只有一个ServletConfig对象
1、使用:
(1)获取ServletConfig对象
(2)获取servlet的名字
(3)获取请求参数
(作用不大,获取时需要在web注解或web.xml文件进行设置才能获取)
如图:
(3.1)获取单个请求参数
(3.2)获取多个请求参数名
四、ServletContext
1、概念:表示全局的Servlet配置对象,整个项目就一个ServletContext对象,被所有的servlet所共用
2、获取方式(三种,获取的都是同一个对象)
3、使用:
(1)获取文件的绝对路径(重要的用法※)
好处:IO 流获取文件时,可以使用,比较简单的获取绝对路径的文件。
(2)获取上下文路径,即servlet项目包名(context root/context path):
部署在tomcat/webapps下的目录名称、访问项目的项目路径
(重要的用法※)
(3)设置一些数据保存在ServletContext中(重要的用法※)
设置
获取
(4)获取全局的配置信息
需要在web.xml设置一些信息才能获取,设置在servlet的外部,可以被所有servlet所共享
(5)遍历某个文件夹下的资源路径
4、ServletContext的别名:appclication