JSP基础知识(cookie和session)

1.Cookie
CooKie是Web服务器保存在客户端的一系列文本信息
Cookie不是内置对象;Cookie保存的都是文本信息;Cookie是在客户端发挥作用
Cookie的作用:对特定对象的追踪;统计网页浏览次数;简化登录
安全性能:容易信息泄露
Cookie有效期:默认的是当你关闭浏览器后,Cookie就会清空,可以通过setMaxAge来设置Cookie的有效期。
<%
//Cookie不是内置对象
//Cookie保存的都是文本信息
//Cookie是在客户端发挥作用
//创建一个Cookie对象
Cookie cookie=new Cookie("uname","");
cookie.setValue("xiaozhang");
//保存到cookie当中
response.addCookie(cookie);
//获取cookie
String uname=null;
Cookie[] cookies=request.getCookies();
if(cookies!=null){
for(int i=0;i<cookies.length;i++){
if("uname".equals(cookies[i].getName())){
uname=cookies[i].getValue();
}
}
}
%>
Cookie属性常用方法
方法说明
void setMaxAge(int expiry)设置Cookie的有效期,以秒为单位
void setValue(String value)在Cookie创建后,对Cookie进行赋值
String getName获取Cookie的名称
String getValue()获取Cookie的值
String getMaxAge获取Cookie的有效时间,以秒为单位
将cookie提取出来的内容转换成UTF-8编码模式
URLDecoder.decode(cookies[i].getValue(),"UTF-8")

2.Session
一个会话就是 浏览器与服务器之间的一次通话 ,包含浏览器与服务器之间的多次请求、响应过程。

会话机制:session是一种存储机制的对象。 只要浏览器关闭就失效。

session:整个访问一次服务器的机制。有效期最长30分钟左右。

Session是JSP内置对象,与浏览器一一对应。允许用户存储和提取会话状态的信息。

session:存储一次会话范围内的所有数据,除非关闭浏览器(或超过有效期最长时间),会话才会结束。

JSP内置对象Session
Session对象用来存储有关用户会话的所有信息。
Session对象常用方法:
方法说明
void setAttribute(String key,Object value)以key/value的形式保存对象值
Object getAttribute(String key)通过key获取对象值
int getMaxInactiveInterval()获取session的有效非活动时间,以秒为单位
void setMaxInactiveInterval(int second)设置session的有效非活动时间,以秒为单位
String getId()获取session对象的编号
void Invalidate()设置session对象失效

//定义session
HttpSession session=request.getSession();
session.setAttribute("admin", uname);
//设置session的有效时间
session.setMaxInactiveInterval(30);
session和窗口的关系
一个session对应一个窗口,那么通过超链接打开的窗口是否也是新的session呢?
每个session对象都与浏览器一一对应,重新开启一个浏览器,相当于重新创建一个session对象并重新开启一个IE窗口,直接访问系统首页面
通过超链接打开的新窗口,新窗口的session与其父窗口的session相同
3.Cookie和session的比较
1.session是在服务器保存用户信息,Cookie是在客户端保存用户信息
2.session中保存的是对象,Cookie保存的是字符串
3.session随会话结束而关闭,Cookie可以长期保存在客户端
4.Cookie通常用于保存不重要的用户信息,重要的信息用session保存
5.session是内置对象,而Cookie不是内置对象




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值