session,cookie、application对象

session对象

Session称为一次会话,浏览器的打开及关闭。例如:登录淘宝之后,在该浏览器上无论打开的哪个页面都属于一次会话(不需要登录了)

方法名描述
setAttribute(key,val)设置键值对
getAttribute(key)通过键获取值
getId()获取session的id
setMaxInactiveInterval(time)设置session的过期时间[单位:秒](tomcat中默认配置的过期时间是30分钟)
removeAttribute(key)从session中移除指定的key
//login.jsp
<%
String errMsg = "";
//登录页面可能会被打开多次
Object object = session.getAttribute("errMsg");
if(object != null){//从登录失败后跳转过来的
  errMsg = (String)object;
}
%>
错误信息:<%=errMsg%>

//contorl.jsp
<%
//对用户名及密码进行验证(操作数据库)
if("admin".equals(uname) && "admin".equals(pwd)){
  //将用户的用户名存储起来作为登录成功的标识
  session.setAttribute("uname",uname);
  //设置session的失效事件(单位:秒)
  session.setMaxInactiveInterval(3);
  //登录成功,跳转个人中心
  response.sendRedirect("person.jsp");
}else{
  //通过session储存错误信息
  session.setAttribute("errMsg","用户名或密码错误");
  //返回登陆界面,并提示错误信息
  response.sendRedirect("login.jsp");
}
%>
cookie对象

cookie是在本地进行数据存储的对象,访问速度快、效率高但是不安全

Cookie生效时间

1.值为正数时,代表了cookie的存活时长(秒为单位)

2.值为0时,代表立即清除cookie

3.值为负数时,代表cookie的生命周期与当前会话一致

<%
Cookie nameCookie = new Cookie("name",name);
  //设置cookie的生效时间setMaxAge() 秒
  nameCookie.setMaxAge(10);//存活十秒
  response.addCookie(nameCookie);
%>
cookie对象跟session对象的区别

1.session是存储在服务端的,Cookie是存储在客户端

2.session数据安全,Cookie数据不安全

3.session效率较低,Cookie效率相对较高

application对象

application是全局作用域对象,也称为web的上下文对象,通常用于存储一些全局参数

方法名描述
setAttribute(key,val)设置全局参数
getAttribute(key)获取全局参数
<%
//设置默认的阅读量
  int count = 0;
  //先从全局作用域中获取存储的已访问的数量
  Object obj = application.getAttribute("count");
  if(obj != null){
  		//不能直接用int接受需要用引用数据类型 Integer
      count = (Integer)object;
  }
  count++;
  //将最新的阅读量存储到全局作用域中
  application.setAttribute("count",count);
%>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值