zoukankan      html  css  js  c++  java
  • Servlet : Session技术

    1 基本概念

      <1> Session本意为"会话"的含义,是用来维护一个客户端和服务器关联的一种技术

      <2> 浏览器访问服务器时,服务器会为每一个浏览器都在服务器端的内存中分配一个空间,用于创建一 个Session对象,该对象有一个id属性且该值唯一,我们称为SessionId,并且服务器会将这个 SessionId以Cookie方式发送给浏览器存储

      <3> 浏览器再次访问服务器时,会将SessionId发送给服务器,服务器可以依据SessionId查找相对应的 Session对象

    2 相关的方法

      使用javax.servlet.http.HttpServletRequest接口的成员方法,实现Session的获取

    方法声明 功能介绍
    HttpSession getSession() 返回此请求关联的当前Session,若此请求没有则创建一个

      使用javax.servlet.http.HttpSession接口的成员方法,实现判断和获取

    方法声明 功能介绍
    boolean isNew() 判断是否为新创建的Session
    String getId() 获取Session的编号

      使用javax.servlet.http.HttpSession接口的成员方法,实现属性的管理

    方法声明 功能介绍
    Object getAttribute(String name) 返回在此会话中用指定名称绑定的对象,如果没有对象在 该名称下绑定,则返回空值
    void setAttribute(String name, Object value) 使用指定的名称,将对象绑定到此会话
    void removeAttribute(String name) 从此会话中删除与指定名称绑定的对象

    3 Session的生命周期

      为了节省服务器内存空间资源,服务器会将空闲时间过长的Session对象自动清除掉,服务器默认 的超时限制一般是30分钟

      使用javax.servlet.http.HttpSession接口的成员方法实现,失效实现的获取和设置

    方法声明 功能介绍
    int getMaxInactiveInterval() 获取失效时间
    void setMaxInactiveInterval(int interval) 设置失效时间

    可以配置web.xml文件修改失效时间

    <session-config>
        <session-timeout>30</session-timeout>
    </session-config>

    4 Session的特点

      数据比较安全

      能够保存的数据类型丰富,而Cookie只能保存字符串

      能够保存更多的数据,而Cookie大约保存4KB

      数据保存在服务器端,会占用服务器的内存空间,如果存储信息过多、用户量过大,会严重影响服务 器的性能

    5 练习

     

     

  • 相关阅读:
    CentOS7_装机软件推荐
    http://www.osyunwei.com/archives/4788.html
    SQL经典面试题集锦
    异步方式
    webwxgetcontact 获取的是通讯录里的群或好友的信息
    perl 微信取自己的ID
    perl weixin 发消息接口 webwxsendmsg
    Invalid project description.
    运行期间id是不变的
    关于微信 init接口返回的Count和webwxbatchgetcontact post请求的参数Count
  • 原文地址:https://www.cnblogs.com/JasperZhao/p/15269432.html
Copyright © 2011-2022 走看看