TOMCAT下应用部署新法(/META-INF/context.xml)(JNDI配置的补充)

1,Mysql数据源的配置

Tomcat下位于默认的webapps目录下的程序要使用dataSource,过去我都是直接修改%tomcat%/conf/server.xml中的

<context>在这个标签下增加  

这样是可以达到了效果但是server.xml就被破坏了,如果一台机器上要使用多个tomcat服务器就会产生麻烦。 

其实还可以写在web应用目录下面%myFirstWebApplicetion%/META-INF/context.xml中,如下:


                   auth="Container"
               type="javax.sql.DataSource"
               url="jdbc:mysql://localhost:3306/bbs?characterEncoding=gbk"
               initialSize="2"
               maxActive="20"
               maxIdle="20"
               minIdle="2"
               maxWait="10000"
               removeAbandoned="true"
               username="root"
               password="bluetech"
               driverClassName="com.mysql.jdbc.Driver"
               />

2,(/META-INF/context.xml)下多数据源配置



name="jdbc/db1"
auth="Container"
type="javax.sql.DataSource"
username="db1"
password="123456"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/db1"
maxActive="100"
maxWait="50000"
maxIdle="30" />
name="jdbc/db2"
auth="Container"
type="javax.sql.DataSource"
username="db2"
password="123456"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/db2"
maxActive="100"
maxWait="50000"
maxIdle="30" />

3,取数据源

public static Connection getCon(){//得到数据库连接的方法
try{
Context initial = new InitialContext();//得到上下文引用
DataSource ds = //得到DataSource引用
   (DataSource)initial.lookup("java:comp/env/jdbc/db1");
con = ds.getConnection();//得到数据库连接
}
catch(Exception e)
{e.printStackTrace();}
return con;//返回数据库连接

/*try{
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost/test";
con = DriverManager.getConnection(url,"db1","123456");
}catch(ClassNotFoundException e){
e.printStackTrace();
}catch(SQLException e1){
e1.printStackTrace();
}

return con;*/
}

 

转载于:https://www.cnblogs.com/luminccs-5308/p/8694885.html

你可能感兴趣的:(TOMCAT下应用部署新法(/META-INF/context.xml)(JNDI配置的补充))