配置Tomcat数据源

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了配置Tomcat数据源相关的知识,希望对你有一定的参考价值。

Tomcat提供了两种配置数据源的方式:

全局数据源(可以让所有的web应用访问)

局部数据源(单个web应用访问)

 

 

使用tomcat的web部署:

在tomcat的conf目录下新建Catalina目录,在该目录下新建localhost目录,在localhost目录下创建一个任意名字的xml文件(部署web应用的配置文件),该文件的主文件名做为web应用的虚拟路径.例:在conf/Catalina/localhost 下创建一个test.xml文件,该文件内容如下:

<Context docBase="D:/web/test/aa" debug="0" privileged="true" >

</Context>

上面配置文件里的"D:/web/test/aa" 就是web应用的绝对路径,当tomcat启动的时候,就会把"D:/web/test"下的文件夹部署成Web应用  

该应用的url地址就是 http://localhost:8080/test

 

局部数据源和特定的web应用有关:

  修改test.xml

<Context docBase="D:/web/test/aa" debug="0" privileged="true" >
 
  <Resource name="jdbc/dstest" auth="Container"
    type="javax.sql.DataSource"
    driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql:///testdb"
    username="root" password="root" maxActive="5"
    maxIdle="2" maxWait="10000" /> </Context>

java测试代码

//初始化Context,使用InitialContext初始化Context

Context ctx = new InitialContext();
/*
通过JNDI查找数据源,JNDI意思:为某个java对象起个名字 , 上面数据源的JNDI是 jdbc/dstest
java:comp/env 是tomcat固定的, tomcat提供的JNDI必须加上 这个前缀
*/
DataSource dataSource = (DataSource)ctx.lookup("java:comp/env/jdbc/dstest");

//获取数据库连接
Connetcion conn = dataSource.getConnection();

//获取statement
Statement stmt = conn.createStatement();

//执行查询,返回ResultSet对象
ResultSet rs = stmt.executeQuery("select * from test");
while(rs.next()){
  out.println(rs.getString(1))+rs.getString(2));

}




以上就是配置局部数据源的步骤

 

如果想配置全局数据源,需要修改sever.xml文件,一般不适用全局,容易破坏tomcat

 

以上是关于配置Tomcat数据源的主要内容,如果未能解决你的问题,请参考以下文章

怎样配置tomcat的jndi数据库连接?

Tomcat配置和数据源配置

配置Tomcat数据源

Tomcat 发布项目 conf/Catalina/localhost 配置 及数据源配置

Tomcat 8 - 数据库领域配置

Tomcat8.0配置JNDI多数据源