学完数据源连接数据后,做个笔记,当我们的程序对数据库访问频繁时,为了提高程序运行效率,我们可以通过

数据源连接数据库,从数据库连接池中直接取得出于空闲状态的数据库连接对象,以下是相关xml文件的配置:

1、 定义数据源。

数据源是JNDI(Java Naming and Directory Interface)资源的一种,下面开始定义数据源

在对应的JavaWeb项目下的META-INF目录下创建一个context.xml文件,

以下为context.xml文件内容及各属性说明。

 1 <?xml version="1.0" encoding="UTF-8"?>
2 <Context>
3
4 <!-- 定义数据源-->
5
6 <!--
7 name:指定Resource的JNDI名字
8 auth:指定管理Resource的Manager,有两个可选值,Container表示由容器来创建和管理Resource
9 Application表示由Web应用来创建和管理Resource
10 type:指定Resource所属的Java类名
11
12 username:数据库用户名 password:连接数据库的口令
13 driverClassName:指定连接数据库的JDBC驱动器中的Driver实现类的名字
14 url:指定数据库的URL
15
16 注意:如果url中用到useSSL=true/false,则需要在所有的'&'后面加上"amp;"如下
17 -->
18 <Resource name="jdbc/BookDB" auth="Container" type="javax.sql.DataSource"
19 username="root"
20 password="Cz123"
21 driverClassName="com.mysql.jdbc.Driver"
22 url="jdbc:mysql://localhost:3306/Books?characterEncoding=utf8&amp;useSSL=true"/>
23
24 </Context>

1、 声明JNDI资源的引用

如果Web应用访问了由Servlet容器管理的某个JNDI资源,那么必须在web.xml文件中注册中声明对这个JNDI资源的引用。在项目下的WEB-INF目录下创建web.xml文件

内容及各属性说明如下:

 1 <?xml version="1.0" encoding="UTF-8"?>
2
3 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
6 http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
7 version="3.1"
8 metadata-complete="true">
9
10 <display-name>Tomcat Manager Application</display-name>
11 <description>
12 A scriptable management web application for the Tomcat Web Server;
13 Manager lets you view, load/unload/etc particular web applications.
14 </description>
15
16 <!-- 声明引用数据源 -->
17 <!--
18 <res-ref-name>:指定所引用资源的JNDI名字,与定义的数据源的<Resource>元素中的name属性对应
19 <res-type>:指定所引用资源的类名字,与定义的数据源的<Resource>元素中的name属性对应
20 <res-auth>:指定管理所引用资源的Manager,与定义的数据源的<Resource>元素中的auth属性对应
21 -->
22 <resource-ref>
23 <description>DB Connection</description>
24 <res-ref-name>jdbc/BookDB</res-ref-name>
25 <res-type>javax.sql.DataSource</res-type>
26 <res-auth>Container</res-auth>
27 </resource-ref>
28
29 </web-app>

取得数据库连接:javax.naming.Context ctx = InitialContext();    //取得Context对象

        //调用context对象的lookup方法,通过引用资源的name获得数据源对象

        //因为笔者用的是Tomcat服务器,所有要在name前面加上java:comp/env(固定格式)

javax.sql.DataSource ds = ctx.lookup(“java:comp/env/jdbc/BookDB”);    

        //通过数据源,获得数据库连接对象

        Connection con = ds.getConnection();

