zoukankan      html  css  js  c++  java
  • javaee第三周

    1.了解session

    1.1.session介绍

    Session称为是一次会话,Cookie将用户产生的私有的数据保存到浏览器端,Session将用户产生的私有的数据保存到服务器端。注意:一个浏览器独占一个session对象。因此,在需要保存用户数据时候,服务器程序可以将用户数据写到session对象中,当用户使用浏览器访问其他程序时,其他程序可以从用户的session中取出该用户的数据,为用户服务。

    1.2 session原理

    (1)当一个session第一次被启用时,一个唯一的标识被存储于本地的cookie中。
    (2)首先使用session_start()函数,PHP从session仓库中加载已经存储的session变量。
    (3)当执行PHP脚本时,通过使用session_register()函数注册session变量。
    (4)当PHP脚本执行结束时,未被销毁的session变量会被自动保存在本地一定路径下的session库中,这个路径可以通过php.ini文件中的session.save_path指定,下次浏览网页时可以加载使用。
    1.3 用途
    Session 是 用于保持状态的基于 Web服务器的方法。Session 允许通过将对象存储在 Web服务器的内存中在整个用户会话过程中保持任何对象。
    Session 通常用于执行以下操作
    存储需要在整个用户会话过程中保持其状态的信息,例如登录信息或用户浏览 Web应用程序时需要的其它信息。
    存储只需要在页重新加载过程中或按功能分组的一组页之间保持其状态的对象。
    Session 的作用就是它在 Web服务器上保持用户的状态信息供在任何时间从任何设备上的页面进行访问。因为浏览器不需要存储任何这种信息,所以可以使用任何浏览器,即使是像 Pad 或手机这样的浏览器设备。
    持久性方法的限制
    随着越来越多用户登录,Session 所需要的服务器内存量也会不断增加。
    访问 Web应用程序的每个用户都生成一个单独的 Session 对象。每个 Session 对象的持续时间是用户访问的时间加上不活动的时间。
    如果每个 Session 中保持许多对象,并且许多用户同时使用 Web应用程序(创建许多 Session),则用于 Session 持久性的服务器内存量可能会很大,从而影响了可伸缩性。
    2.filter
    2.1 与Servlet相似,过滤器是一些web应用程序组件,可以绑定到一个web应用程序中。但是与其他web应用程序组件不同的是,过滤器是"链"在容器的处理过程中的。这就意味着它们会在servlet处理器之前访问一个进入的请求,并且在外发响应信息返回到客户前访问这些响应信息。这种访问使得过滤器可以检查并修改请求和响应的内容。 过滤器适用于那些地方.
    2.2 用处
    (1)在HttpServletRequest 到达Servlet 之前,拦截客户的HttpServletRequest 。
    (2) 根据需要检查HttpServletRequest ,也可以修改HttpServletRequest 头和数据。 

    (3)在HttpServletResponse 到达客户端之前,拦截HttpServletResponse 。

    (4)根据需要检查HttpServletResponse ,可以修改HttpServletResponse 头和数据

    创建一个Filter 只需两个步骤:  (1)创建Filter 处理类: 
    (2)在web.xml 文件中配置Filter 。  
    创建Filter 必须实现javax.servlet.Filter 接口,在该接口中定义了三个方法。  
    ? void init(FilterConfig config): 用于完成Filter 的初始化。  ? void destroy(): 用于Filter 销毁前,完成某些资源的回收。  ? 
    void 
    doFilter(ServletRequest 
    request, 
    ServletResponse 

    (window.cproArray = window.cproArray || []).push({ id: "u3054369" });

     response,FilterChain chain): 实现过滤功能,该方法就是对每个请求及响应增加的额外处理。

    3.async介绍

    async 属性可规定 XML 文件的下载是否应当被同步处理。

    True 意味着 load() 方法可在下载完成之前向调用程序返回控制权。

    False 意味着在调用程序取回控制权之前必须完成下载。

    用法实例介绍

    function loadXMLDoc(dname) 
    {
    var xmlDoc;
    // code for IE
    if (window.ActiveXObject)
      {
      xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
      }
    // code for Mozilla, Firefox, Opera, etc.
    else if (document.implementation && document.implementation.createDocument)
      {
      xmlDoc=document.implementation.createDocument("","",null);
      }
    else
      {
      alert('Your browser cannot handle this script');
      }
    
    xmlDoc.async=false;
    xmlDoc.load(dname);
    return(xmlDoc);
    }
     
  • 相关阅读:
    sql FLOAT字段使用like查询
    关于sql--时间范围查询重叠
    关于java时间类型比较
    前端-搜索无结果时,怎么把“暂无数据“显示出来?
    v-for动态赋值给不同的下拉框input
    Java的优先队列PriorityQueue详解
    软件体系架构阅读笔记八
    字符数组和字符串之间的转换
    Java快速输入输出
    软件体系架构阅读笔记七
  • 原文地址:https://www.cnblogs.com/yhyh/p/8650208.html
Copyright © 2011-2022 走看看