zoukankan      html  css  js  c++  java
  • 笔记: JDBC分页&监听器

    JDBC分页:
     * 概述:
       * 定义:将一页显示的内容,分成两页或两页以上来显示.
       * 分类:
         * 物理分页:
           * 就是在查询数据库记录时,已经实现分页.
           * 这种分页技术一定是数据库提供.(不同数据库实现方式不同)
         * 逻辑分页:
           * 就是查询数据库所有记录,然后在通过Java代码实现分页效果.
           * 逻辑分页与数据库产品本身是无关的.
     * 物理分页:
       * MySQL的Limit:
         * 语法:SELECT * FROM 表名 LIMIT 位置偏移量,行数;
         * 问题:Limit是否可以实现分页效果?
           * 假设有1000条记录,要求每页显示20条记录,一共50页.
           * 第一页显示的记录应该第一条到第20条.
           * 第二页显示的记录应该第21条到第40条.
           * 第三页显示的记录应该第41条到第60条.
           * 第n页显示的记录应该第20*(n-1)+1条到第20*n条.
       * 特点:
         * 优点:
           * 每次查询数据库,只查询指定条数.
           * 查询的效率高,速度快.
         * 缺点:
           * 与数据库有关.
           * 每次都需要重新查询数据库表.
     * 逻辑分页:
       * 特点:
         * 优点:
           * 与数据库无关.
           * 只需要查询一次数据库.
         * 缺点:
           * 第一次查询数据库的效率低.
           * 自定义实现分页逻辑.
       * 
    监听器:
     * 概述:
       * JavaEE包含三个组件:Servlet、Listener和Filter.
       * 定义:用于监听事件,并完成其逻辑.
       * 特点:
         * 监听器不应该是主动触发,被动触发.
         * Web的监听器也是由Tomcat触发.(监听器的运行不由我们关心的)
         * 我们只关注如何实现监听器的逻辑.
     * 八大监听器:
       * 监听生与死:
         * ServletRequestListner:监听Request对象的创建与销毁
         * HttpSessionListener:监听Session对象的创建与销毁
         * ServletContextListener:监听Context对象的创建与销毁
       * 监听属性变化:
         * ServletRequestAttributeListener:监听Request对象的属性变化
         * HttpSessionAttributeListener:监听Session对象的属性变化
         * ServletContextAttributeListener:监听Context对象的属性变化
       * HttpSessionBindingListener:Session绑定监听器
       * HttpSessionActivationListener:钝化与活化
     * 如何使用监听器:
       * 创建一个Java类,实现上述八大监听器之一,并重写其方法.
       * 在Web工程的web.xml文件中,进行相关配置:
         <listener>
            <listener-class>对应监听器的全类名</listener-class>
         </listener>
     * 监听生与死:ServletRequestListnerHttpSessionListenerServletContextListener
       * 监听创建对应对象的方法:requestInitialized()sessionCreated()contextInitialized()
         * 作用:进行必要的初始化功能.
         * 先创建对应对象,再调用对应监听方法.
         * 接收一个事件类型的参数:用于获取监听其对象.
       * 监听销毁对应对象的方法:requestDestroyed()sessionDestroyed()contextDestroyed()
         * 作用:进行必要的资源释放.
     * 监听属性变化:ServletRequestAttributeListenerHttpSessionAttributeListenerServletContextAttributeListener
       * xxxAdded()方法:用于监听向requestsessioncontext添加属性.
       * xxxReplaced()方法:用于监听修改requestsessioncontext的属性值.
       * xxxRemoved()方法:用于监听从requestsessioncontext删除属性.
     * HttpSessionBindingListener
     * HttpSessionActivationListener
       * Session的序列化:自动机制
         * 当Tomcat服务器关闭时Session会被保存到本地硬盘中,
           当Tomcat服务器启动时Session会从本地硬盘读取到内存中的过程.
       * Session的钝化与活化:手动实现
         * 钝化:当Tomcat服务器关闭时Session会被保存到本地硬盘中.
         * 活化:当Tomcat服务器启动时Session会从本地硬盘读取到内存中.
     
         * 实现步骤:
           * 在Servlet中实例化一个JavaBean对象,并将其绑定到Session中.
           * 将JavaBean实现HttpSessionActivationListener和Serializable接口.
           * 在Tomcat安装目录/conf目录/Catalina目录/localhost目录中,创建一个名为Web工程名的xml文件.
            <?xml version="1.0" encoding="UTF-8"?>
    <Context>
    <Manager className="org.apache.catalina.session.PersistentManager" maxIdleSwap="1" >
    <Store className="org.apache.catalina.session.FileStore" directory="mysession" />
    </Manager>
    </Context>
      * 注意:
        * 需要在web.xml文件中进行配置的监听器:
          * ServletRequestListner
          * HttpSessionListener
          * ServletContextListener
          * ServletRequestAttributeListener
          * HttpSessionAttributeListener
          * ServletContextAttributeListener
        * 不需要在web.xml文件中进行配置的监听器:
          * HttpSessionActivationListener
          * HttpSessionBindingListener
      * 监听器案例:统计在线人数
        * 分析:
          * 利用Session对象来判断是否有新的用户访问.
          * 定义一个计数器,进行累加.(Tomcat服务启动进行计数器的初始化)





  • 相关阅读:
    Linux 下判断磁盘是ssd还是hdd
    Ceph rgw COR测试
    nfs 挂载选项
    【Linux命令】dmsetup--device mapper 管理工具(更底层的管理工具)
    Device Mapper 存储介绍
    easyui combotree 默认 初始化时就选中
    EasyUI 添加tab页(iframe方式)(转)
    EasyUI DataGrid 配置参数
    EasyUI 后台接受DataGrid传来的参数
    (转)combogrid的代码实例
  • 原文地址:https://www.cnblogs.com/istarry/p/397c3acaa364f2522acd3d93517d61e1.html
Copyright © 2011-2022 走看看