数据源连接数据库配置相关xml文件的更多相关文章

  1. 使用java代码动态配置与xml文件结合的方式使用mybatis-generator生成代码配置

    1.使用java代码动态配置与xml文件结合的方式使用mybatis-generator生成代码配置 2.上代码:在resources目录下新建:generatorConfiguration.xml文 ...

  2. struts2——配置struts.xml文件

    在struts2框架中struts.xml是应当放到src的根目录,程序编译后会将struts.xml放到WEB-INF/classes目录下. Struts2在web.xml中的一般配置如下: &l ...

  3. eclipse配置mybatis xml文件自动提示(转)

    原文链接 原文如下: 如果使用eclipse中,再写mybatis的xml文件的时候,没有提示,用“Alt+/”,不能把代码用快捷键敲出来,可以试试下面要说的这种方法,反正我试了,我这个可以. 1.下 ...

  4. PHP配置数据库XML文件

    <?php $doc=new DOMDocument('1.0','utf-8'); //new一个dom对象 $doc->load("config.xml"); 加载 ...

  5. 配置tomcat-users.xml文件

    今天在学习登录日志保存时出现一系列错误,想查看浏览器后台的session,结果忘记怎么看用户名和密码了,下面是转载自民工也Coding的一篇文章, 文章链接为:http://www.cnblogs.c ...

  6. eclipse配置mybatis xml文件自动提示

    如果使用eclipse中,再写mybatis的xml文件的时候,没有提示,用“Alt+/”,不能把代码用快捷键敲出来,通过下面这个方法,可以解决. 1.下载一个文件,找一个专门的地方保存,配置自动提示 ...

  7. 2.6 XML配置:XML文件节点说明

    来源:http://blog.csdn.net/five3/article/details/25907693 TestNG的DTD检查文件:http://testng.org/testng-1.0.d ...

  8. 按照TomCat版本重新配置web.xml文件

    在TomCat的目录:C:\Program Files\Apache Software Foundation\Tomcat 9.0_Tomcat9.2\webapps\ROOT\WEB-INF下的we ...

  9. java配置context.xml文件

    2018-02-08   23:32:23 修改context.xml文件 自从学习了servlet后,每次修改里面的内容后,想要访问都要重启服务器,这样感觉很麻烦的,所以今天就教大家一个方法,只需要 ...

随机推荐

  1. 6.5 scp:远程文件复制

    scp命令 用于在不同的主机之间复制文件,它采用SSH协议来保证复制的安全性.scp命令每次都是全量完整复制,因此效率不高,适合第一次复制时使用,增量复制建议使用rsync命令替代.     scp ...

  2. 逗号字符的使用、字符数组与字符串数组、sizeof与strlen

    (1)连接两个表达式为一个表达式 for(ux=0,uxt=1;uxt<444;ux++,uxt++) 允许通过编译:他可以给FOR循环更多的初始化值: (2)一般定义的话要区别只有 字符数组 ...

  3. Canvas跟随鼠标炫彩小球

    跟随鼠标炫彩小球 canvas没有让我失望,真的很有意思 实现效果 超级炫酷 实现原理 创建小球 给小球添加随机颜色,随机半径 鼠标移动通过实例化,新增小球 通过调用给原型新增的方法,来实现小球的动画 ...

  4. Python - random 库的详细使用

    前言 为啥突然写这个?因为用到就写呗,感觉对生成数据很有用,之前都是百度别人的,今天来对着官方文档写,超级标准! 这边只讲常用的,看了下文档还有什么数学方法,太高级好像用不上 返回整数 random. ...

  5. 解决1字节的UTF-8序列的字节1无效问题

    学习路上碰到了这个异常 解决方法如下: 1.手动将< ? xml version="1.0" encoding="UTF-8"?>中的UTF-8更改 ...

  6. final 修饰符

    修饰属性,方法,类 1.修饰属性 属性只能被赋值一次 基本类型:值不能改变 引用类型:引用不可以被修改 2.修饰方法 表示方法不可以被重写,但可以被子类访问 3.修饰类 表示类不可以被继承 //fin ...

  7. CVPR2020:基于层次折叠的跳跃式注意网络点云完成

    CVPR2020:基于层次折叠的跳跃式注意网络点云完成 Point Cloud Completion by Skip-Attention Network With Hierarchical Foldi ...

  8. CentOS 7 部署 node 项目

    CentOS 7 部署 node 项目 安装 node 环境 方法一:使用 wget 的方式下载压缩包进行解压 淘宝node镜像地址,进入地址选择自己想要安装的版本 wget https://npm. ...

  9. 基于TensorFlow的服装分类

    1.导包 #导入TensorFlow和tf.keras import tensorflow as tf from tensorflow import keras # Helper libraries ...

  10. csp-s模拟测试57(10.2)「天空龙」·「巨神兵」·「太阳神」

    题目是古埃及神话??? A. 天空龙 傻逼模拟,看来没有滑天下之大稽QAQ,也没有打错快读(大雾...) B. 巨神兵 难度爆增,一脸懵比..... 60分状压: 因为是求有向图,关于有向图好像拓扑用 ...