zoukankan      html  css  js  c++  java
  • 2018/1/3 过滤器+拦截器+数据库连接池

    1、过滤器,设计执行流程:

    用户访问服务器
    过滤器: 对Servlet请求进行拦截
    先进入过滤器, 过滤器处理
    过滤器处理完后, 在放行, 此时,请求到达Servlet/JSP
    Servlet处理
    Servlet处理完后,再回到过滤器, 最后在由tomcat服务器相应用户;

    (过滤器就像回家的门!)
    2、过滤器相关Api
    |-- interface Filter 过滤器核心接口
    Void init(filterConfig); 初始化方法,在服务器启动时候执行
    Void doFilter(request,response,filterChain); 过滤器拦截的业务处理方法
    Void destroy(); 销毁过滤器实例时候调用

    |-- interface FilterConfig 获取初始化参数信息

    String getInitParameter(java.lang.String name)
    Enumeration getInitParameterNames()

    |-- interface FilterChain 过滤器链参数;一个个过滤器形成一个执行链;
    void doFilter(ServletRequest request, ServletResponse response) ; 执行下一个过滤器或放行/
    3、对指定的请求拦截
    /* 表示拦截所有的请求
    <filter-mapping>
    <filter-name>hello_filter2</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>

    默认拦截的类型:(直接访问或者重定向)
    <dispatcher>REQUEST</dispatcher>
    拦截转发:
    <dispatcher>FORWARD</dispatcher>
    拦截包含的页面(RequestDispatcher.include(/page.jsp); 对page.jsp也执行拦截)
    <dispatcher>INCLUDE</dispatcher>
    拦截声明式异常信息:
    <dispatcher>ERROR</dispatcher>/
    4、自定义连接池, 管理连接
    * 代码实现:
    1. MyPool.java 连接池类,
    2. 指定全局参数: 初始化数目、最大连接数、当前连接、 连接池集合
    3. 构造函数:循环创建3个连接
    4. 写一个创建连接的方法
    5. 获取连接
    ------> 判断: 池中有连接, 直接拿
    ------> 池中没有连接,
    ------> 判断,是否达到最大连接数; 达到,抛出异常;没有达到最大连接数,
    创建新的连接
    6. 释放连接
    -------> 连接放回集合中(..)/
    5、

  • 相关阅读:
    TFS 2013”无法移除仍为团队管理员身份的标识”
    如何在TFS的过程模板中添加报表
    集成TFS Build生成与SonarQube获取代码分析结果
    TFS 2015 Update 2功能探索
    使用Azure Automation(自动化)定时关闭和启动虚拟机
    TFS 与活动目录AD(Active Directory)的同步机制
    Eclipse 常用快捷键
    JMeter网站并发性测试
    docker安装配置GitLab
    javaWeb项目在用maven启动时必须要用到的坐标
  • 原文地址:https://www.cnblogs.com/loong996/p/8185664.html
Copyright © 2011-2022 走看看