昨 天看了一些网上的tomcat数据库连接池配置的东西,但是一直没配好,主要原因是网上的文章几乎没有针对tomcat 7进行配置的,而且针对SQL SERVER的也不多,今天上午看了官方的文档,花了一上午时间终于配置好了数据库连接池,这里发给大家看看,如果有什么疑问就留言吧。

首先我们需要向项目中导入tomcat-dbcp.jar 、servlet-ap.jar和sql server的驱动sqljdbc4.jar 包到 web-inf 文件夹下的lib目录 。

然后增加context.xml

这 里有两种方法,第一种是在tomcat程序目录下面的conf/context.xml里面修改,这里修改之后所有的程序都将覆盖数据库连接池,但是 这种方法不够灵活。这里我们选择第二种方法 在项目的Web-content/meta-inf 目录下创建一个context.xml文件,在里面添加如下内容:

<Context path="/SYSDEMO" docBase="SYSDEMO"

reloadable="true" crossContext="true">

<Resource name="jdbc/SYSDEMO" auth="Container" type="javax.sql.DataSource"

maxActive="100" maxIdle="30" maxWait="10000"

username="lenovo" password="lenovo" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"

url="jdbc:sqlserver://202.115.90.241:1433;DatabaseName=SYSDEMO"/>

</Context>

这里需要修改的是 将所有的SYSDEMO改为你自己的使用的数据库的名称

将driverClassName改为你所使用数据库的驱动,这里是SQL SERVER的驱动。

将url改为jdbc链接该数据库的地址,这里是SQL SERVER的地址,

将username 、password改为你自己数据库用户名和密码

maxActive="100" maxIdle="30" maxWait="10000"

可以将这三个参数进行修改,

第一个是最大活动的连接数

第二个是最大的未连接数

第三个是最长的等待时间,单位是毫秒

然后再修改项目的webContent/web-inf/web.xml文件

添加如下内容

<resource-ref>

<description>DB Connection</description>

<res-ref-name>jdbc/SYSDEMO</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>

这里必须要改的是  <res-ref-name>jdbc/SYSDEMO</res-ref-name>

改为 jdbc/你自己的数据库

好了然后就可以使用了。

如下是我测试的servlet文件

import java.io.IOException;

import java.sql.Connection;

import java.sql.SQLException;

import javax.naming.Context;

import javax.naming.InitialContext;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.sql.DataSource;

@WebServlet("/TestPool")

public class TestPool extends HttpServlet {

private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

try{

Context initContext = new InitialContext();

Context envContext  = (Context)initContext.lookup("java:/comp/env");

DataSource ds = (DataSource)envContext.lookup("jdbc/SYSDEMO");

Connection conn = ds.getConnection();

System.out.println("成功了。。。。。。。。。。");

}catch(Exception e){

System.out.println("出错了。。。。。。。。。。。。。。。。。。");

e.printStackTrace();

}

}

}

将 DataSource ds = (DataSource)envContext.lookup("jdbc/SYSDEMO");

“jdbc/SYSDEMO” 的sysdemo改为你前面使用的数据库的名称即可。

好了。大功告成。

转载于:https://www.cnblogs.com/zhwl/p/3161253.html

