如何在java中实现连接池?
我试图理解java中的连接池,在我的应用程序中使用jsp、servlet和Tomcat6服务器。我在如何在java中实现连接池?,java,oracle,servlets,jdbc,connection-pooling,Java,Oracle,Servlets,Jdbc,Connection Pooling,我试图理解java中的连接池,在我的应用程序中使用jsp、servlet和Tomcat6服务器。我在java类dbconnection.java中编写了以下代码: 我在windows Xp操作系统中使用与oracle 10g EE的类型4 jdbc连接 import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class dbconnection {
java类dbconnection.java中编写了以下代码:
我在windows Xp操作系统中使用与oracle 10g EE的类型4 jdbc连接
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class dbconnection {
public Connection con = null;
public Connection getConnection() throws Exception, SQLException
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:abc","abc", "abc");
}
catch(Exception e)
{
}
return con;
}
public void removeConnection() throws SQLException
{
con.close();
}
}
然后我在servlet中检索连接
,如下所示:
try{
dbconnection db= new dbconnection();
Connection con=db.getConnection();
}
catch(Exception e){
}
finally{
db.removeConnection();//removes connection
}
是连接池
还是在tomcat服务器
中需要一些配置或其他什么?您可以获得第三方库,或者您可以使用Java EE容器(例如JBoss或WebSphere)为您提供的连接池
为此,您需要配置并使用JNDI数据源
以下是Tomcat的详细信息:
连接池是所有主要web和应用程序服务器中可用的功能。您可以找到使用Tomcat配置的简单示例
但是,如果您想编写自己的连接池,那么可以编写一些库 A连接池通过提前创建连接来运行。
对于JDBC连接池,将在应用程序服务器启动时创建连接对象池。客户端可以访问连接池中的连接对象,并在数据库工作完成后将该对象返回到连接池
Context.xml
<Resource name="jdbc/TestDB" 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/cdcol"/>
查看此问答了解更多信息:您的问题在这里得到了回答:不要这样做catch(异常e){}
,这会使调试变得不可能。@artbristol ya但是我应该如何编写catch语句
?请帮我一点忙。例外情况很痛苦。我通常只做catch(Exception e){throw new RuntimeException(e);}
,但这要视情况而定。我之前已经通知过您在链接到您自己的站点时需要披露的要求。此外,您的博客文章没有解决上述问题。。。。你的文章也没有。问题是关于如何进行连接池,这个人问了一个例子。所以我把它指向了一个站点,其中解释了连接池,并给出了实现示例。您没有透露它是您的站点,您在这里的文本只是说明了连接池是什么。这不是答案。编辑了答案。现在可以了吗?
<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>
Context ctx=new InitialContext();
Context envContext = (Context)ctx.lookup("java:comp/env");
DataSource ds=(DataSource)envContext.lookup("jdbc/TestDB");//TestDB is the Database Name
con=ds.getConnection();
stmt = con.createStatement();