配置過程如下:
1、修改Tomcat—>conf目錄下的context.xml文件
<Context path="/DBTest" docBase="DBTest" debug="5" reloadable="true" crossContext="true"> <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="sa" password="123456" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/testdb?autoReconnect=true"/> </Context>
2、將MySql的jdbc驅動放入到Tomcat—>lib目錄下
MySql jdbc驅動下載地址:http://dev.mysql.com/downloads/connector/j/
3、在servlet工程的web.xml增加配置
<resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/TestDB</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>
4、java應用中如下使用連接池
String sql = "SELECT * FROM deviceinfo WHERE CAMERA_NAME = '" + cameraName + "'"; try{ Context initContext = new InitialContext(); Context envContext = (Context)initContext.lookup("java:/comp/env"); DataSource ds = (DataSource)envContext.lookup("jdbc/TestDB"); Connection conn = ds.getConnection(); Statement st = null; ResultSet rs = null; st = conn.createStatement(); rs = st.executeQuery(sql); rs.next(); String cameraID = rs.getString("CAMERA_ID"); rs.close(); conn.close(); PrintWriter out = response.getWriter(); out.print("cameraID = " + cameraID); }catch(Exception e){ }
備注:
1、直接在Tomcat安裝目錄下修改context.xml文件后,通過Eclipse啟動Tomcat,會發現context.xml被重置了
解決:若使用Eclipse啟動Tomcat,則需要在Eclipse中修改Tomcat的配置文件,如圖