zoukankan      html  css  js  c++  java
  • JSP-04- 实现数据的保存

    .1  Session

    一段时间内,单个客户与Web服务器的一连串相关的交换过程。

    Ø  4.1.1  应用的场景: 用户登录后保存用户状态

    确定用户的唯一   Sessin.getId();

    Ø  4.1.2 会话的创建和使用:

      创建

    Httpsession  session= request.getSession(Boolean value);

    Httpsession  session= request.getSession();

             在第一种方法中,布尔值为true时,如果存在与当前请求关联的会话,就返回该会话,否则就创建一个新的会话,并把该会话返回。布尔值为 flase 时,如果存在会话返回,否则返回 null, 不再创建会话。

             第二种方法等同于第一种方法中的布尔参数值为true的情况。

      使用

    赋值语法: public  void setAttribute(String name, Object value) ;

                      用法: session.setAttribute(“name”,”张曼”);

    取值语法: public Object getAttribute(String name);

                     用法:String username = (String)session.getAttribute(“name”);

    Session会保存在服务器端,如果没有清理机制,会导致性能问题或服务器崩溃。

      清空Session:

    1)程序主动清除Session数据

                 设置会话失效: session.invalidate();  //注销时

                 移除会话中一个属性:

                     语法: public void removeAttribute(String name);

                     用法: session.removeAttribute(“name”);

                                    2)服务器主动清除长时间没有再次发出请求的session

                  设置会话过期时间:

                  方法一:public void setMaxInactiveInterval(int interval); (单位:秒)

                  可以再给Session赋值后,直接设置会话过期时间

                  方法二: 配置 Web.xml文件

     

    添加

    <session-config>

        <session-timeout>30<session-timeout>

    </session-config> (单位:分钟   注意放在 wep-app中)

    结束Session的三种方式:

    1. 关闭浏览器
    2. 两次访问的间隔时间大于非活动时间
    3. 调用HttpSession的invalidate()方法

    Ø  4.1.3 Session的生命周期

     

    HttpSession技术不属于Http协议范围内,是由web容器为程序提供的服务。

    4.2 cookie

    Ø  4.2.3 应用场景

     关闭浏览器,结束会话,重启后,用户名已填写。登录邮箱或其他服务,页面直接填好了用户名。

    Ø  4.2.4 使用方法

    public void addCookie(Cookie cookie)

    Cookie以文件的形式保存信息,存放在客户端,可以再IE设置该文件。

    添加数据:  public void addCookie(Cookie cookie)

    获取数据:  public  Cookie[] getCookies()

    设置有效期: public void setmaxAge(int expiry)

    用户可以禁用:  cookie

      添加:Cookie cookie = new Cookie(“变量名”,值);

    Cookie.setmaxAge(60*60) ;   //设置有效时间,默认为妙

    Response.addCookie(cookie);

     返回: Cookie[] cookie = request.getCookes();

          for(……){

                              if(cookie.getName().equals(“变量名”)){

                                       user=cookies[i].getValue;

    }

    }

     禁用Cookie

     

    4.3 application

      4.3.1  使用场景:  统计页面访问次数,同时在线的人数

    4.3.2  实现方式:  public void setAttribute(String name,Object object)

                      Public  Object getAttribute(String name)

    <%

           Object count = application.getAttribute(“count”);

           if(count ==null){

                  application.setAttribute(“count”,new Integer(1));

    }else{

         Integer I = (Integer)count;

                           application.setAttribute(“count”,i.value()+1);

    }

    %>

    Request中存储的数据尽在一个请求中可用。

         Session中存储的数据在一个会话有效期内可以。

         application中存储的数据在在整个web项目中可以。

  • 相关阅读:
    【AI模型测试】语音转文字ASR的测试评价:HTK在windows下的配置说明
    【AI模型测试】语音识别ASR的结果校对
    【AI模型测试】ASR语音转文字的供应商对比测试
    【Python自学】python 引用import文件夹下的py文件的方法(转)
    【AI模型测试】语音转文字ASR测试的测试点和用例设计等
    【AI模型测试】语音转文字ASR的测试方法学习
    【AI模型测试】ffmpeg 基本用法(转)
    【AI模型测试】使用Python实现语音文件的特征提取
    【AI模型测试自学】FFmpeg的安装和配置等,为视频转语音准备
    【AI模型测试】ASR的测试知识积累
  • 原文地址:https://www.cnblogs.com/Theladyflower/p/4492449.html
Copyright © 2011-2022 走看看