在你项目中添加一个XML配置文件:
<Context docBase="linuxDemo" path="/linuxDemo" privileged="true">
<Resource name="jdbc/linux" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="root" password="" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/jaoso?useUnicode=true&characterEncoding=GBK" />
Context>
再在类中实例化就可以了:
public class DatabaseConn {
public static synchronized Connection getConnection() {
try {
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup("jdbc/linux");
return ds.getConnection();
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
lookup("java:comp/env");是获取数据源
"java:comp/env" 是JNDI的最高层,死的。
lookup("jdbc/linux"); 里面的参数就是Resource标签中配的name属性
<Context docBase="linuxDemo" path="/linuxDemo" privileged="true">
<Resource name="jdbc/linux" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="root" password="" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/jaoso?useUnicode=true&characterEncoding=GBK" />
Context>
再在类中实例化就可以了:
public class DatabaseConn {
public static synchronized Connection getConnection() {
try {
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup("jdbc/linux");
return ds.getConnection();
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
lookup("java:comp/env");是获取数据源
"java:comp/env" 是JNDI的最高层,死的。
lookup("jdbc/linux"); 里面的参数就是Resource标签中配的name属性