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

数据源连接数据库,从数据库连接池中直接取得出于空闲状态的数据库连接对象,以下是相关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. linux python3安装whl包时报错解决:is not a supported wheel on this platform

    原因1 你下载安装的包不是当前平台所支持的 原因2 你下载的包,不符合你所在的平台的安装whl的名称规范,所以出错.比如当前我要安装的包是:pymssql-2.1.5-cp36-cp36m-manyl ...

  2. Linux(CentOS 7) 安全加固之非业务端口服务关闭 postfix port 25

    目录 关闭TCP 25 端口对应的服务 1. 确认对应端口的进程 2. 查找与关闭对应服务 3. 确认结果,端口已关闭 关闭TCP 25 端口对应的服务 [0 root@Qvps /root] #ca ...

  3. zookeeper之二:zookeeper3.7.0安装过程实操

    前面分享了zookeeper的基本知识,下面分享有关zookeeper安装的知识. 1.下载 zookeeper的官网是:https://zookeeper.apache.org/ 在官网上找到下载链 ...

  4. 书列荐书 |《刻意练习》安德斯&#183;艾利克森,罗伯特&#183;普尔著

    花了两天的时间,一气呵成的读完了这本书.凝练的精华就是:首先,世界上并没有真正的天才这一说.基因可能会起作用,但是经过后天大量的刻意练习,基因的这种作用会弱化.刻意练习需要专注.及时的反馈,并根据反馈 ...

  5. 策略模式干掉if-else,switch

    1.传统if -else 写法 String nodeModelStr = ""; if (nodeType == NodeType.START){ StartModel star ...

  6. npm ERR! Error: tunneling socket could not be established的解决问题

    一般是代理问题 可以通过在命令行运行下列命令解决: npm run server npm run webdriver-update

  7. Java SSM框架理论知识

    一.Spring理论知识 1.Spring 在ssm中起什么作用? Spring:轻量级框架 作用:Bean工厂,用来管理Bean的生命周期和框架集成. 两大核心:1.IOC/DI(控制反转/依赖注入 ...

  8. 【NX二次开发】NX内部函数,查找内部函数的方法

    [NX二次开发]NX内部函数,libufunx.dll文件中的内部函数 [NX二次开发]NX内部函数,libugui.dll文件中的内部函数 [NX二次开发]NX内部函数,libuifw.dll文件中 ...

  9. 我试了试用 SQL查 Linux日志,好用到飞起

    大家好,我是小富~ 最近发现点好玩的工具,迫不及待的想跟大家分享一下. 大家平时都怎么查Linux日志呢? 像我平时会用tail.head.cat.sed.more.less这些经典系统命令,或者aw ...

  10. Centos8.3、docker部署springboot项目实战记录

    引言    目前k8s很是火热,我也特意买了本书去学习了一下,但是k8s动辄都是成百上千的服务器运维,对只有几台服务器的应用来说使用k8s就有点像大炮打蚊子.只有几台服务器的应用运维使用传统的tomc ...