当前位置: 代码迷 >> J2EE >> 刷新错误有关问题
  详细解决方案

刷新错误有关问题

热度:262   发布时间:2016-04-22 03:39:59.0
求助 刷新异常问题
本人最近做了一个小项目,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();
}
不会执行.
注意代码质量.
  相关解决方案