本人最近做了一个小项目,oracle数据库 tomcat服务器 jdbc连接。
但是只要在一个从数据库下载数据的jsp页面按F5重复刷新,就会出现oracle拒绝连接异常的情况.
可能是oracle的连接没有配好吧 各位帮帮忙?、、、、、感谢了。
- Java code
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class JDBC_Conn { public Connection conn = null; public Statement stmt = null; public ResultSet rs = null; private static String dbClassName ="oracle.jdbc.driver.OracleDriver"; private static String dbUrl ="dbc:oracle:thin:@127.0.0.1:1521:jzmorcl"; private static String user = "scott"; private static String password ="tiger"; public static Connection getConnection(){ Connection conn = null; try { Class.forName(dbClassName).newInstance(); conn = DriverManager.getConnection(dbUrl,user,password); } catch (Exception ee) { ee.printStackTrace(); } if (conn == null) { System.err.println(); } return conn; } /** * 功能:执行查询语句 */public ResultSet executeQuery(String sql){ try { conn = getConnection(); stmt = conn.createStatement(); rs = stmt.executeQuery(sql); return rs; } catch (SQLException ex){ ex.printStackTrace(); return null; }}/** * 功能:执行更新操作 */public int executeUpdate(String sql){ int result = -1; try { conn = getConnection(); //调用getConnection()方法构造Connection对象的一个实例conn //stmt = conn.createStatement(); stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE); result = stmt.executeUpdate(sql); //执行更新操作 } catch (SQLException ex) { ex.printStackTrace(); return -1 ; }finally{ this.close(); } return result;}/** * 功能:关闭数据库的连接 */public void close() { try { if (rs != null) { rs.close(); } if (stmt != null) { stmt.close(); } if (conn != null) { conn.close(); } } catch (Exception e) { e.printStackTrace(System.err); }} }
------解决方案--------------------
建议楼主试试debug一下,看是不是在所作的业务方法中出错,还是数据库中有错误,还有就是你确信是第一次没有错误然后再刷新就是会有错?如果你第一次进入页面就刷新然后出错,那就不是因为刷新而引起的错误了!
------解决方案--------------------
确认你传值的方式,如果是用request等传值,有可能导致你刷新到时候该值为空
可以debug,不会debug可以print你发出请求的值,一般一开始能连上的话,应该
不是数据库配置的问题。
------解决方案--------------------
private static String dbUrl ="dbc:oracle:thin:@127.0.0.1:1521:jzmorcl";
这里没对,是jdbc:oracle:thin:@127.0.0.1:1521:jzmorcl
另外你代码质量
/**
* 功能:关闭数据库的连接
*/
public void close() {
try {
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
} catch (Exception e) {
e.printStackTrace(System.err);
}
}
假如if (rs != null) {
rs.close();
}
出异常,会导致if (conn != null) {
conn.close();
}
不会执行.
注意代码质量.