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

数据源连接数据库,从数据库连接池中直接取得出于空闲状态的数据库连接对象,以下是相关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. 2.5if语句

    判断(if)语句 目标 开发中的应用场景 if 语句体验 if 语句进阶 综合应用 01. 开发中的应用场景 生活中的判断几乎是无所不在的,我们每天都在做各种各样的选择,如果这样?如果那样?-- 程序 ...

  2. CGI开发-(转自 jemofh159)

    随着Internet技术的兴起,在嵌入式设备的管理与交互中,基于Web方式的应用成为目前的主流,这种程序结构也就是大家非常熟悉的B/S结构,即在嵌入式设备上运行一个支持脚本或CGI功能的Web服务器, ...

  3. 4.3 Python3进阶-函数嵌套和嵌套调用

    >>返回主目录 源码 # 函数嵌套 def func1(): print("这是外部函数") def func2(): print("这是内部函数1" ...

  4. 图解CSS布局(一)- Grid布局

    图解CSS布局(一)- Grid布局 先上图 简介 Grid 布局是将容器划分成"行"和"列",产生单元格,然后指定"项目所在"的单元格,可 ...

  5. CSS的起步

    初学CSS CSS语法规范 选择器{样式} 给谁改样式{改什么样式} 写在style标签里 健值对形式,分号结尾 color:red; <style> p { color:red; fon ...

  6. Python小白的数学建模课-03.线性规划

    线性规划是很多数模培训讲的第一个算法,算法很简单,思想很深刻. 要通过线性规划问题,理解如何学习数学建模.如何选择编程算法. 『Python小白的数学建模课 @ Youcans』带你从数模小白成为国赛 ...

  7. 深入理解java虚拟机笔记Chapter11

    运行期优化 即时编译 什么是即时编译? 当虚拟机发现某个方法或某段代码运行的特别频繁时,会把这段代码认为成热点代码: 在运行时,虚拟机会将这段代码编译成平台相关的机器码,并进行各种层次的优化. Hot ...

  8. mybatis之模糊查询

    1.编写接口 List<User> getUserLike(String value); 2.编写映射文件 <select id="getUserLike" re ...

  9. SpringBoot系列——admin服务监控

    前言 springboot项目部署起来后,如何实时监控项目的运行状况呢?本文记录使用springboot-admin对服务进行监控. springboot-admin介绍:https://codece ...

  10. 【NX二次开发】点到矢量或直线的垂点

    已知p1.p2.v1求p0 求解: 通过P1点和P2点,先求出v2: 使用 UF_VEC3_dot(),v1点乘v2得到P0与P2之间的距离: 使用UF_VEC3_unitize()将v1单位化: p ...