美文网首页
servlet中的session和cookie

servlet中的session和cookie

作者: Kevin_Huang54 | 来源:发表于2019-02-15 16:52 被阅读0次

    session和cookie的区别

    • 两者都是保持会话状态的方式
    • session储存在服务器,cookie储存在客户端
    • session需要一个sessionid来开启,一般储存在cookie中,由容器自行处理
    • cookie通过来回发送的key-value来保证会话状态,需要在controller中编码实现会话保持
    • cookie不太安全,密码、卡号等重要信息应储存在session
    • session会占用服务器资源,考虑性能时,应当使用cookie

    servlet中session

    • request.getSession()——获得当前请求对应的session,或者新建一个session,cookie是request的一部分,容器根据cookie中的sessionid与现有的session匹配,返回session
    • request.getSession(false)——参数默认为true,当没有session时会new一个session,设为false则只返回现有session,没有则返回null,推荐使用
    • session.isNew()——判断是否是新建的session

    session失效的三种方式

    1. 长时间没有请求调用,时间可以通过容器设置
    2. controller调用invalidate()方法
    3. 容器关闭

    servlet中cookie常用方法

    • Cookie是一个类,可以new Cookie(键值对)
    • request.getCookies,返回cookie[]
    • setMaxAge(x秒),设置存活时间,设为0就是删除
    • response.addCookie(cookie)

    相关文章

      网友评论

          本文标题:servlet中的session和cookie

          本文链接:https://www.haomeiwen.com/subject/wwtmeqtx.html