tomcat 7配置数据库连接池,使用SQL Server2005实现相关推荐

  1. eclipse mysql Xml配置_mysql8.0在eclipse中通过xml文件配置数据库连接池

    mysql8.0在eclipse中通过xml文件配置数据库连接池 1.关于Mysql8.0 2.数据库连接池(DBCP) 3.准备工作 4.配置context.xml 5.配置web.xml 6.调用 ...

  2. springboot默认数据源如何设置连接数_Spring Boot系列之配置数据库连接池

    在实际的应用开发中,与数据库交互通常使用数据库连接池来重用Connection对象,减少资源消耗. Spring Boot 的数据源是自动配置的.在 Spring Boot 2.2.1 版本中,有几种 ...

  3. mysql配置数据库连接池_三种数据库连接池的配置

    三种数据库连接池的配置及使用(For JDBC) 连接池的优缺点 优点 使用连接池的最主要的优点是性能.创建一个新的数据库连接所耗费的时间主要取决于网络的速 度以及应用程序和数据库服务器的 ( 网络 ...

  4. tomcat 配置 数据库连接池

    1.在项目的META-INF下面,添加context.xml文件(指定单个项目使用数据库连接池,也可配置全局的): <?xml version="1.0" encoding= ...

  5. Tomcat配置数据库连接池

    方法一: 在Tomcat的conf/context.xml中配置 在 Tomcat\apache-tomcat-6.0.33\conf 目录下的 context.xml文件中配置 默认值如下: < ...

  6. log4j mysql 异步_spring boot:配置druid数据库连接池(开启sql防火墙/使用log4j2做异步日志/spring boot 2.3.2)...

    一,druid数据库连接池的功能? 1,Druid是阿里巴巴开发的号称为监控而生的数据库连接池 它的优点包括: 可以监控数据库访问性能 SQL执行日志 SQL防火墙 2,druid的官方站: http ...

  7. java tomcat数据库连接池_tomcat配置数据库连接池2

    数据库连接是比较耗时的操作,如果每次访问数据库都开闭一次连接的话,在大批量访问时,必然会导致性能问题,于是这里成为了你的性能瓶颈.为了解决这个问题, 为了简化通过连接池获取数据库连接的过程,JDBC2 ...

  8. mysql事务锁导致tomcat崩溃_数据库连接池连接耗尽,导致tomcat请求无响应,呈现出假死状态...

    最困难的事情就是认识自己! 个人网站 ,欢迎访问! 前言:最近,测试部门的同事找到我,说他们测试时,没一会就发现服务接口请求一直无响应,Tomcat跟死掉了一样,也没有返回任何的错误响应,说让我赶紧排 ...

  9. 配置数据库连接池使用之JNDI的方式

    一.JNDI: JNDI就是(java Naming and Directory Inteface)java名称目录接口. JNDI的作用:就是将资源引入到服务器中.可以将JNDI当成一个仓库.将Ja ...

最新文章

  1. 利用gitHook实现自动部署
  2. python统计个数的函数_Python
  3. NYOJ 305 表达式求值
  4. php清空dns缓存文件,dns清空-windows刷新本地DNS缓存的几种方法
  5. shell基本运算符
  6. devstack mysql_DevStack部署OpenStack开发环境 - 问题总结
  7. 深度学习笔记(31) 迁移与增强
  8. 与孩子一起学编程python_与孩子一起学编程(Python读书笔记3)
  9. Windows 10开机可以跳过锁屏界面的操作方法
  10. iOS -- block
  11. uniapp switch按钮的使用开关按钮效果demo(整理)
  12. 康乐忆享|志愿者心得精选——张凌旭
  13. react全家桶指的是哪些?
  14. 联想p720装系统_联想发布ThinkStation P920和P720至强处理器推荐
  15. 函数的单调性与曲线的凸凹性
  16. 透过爷爷的一生,浅析选择的重要性
  17. 《Lost》大结局最权威最彻底解读
  18. Xdebug中文文档-安装
  19. exam平台Java试题阶段(二)
  20. Anaconda安装Jupyter Notebook及使用

热门文章

  1. error This module isn‘t specified in a package.json file.
  2. 【博客项目】—用户删除功能(十二)
  3. spring boot文件的上传与下载
  4. 电脑黑屏的原因有哪些
  5. iCloud 是什么
  6. 猫连接路由器路由下连七台电脑,为啥每台电脑手动设ip才有网?
  7. 7805急剧发热,可能是什么原因?
  8. 地板之间出现缝隙如何处理?
  9. 现在新电脑主板带WiFi,实不实用,稳定吗?
  10. 垄断者 Google Chrome 若被迫分拆,谁将会接盘?