本文主要是介绍Tomcat5.5私有JNDI、数据源(链接池)的配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
可以在两个位置配置JNDI:
1. $CATALINA_HOME/conf/server.xml,在这个文件里的是全局的,对所有应用可见;
2. 对于Tomcat5.5以上版本,可以在web应用的context XML文件(META-INF/context.xml)中配置私有数据源,只对这个web应用可见。
大家都知道第一个位置,第二个不熟悉,看看下面的目录结构:
1. 应用目录--
2. --WEB-INF/web.xml
3. --META_INF/context.xml
4. --index.jsp
一个context.xml 文件的例子:
1. <Context debug="0">
2. <Resource name="jdbc/MyDataSource" auth="Container"
3. type="javax.sql.DataSource"
4. driverClassName="com.mysql.jdbc.Driver"
5. url="jdbc:mysql://localhost:3306/数据库?autoReconnect=true&useUnicode=true&characterEncoding=utf-8&mysqlEncoding=utf8"
6. username="用户"
7. password="密码"
8. maxActive="20"
9. maxIdle="3"
10. removeAbandoned="true"
11. maxWait="3000" />
12. <!-- If you want e-mail features, un-comment the section below -->
13. <!--
14. <Resource name="mail/Session" auth="Container"
15. type="javax.mail.Session"
16. mail.smtp.host="mailhost.example.com" />
17. -->
18. </Context>
下面是一段JSP示例代码:
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.text.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="javax.naming.*" %>
<%
InitialContext ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/MyDataSource");
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
conn = ds.getConnection();
stmt = conn.createStatement();
rs = stmt.executeQuery("SQL语句");
//其它操作
rs.close();rs=null;
stmt.close();stmt = null;
conn.close();conn = null;
} finally {
if (rs != null) {
try {
rs.close();
} catch (Exception sqlex) {
}
rs = null;
}
if (stmt != null) {
try {
stmt.close();
} catch (Exception sqlex) {
}
stmt = null;
}
if (conn != null) {
try {
conn.close();
} catch (Exception sqlex) {
}
conn = null;
}
}
%>
这篇关于Tomcat5.5私有JNDI、数据源(链接池)的配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!