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
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不是内置对象




你可能感兴趣的:(JSP基础知识(cookie和session))