tomcat如何配置数据库连接池,使得连接中断后自动重连?

tomcat如何配置数据库连接池,使得连接中断后自动重连?,第1张

给你一段代码,看看对你有没有帮助:\x0d\x0a这是我的tomcatde DHCP的配置\x0d\x0a\x0d\x0a当中的\x0d\x0alogAbandoned="true" removeAbandoned="true" removeAbandonedTimeout="60"就是用来配置数据库断开后自动连接的。

1、 将mysql-connector-java-5.1.6-bin.jar,也在%Tomcat_Home%\common\lib\下,

2、 在tomcat中manager中配置数据源名,配置完后内容自动放在conf\server.xml中。

3、 在conf\catalina\localhost\下建你应用程序的xml文件,例wei2.xml中,内容为<Context docBase="wei2" path="/wei2">

<ResourceLink global="jdbc/mysql" name="jdbc/mysql" type="javax.sql.DataSource"/>

</Context>

其中jdbc/mysql为配置的JNDI

下面说下JNDI与DataSource

JNDI java naming directory interface命名和目录接口命名服务来使组件定位到其它组件和资源(数据库资源),JNDI所有名应该以字符串java:comp/env开始;

要定位JDBC资源中,这时就可以编写代码使用JNDI的lookup()方法来定位到这个资源了。

JNDI命名服务有一组将名称与对象联系在一起的绑定。JNDI中的lookup()方法传递一个JNDI参数(java:comp/env/myjdbc,前面java:comp/env是必要的。),返回相应的对象(返回类型为DataSource,若为数据库,则可用DataSource中的getConnection()方法获取数据库连接).

是JDBC数据库连接吧?

先建立ODBC

一、jsp连接Oracle8/8i/9i数据库(用thin模式)

testoracle.jsp如下:

<%@ page contentType="text/htmlcharset=gb2312"%>

<%@ page import="java.sql.*"%>

<html>

<body>

<%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance()

String url="jdbc:oracle:thin:@localhost:1521:orcl"

//orcl为你的数据库的SID

String user="scott"

String password="tiger"

Connection conn= DriverManager.getConnection(url,user,password)

Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE)

String sql="select * from test"

ResultSet rs=stmt.executeQuery(sql)

while(rs.next()) {%>

您的第一个字段内容为:<%=rs.getString(1)%>

您的第二个字段内容为:<%=rs.getString(2)%>

<%}%>

<%out.print("数据库 *** 作成功,恭喜你")%>

<%rs.close()

stmt.close()

conn.close()

%>

</body>

</html>

二、jsp连接Sql Server7.0/2000数据库

testsqlserver.jsp如下:

<%@ page contentType="text/htmlcharset=gb2312"%>

<%@ page import="java.sql.*"%>

<html>

<body>

<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance()

String url="jdbc:microsoft:sqlserver://localhost:1433DatabaseName=pubs"

//pubs为你的数据库的

String user="sa"

String password=""

Connection conn= DriverManager.getConnection(url,user,password)

Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE)

String sql="select * from test"

ResultSet rs=stmt.executeQuery(sql)

while(rs.next()) {%>

您的第一个字段内容为:<%=rs.getString(1)%>

您的第二个字段内容为:<%=rs.getString(2)%>

<%}%>

<%out.print("数据库 *** 作成功,恭喜你")%>

<%rs.close()

stmt.close()

conn.close()

%>

</body>

</html>

三、jsp连接DB2数据库

testdb2.jsp如下:

<%@ page contentType="text/htmlcharset=gb2312"%>

<%@ page import="java.sql.*"%>

<html>

<body>

<%Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance()

String url="jdbc:db2://localhost:5000/sample"

//sample为你的数据库名

String user="admin"

String password=""

Connection conn= DriverManager.getConnection(url,user,password)

Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE)

String sql="select * from test"

ResultSet rs=stmt.executeQuery(sql)

while(rs.next()) {%>

您的第一个字段内容为:<%=rs.getString(1)%>

您的第二个字段内容为:<%=rs.getString(2)%>

<%}%>

<%out.print("数据库 *** 作成功,恭喜你")%>

<%rs.close()

stmt.close()

conn.close()

%>

</body>

</html>

四、jsp连接Informix数据库

testinformix.jsp如下:

<%@ page contentType="text/htmlcharset=gb2312"%>

<%@ page import="java.sql.*"%>

<html>

<body>

<%Class.forName("com.informix.jdbc.IfxDriver").newInstance()

String url =

"jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver

user=testuserpassword=testpassword"

//testDB为你的数据库名

Connection conn= DriverManager.getConnection(url)

Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE)

String sql="select * from test"

ResultSet rs=stmt.executeQuery(sql)

while(rs.next()) {%>

您的第一个字段内容为:<%=rs.getString(1)%>

您的第二个字段内容为:<%=rs.getString(2)%>

<%}%>

<%out.print("数据库 *** 作成功,恭喜你")%>

<%rs.close()

stmt.close()

conn.close()

%>

</body>

</html>

五、jsp连接Sybase数据库

testmysql.jsp如下:

<%@ page contentType="text/htmlcharset=gb2312"%>

<%@ page import="java.sql.*"%>

<html>

<body>

<%Class.forName("com.sybase.jdbc.SybDriver").newInstance()

String url =" jdbc:sybase:Tds:localhost:5007/tsdata"

//tsdata为你的数据库名

Properties sysProps = System.getProperties()

SysProps.put("user","userid")

SysProps.put("password","user_password")

Connection conn= DriverManager.getConnection(url, SysProps)

Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE)

String sql="select * from test"

ResultSet rs=stmt.executeQuery(sql)

while(rs.next()) {%>

您的第一个字段内容为:<%=rs.getString(1)%>

您的第二个字段内容为:<%=rs.getString(2)%>

<%}%>

<%out.print("数据库 *** 作成功,恭喜你")%>

<%rs.close()

stmt.close()

conn.close()

%>

</body>

</html>

六、jsp连接MySQL数据库

testmysql.jsp如下:

<%@ page contentType="text/htmlcharset=gb2312"%>

<%@ page import="java.sql.*"%>

<html>

<body>

<%Class.forName("org.gjt.mm.mysql.Driver").newInstance()

String url ="jdbc:mysql://localhost/softforum?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"

//testDB为你的数据库名

Connection conn= DriverManager.getConnection(url)

Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE)

String sql="select * from test"

ResultSet rs=stmt.executeQuery(sql)

while(rs.next()) {%>

您的第一个字段内容为:<%=rs.getString(1)%>

您的第二个字段内容为:<%=rs.getString(2)%>

<%}%>

<%out.print("数据库 *** 作成功,恭喜你")%>

<%rs.close()

stmt.close()

conn.close()

%>

</body>

</html>

七、jsp连接PostgreSQL数据库

testmysql.jsp如下:

<%@ page contentType="text/htmlcharset=gb2312"%>

<%@ page import="java.sql.*"%>

<html>

<body>

<%Class.forName("org.postgresql.Driver").newInstance()

String url ="jdbc:postgresql://localhost/soft"

//soft为你的数据库名

String user="myuser"

String password="mypassword"

Connection conn= DriverManager.getConnection(url,user,password)

Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE)

String sql="select * from test"

ResultSet rs=stmt.executeQuery(sql)

while(rs.next()) {%>

您的第一个字段内容为:<%=rs.getString(1)%>

您的第二个字段内容为:<%=rs.getString(2)%>

<%}%>

<%out.print("数据库 *** 作成功,恭喜你")%>

<%rs.close()

stmt.close()

conn.close()

%>

</body>

</html>


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10008275.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存