如何完整的做一个web项目,进阶篇(5)过滤器filter的使用以及数据库连接池druid的使用

一、过滤器

  1. 概述
    过滤器顾名思义就是用来“过滤”的,其作用方式就是拦截web中的请求例如request,然后经过一系列处理后再交给下一个过滤器或者Servlet。
    大致流程如下:
    如何完整的做一个web项目,进阶篇(5)过滤器filter的使用以及数据库连接池druid的使用
  2. 使用
    在项目中主要使用于自动登录、设置编码集等功能模块中。
    如何完整的做一个web项目,进阶篇(5)过滤器filter的使用以及数据库连接池druid的使用
    编码过滤器:
    如何完整的做一个web项目,进阶篇(5)过滤器filter的使用以及数据库连接池druid的使用
    权限过滤器:
    如何完整的做一个web项目,进阶篇(5)过滤器filter的使用以及数据库连接池druid的使用

二、数据库连接池Druid

  1. 使用背景:在使用数据库连接池之前,我们是通过程序之间连接数据库或释放数据库资源。频繁的连接及释放数据库资源,会大量消耗系统资料,效率低下,在实际使用中的数据库都不在本机,而使用的都是远程数据库,再加上网络延迟,我们频繁的连接及关闭数据库势必会使效率更低。所以我们在开发中都会使用数据库连接池技术来实现对数据库的连接与资源释放以提高效率。
  2. 概述
    (1)当系统运行时,连接池会自动与数据库建立一定数量(初始化数量)的连接对象,并将这些连接对象放到连接池中等待使用。
    (2)当程序需要使用连接对象操作数据库时,会在连接池中查找当前未使用的连接对象,找到后使用该连接对象并将该对象标注为繁忙状态;当程序使用结束后关闭数据库连接,使用连接池后不是直接关闭与数据库的连接而时断开程序与连接池的连接,并将该连接对象设置为空闲状态。
    (3)当连接池中的连接对象不足时,连接池会自动创建一定数量的连接对象,存放在连接池中等待使用,在连接池中会指定最大连接数量,当到达最大连接数量时,将不在创建新的连接对象。
    (4)当程序需要使用连接对象,而连接池中的连接对象没有空闲时,该程序自动列队等待,等待获取连接对象资源,在连接池中会设置一个最大等待时间,如果等待超时,则返回null。
    (5)在空闲时会存在大量的空闲对象,为了更有效的使用资源,连接池会自动释放一部分空闲的连接对象;让连接对象数量保持一定的比例。
  3. 使用
    市面上有多种第三方数据库连接池,在本篇文章中我们介绍阿里巴巴的druid连接池的使用方法。
    (1)下载开发包
    如何完整的做一个web项目,进阶篇(5)过滤器filter的使用以及数据库连接池druid的使用
    (2)编写properties文件
    开发一个db.properties文件(配置文件),该文件是一个属性文件,主要用于编写配置,该文件的存放目录在src根路径下(Maven项目中,该文件存放在src/main/resources目录下)。在properties文件中使用key=value的形式,来编写相关配置
    如何完整的做一个web项目,进阶篇(5)过滤器filter的使用以及数据库连接池druid的使用
    (3)编写程序
    如何完整的做一个web项目,进阶篇(5)过滤器filter的使用以及数据库连接池druid的使用
    如何完整的做一个web项目,进阶篇(5)过滤器filter的使用以及数据库连接池druid的使用