Tomcat上配置连接池{ connect error=Name [jdbc/OracleDB] is not bound in this Context. Unable to find [jdbc]}
. 在学习期间,从未实践过在tomcat上配置连接池,今天终于实现一次,在tomcat玩了一把,不知道你是否现在有和我一样的困境。废话少说直接上代码
java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | public static Connection getConnection_tomcat() { Connection conn = null ; try { Context initCtx = new InitialContext(); Context ctx = (Context) initCtx.lookup( "java:comp/env" ); Object obj = (Object) ctx.lookup( "jdbc/OracleDB" ); javax.sql.DataSource ds = (javax.sql.DataSource) obj; return conn = ds.getConnection(); } catch (Exception e) { System.out.println( "connect error=" + e.getMessage()); return null ; } } |
在tomcat->conf->server.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <GlobalNamingResources> <!-- Editable user database that can also be used by UserDatabaseRealm to authenticate users --> <Resource name= "UserDatabase" auth= "Container" type= "org.apache.catalina.UserDatabase" description= "User database that can be updated and saved" factory= "org.apache.catalina.users.MemoryUserDatabaseFactory" pathname= "conf/tomcat-users.xml" /> <!-- 在tomcat 配置连接池 --> <Resource name= "jdbc/OracleDB" auth= "Container" type= "javax.sql.DataSource" driverClassName= "oracle.jdbc.driver.OracleDriver" url= "" maxActive= "50" maxldle= "10" maxWait= "5000" username= "" password= "" /> </GlobalNamingResources> |
在tomcat->conf->context.xml
1 2 3 4 5 6 7 8 | <Context> <WatchedResource>WEB-INF/web.xml</WatchedResource> <!-- 在配置一个连接池 --> <ResourceLink global= "jdbc/OracleDB" name= "jdbc/OracleDB" type= "javax.sql.DataSource" /> </Context> |
这样就大功告成了!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步