第一步Tomcat上安装JDBC驱动包,将jar包放到 $CATALINA_HOME/lib 目录下。
第二步配置项目的web.xml文件,参考配置如下
<resource-ref> <description> </description> <res-ref-name> jdbc/lianDB </res-ref-name> <res-type> javax.sql.DataSource </res-type> <res-auth> Container </res-auth> </resource-ref>
第三步配置$CATALINA_HOME/conf目录下的context.xml文件
<Resource name="jdbc/lianDB"
auth="Container"
type="javax.sql.DataSource"
username="root"
password="root"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/lian?autoReconnect=true&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false"
maxActive="8"
maxIdle="4"/>
第四步 如何在Java中使用JNDI数据源
public String login() throws Exception {
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup("jdbc/lianDB");
StringBuffer sql = new StringBuffer();
/**
* select group_id , group_name from t_group where group_name='同事'
*/
sql.append("select group_id , group_name from t_group ");
sql.append("where group_name=? ");
Connection conn = ds.getConnection();
PreparedStatement ps = null;
ResultSet rs = null;
Group group = new Group();
try {
ps = conn.prepareStatement(sql.toString());
ps.setString(1, "同事");
rs = ps.executeQuery();
if (rs.next()) {
group.setGroupId(rs.getString(1));
group.setGroupName(rs.getString(2));
}
} finally {
if (rs != null)
rs.close();
if (ps != null)
ps.close();
conn.close();
}
Gson gson = new Gson();
return gson.toJson(group);
}
说明: context.xml文件 <Resource> 标签中name属性要和web.xml文件中<res-ref-name>属性保持一致。
本文详细介绍了如何在Tomcat7中配置JNDI,包括将JDBC驱动放入$CATALINA_HOME/lib目录,修改web.xml和context.xml文件,以及在Java代码中如何使用JNDI数据源。特别指出,context.xml的<Resource>标签name属性须与web.xml的<res-ref-name>匹配。
4783

被折叠的 条评论
为什么被折叠?



