zoukankan      html  css  js  c++  java
  • HttpSession和jsp中session的区别(转)

    你听说过Session吗? 
    它是保存在服务器的一个标识,就想客户电脑上的Cookie。我们常见的网站管理员和普通用户之间就是用Session来区分的。 

    你所说的HttpSession是JSP中经常使用的一个方法,准确的说,是Request中的一个方法,比如。 
    Session = request.getSession(true); 
    用于获取Session 

    HttpSession 中可以跟踪并储存用户信息,把值设置到属性中,有2 个方法: 
    setAttribute(),getAttrribute(); 
    例如:在一个方法中用session.setAttribute(“student”,student);在 
    session 中设置一个属性名为student,值为一个名为student 的对象。而后可在 
    同一session 范围内用getAttribute(“student”)取出该属性,得到student 
    对象。 


    HttpSession session=request.getSession();为什么不用response儿用request! 
    首先回答为什么分别是response和request这两个内置对象。 
    你得先明白你通过获取对象是做什么用的,是往哪用的。 
    第一个PrintWriter out=response.getWriter() 
    是想获得一个输出流,用来响应客户端发出的请求。所以想响应客户端必须用response 
    第二个HttpSession session=request.getSession() 
    是从客户端获得一个session的对象,这个对象包含客户端持有的相关信息用来区别每个客户端.既然是从客户端就必须用请求对象来获取,因为一般都是客户端向服务器端发出的一个请求.所以用request对象。 
    Cookie和session这个得分开来说 
    两个都可以用来存私密的东西,同样也都有有效期的说法。 
    区别在于。 
    session是放在服务器上的,过期与否取决于服务期的设定,cookie是存在客户端的,过去与否可以在cookie生成的时候设置进去。 

    1、cookie数据存放在客户的浏览器上, 
    session数据放在服务器上 
    2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗 
    考虑到安全应当使用session 
    3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能 
    考虑到减轻服务器性能方面,应当使用COOKIE 
    4、单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能3K。 
    5、所以个人建议: 
    将登陆信息等重要信息存放为SESSION 
    其他信息如果需要保留,可以放在COOKIE中

  • 相关阅读:
    [Docker] redis 全配置
    Dubbo的负载均衡策略&容错策略
    Dubbo部分知识点总结
    如何win10 上访问虚拟机(linux)上redis方法
    Linux_centOS_5.7_64下如何安装jdk1.8&mysql
    java高级&资深&专家面试题-行走江湖必备-持续更新ing
    springCloud微服务调用失败【CannotGetJdbcConnectionException: Failed to obtain JDBC Connection】
    synchronized、volatile区别、synchronized锁粒度、模拟死锁场景、原子性与可见性
    ThreadLocal什么时候会出现OOM的情况?为什么?
    volatile、ThreadLocal的使用场景和原理
  • 原文地址:https://www.cnblogs.com/zxw0004/p/4989585.html
Copyright © 2011-2022 走看看