配置数据源
数据源可以配置在tomcat的server.xml文件里面,也可以配置应用的context.xml文件里面,本篇以context.xml文件为例(注:context.xml放在Webcontent/META-INF/目录下,如果没有,去tomcat的conf目录下拷贝一份)。context.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<Context reloadable="true" crossContext="true">
<!-- Default set of monitored resources -->
<span style="color:#33cc00;"><WatchedResource>WEB-INF/web.xml</WatchedResource>
</span> <!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--
<Manager pathname="" />
-->
<!-- name:给数据源设置名字(jndi) auth:表示该数据源是谁管理 type:是类型 -->
<!-- driverClassName:驱动设置,该驱动放在tomcat的common/lib下,或者放在自己的lib目录下 -->
<!--url:设置URL-->
<!-- maxActive:在连接池中最大的激活连接数 -->
<!-- maxIdle:在连接池中最大的保留(空闲)连接数 -->
<!-- maxWait:客户端在队列中最大等待时间,按秒计算 -->
<!-- <Resource
name="jdbc/nickol"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=blog"
username="sa"
password="root"
maxActive="20"
maxIdle="10"
maxWait="-1"/> -->
<Resource
name="jdbc/nickol"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/design?characterEncoding=utf-8"
username="root"
password="targtime"
maxActive="100"
maxIdle="30"
maxWait="-1"/>
<!-- <Resource type="javax.sql.DataSource"
name="jdbc/testDB"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/design"
username="root"
password="targtime"
initialSize="10"
maxActive="100"
maxIdle="50"
minIdle="10"
suspectTimeout="60"
timeBetweenEvictionRunsMillis="30000"
minEvictableIdleTimeMillis="60000"/> -->
</Context>
绿色部分配置后,不用再去web.xml中配置映射。
JAVA中通过数据源获得数据库连接
Context initContext = new InitialContext();
DataSource ds = (DataSource)initContext.lookup("java:comp/env/jdbc/nickol");
Connection conn = ds.getConnection();