session和cookie_JSP学习

有错误请指正,仅仅记录个人学习,能为读者帮忙更好

session(存储于服务端)

cookie(存储于客户端,不是内置对象):cookie是由服务端生成的,在发送给客户端保存,相当于本地缓存的作用

作用:提高访问服务端的效率,但是安全性较差

  • cookie是由键值对组成

javax.servlet.http.Cookie

public Cookie(String name,String value)

String getName():获取name

String getValue():获取value

void setMaxAge(int expiry):最大有效期(秒)

服务端准备Cookie:

response.addCookie(Cookie cookie)

页面跳转(转发,重定向)

页面获取cookie:request.getCookies();



a.服务端增加cookie:response对象;客户端获取对象,request对象

b.不能直接获取某一个单独cookie,只能一次性将全部的cookie拿到

除了自己设置的cookie,还有一个name为JSESSIONID的cookie

建议cookie中不要用中文和特殊符号,只放数字和英文,若有中文,需要进行编码处理


  • JSESSIONID的由来:
    每一个客户端浏览器在第一次访问该服务器时(先会查询并匹配JSESSIONID,如果不匹配,则会生成),服务器端会在服务器端生成一个唯一的sessionID(此时为session对象),

    服务器端会生成一个cookie,其name=JSESSIONID,value为sessionID,返回给客户端,客户端将其存储为cookie,用作服务器端识别身份的凭证

客户端第二次请求时,服务端会先用客户端cookie中的JSESSIONID,去服务端的session中匹配,如果匹配成功,则说明该用户不是第一次登陆


  • session:会话:一次开始到一次结束

session的同一次会话共享


  • session实现机制:第一次客户请求时,产生一个sessionID并复制给cookie的jsessionid然后发给客户端,最终,通过session的sessionID实现一一对应

  • session方法:
String getId():获取sessionId
boolean isNew():判断是否是新用户(第一次访问)
void invalidate():使session失效(退出登录,注销)
void setAttribute():
Object getAttribute():
setMaxInactiveInterval(秒):设置最大有效非活动时间
getMaxInactiveInterval():获取最大非活动有效时间

cookie和session的区别:

比较sessioncoookie
保存的位置服务端客户端
安全性较安全较不安全
保存的内容ObjectString
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无名之辈无名之辈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值