使用Tomcat数据源访问MySQL数据库
2011-05-05 11:45
302 查看
使用Tomcat作为Web服务器,Tomcat中可以配置一个数据源,然后只要使用JNDI(The Java Naming and Directory Interface)访问该数据源即可访问数据库。
使用JNDI访问数据库的好处是开发者不用关心数据库的相关配置,数据库的配置由应用服务器来管理,大部分应用服务器都提高了数据库连接池的功能,可以极大的提高数据库的访问效率。
在Tomcat中配置数据源,需要在Tomcat(Tomcat 6.0版本)安装目录下的/conf/context.xml配置文件中增加如下配置:
<Context useNaming="true">
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--
<Manager pathname="" />
-->
<!-- Uncomment this to enable Comet connection tacking (provides events
on session expiration as well as webapp lifecycle) -->
<!--
<Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
-->
<Resource name="jdbc/bookOnline" auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="root"
password="1226"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/bookOnline" />
<Resource name="jdbc/bbsdb" auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="root"
password="1226"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/bbsdb" />
</Context>
同时在Web应用的web.xml文件中增加上述的数据源引用,这样该Web应用就可以使用Tomcat配置的数据源了,其增加的内容如下:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/bookOnline</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
使用数据源连接的代码:
private static DataSource ds=null;
private static Connection con=null;
public static Connection getCon_dataSource(){
try{
InitialContext ctx=new InitialContext();
//该处的数据库bookOnline是前文数据源配置里的数据库
ds=(DataSource)ctx.lookup("java:comp/env/jdbc/bookOnline");
con=ds.getConnection();
return con;
}
catch(Exception e){
System.out.println("数据库连接异常:"+e.getMessage());
return null;
}
}
//关闭数据库连接
public void closeCon(){
try{
con.close();
}
catch(Exception e){
System.out.println("数据库连接关闭异常:"+e.getMessage());
}
}
使用JNDI访问数据库的好处是开发者不用关心数据库的相关配置,数据库的配置由应用服务器来管理,大部分应用服务器都提高了数据库连接池的功能,可以极大的提高数据库的访问效率。
在Tomcat中配置数据源,需要在Tomcat(Tomcat 6.0版本)安装目录下的/conf/context.xml配置文件中增加如下配置:
<Context useNaming="true">
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--
<Manager pathname="" />
-->
<!-- Uncomment this to enable Comet connection tacking (provides events
on session expiration as well as webapp lifecycle) -->
<!--
<Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
-->
<Resource name="jdbc/bookOnline" auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="root"
password="1226"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/bookOnline" />
<Resource name="jdbc/bbsdb" auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="root"
password="1226"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/bbsdb" />
</Context>
同时在Web应用的web.xml文件中增加上述的数据源引用,这样该Web应用就可以使用Tomcat配置的数据源了,其增加的内容如下:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/bookOnline</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
使用数据源连接的代码:
private static DataSource ds=null;
private static Connection con=null;
public static Connection getCon_dataSource(){
try{
InitialContext ctx=new InitialContext();
//该处的数据库bookOnline是前文数据源配置里的数据库
ds=(DataSource)ctx.lookup("java:comp/env/jdbc/bookOnline");
con=ds.getConnection();
return con;
}
catch(Exception e){
System.out.println("数据库连接异常:"+e.getMessage());
return null;
}
}
//关闭数据库连接
public void closeCon(){
try{
con.close();
}
catch(Exception e){
System.out.println("数据库连接关闭异常:"+e.getMessage());
}
}
相关文章推荐
- Tomcat中使用数据源连接mysql数据库
- 使用JNDI配置Tomcat数据源[提高访问数据库效率]
- tomcat配置数据源通过JNDI访问mysql数据库
- tomcat 数据源连接长时间未使用导致无法访问
- 使用Nginx+Tomcat访问本地目录
- 如何配置和使用Tomcat访问日志
- tomcat数据源的配置及其使用方法
- linux使用c语言访问mysql数据库
- 使用MySQL提供的C接口访问mysql数据库
- 使用JDK将tomcat变成https访问
- 使用flex访问java方法:tomcat+xfire
- Tomcat去除项目名称和端口号,直接使用ip地址访问项目的方法
- 在docker中使用mysql数据库,在局域网访问
- Tomcat 数据源 -- 原理、配置、使用
- JNDI学习总结(三)——Tomcat下使用Druid配置JNDI数据源
- Tomcat去除项目名称和端口号,直接使用ip地址访问项目的方法
- Java使用Tomcat数据源的方式
- DataGridView出现大红叉--在使用多线程访问数据源时
- Tomcat里使用JNDI设置Derby数据源
- 使用真机访问pc上的Tomcat服务器