JSP备忘录03-cookie,session,application

提示:session是内置对象,但是cookie不是内置对象,使用需要new


基础介绍

cookie 是由服务端产生的,发给客户端保存,它就是我们理解的本地缓存(http是无状态协议),cookie不是JSP的内置对象,它是由javax.servlet.http.Cookie提供。 


  

一、Cookie

  • 常用方法

构造方法public   Cookie(String name ,String value);
获取名字String getName()
获取值String getValue()
设置最大有效期void setMaxAge(int s)  ; //单位是秒

response 内置对象中有 void addCookie(Cookie cookie); 方法,表示服务器向客户端响应返回(给客户端)一个  Cookie。(产生 Cookie  通过Cookie  的构造方法即可生成)。客户端获取cookie使用  request.getCookies(); 获取cookie不能只能拿一个单独的cookie对象,而是一次性拿到全部

  • 应用案例  

客户端向服务端发送请求后,服务端读取到请求后写入到cookie中,通过response响应(addCookie(Cookie cookie))后跳转,到新页面中含有cookie,初始页面要拿到该cookie,

需要获取所有的cookie后遍历寻找对应的cookie的name和value。类似谷歌浏览器记住账号密码的功能。

二、session

1.session执行机制

session是内置对象,中文 会话 的意思。浏览网页从打开到关闭就是一次会话。既 一次开始到一次结束就是一次会话。

每一个 SESSIONID 和 JSESSIONID 都是一一对应的 。既客户端的SESSIONID的值和服务端JSESSIONID的值是相同的。客户端下次再访问服务端,就可以通过查询 SESSIONID 的方式验证该客户端的JSESSIONID 是否能匹配成功从而判断客户端是否是第一次登录,从而实现许多网站的自动登录功能。

 

 服务端产生的cookie会自带一个 JSESSIONID ,发送给客户端后,与服务端本身的  SESSIONID 相同。

2.session

代码如下(示例):

 session.setMaxInactiveInterval(interval)  //设置session存活周期(秒)
     
session.invalidate() //销毁session
 
 session.setAttribute("sessionPwd", pwdCheck);
(String)session.getAttribute("sessionPwd")  

 session保留的值是object对象,需要强转为String。


 三、内置对象-application 

目前仅需掌握  application 的

String getContextPath()    获取虚拟路径

String getRealPath(String name)        通过虚拟路径获取绝对路径

 cookie    同一次请求有效     [ request.getRequestDispatcher("sucess.jsp").forward(request,response); 请求转发有效;

response.sendRedirect("sucess.jsp");   重定向 无效  ]

session 本次会话有效    , 无论请求转发 还是 重定向 跳转都有效,关闭浏览器无效

application   全局(切换浏览器)有效 ,关闭服务器重启后无效。

想要实现其他项目或者重启服务器 有效 ,需要使用  JNDI 技术

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值