0

我的 java 类具有非常简单的数据库连接方法。使用此代码时建立连接是 jsp 文件,但是当我从 .java 类调用此方法时,它会给出异常。我用来调用该方法的代码是休闲的

  <% db d = new db();
d.db1("testing", "dspace", "dspace");
  %>

虽然代码是 .java 类是休闲

 public boolean  db1 (String db, String username, String pwd) throws SQLException, ClassNotFoundException
                       {
            Connection connection; 

            Class.forName("org.postgresql.Driver");
            connection = DriverManager.getConnection(
                "jdbc:postgresql:5432//127.0.0.1:5432/testing", username,
                pwd);
            if(connection!= null)
                                   {
          System.out.println("done");
            }          
    return false;
    }

有错误是

    org.apache.jasper.JasperException: PWC6033: Error in Javac compilation for JSP
4

5 回答 5

1

尝试这个

<% 
db d ;
try{
d = new db();
d.db1("testing", "dspace", "dspace");
}catch(Exception e){
 //do something
 }
  %>

由于您的代码没有处理运行时异常。

于 2013-01-28T06:40:09.813 回答
1

数据库 URL 不应该是

"jdbc:postgresql://127.0.0.1:5432/testing"

代替

"jdbc:postgresql:5432//127.0.0.1:5432/testing"

?

于 2013-01-28T07:40:05.933 回答
0

我认为您犯了一个 jar 错误,但请显示完整的错误列表,如下所示:

org.apache.jasper.JasperException: PWC6033: Error in Javac compilation for JSP

PWC6197: An error occurred at line: 9 in the jsp file: /index.jsp
PWC6199: Generated servlet error:
';' expected

更多细节将有助于我们解决您的问题

于 2013-01-28T13:56:43.393 回答
0

尝试

 <% db d = new db();
    try{
       d.db1("testing", "dspace", "dspace");
    }catch(Exception e){
       //wtf?
    }
 %>

甚至有些情况没有具体说明。

  • 如果连接断开怎么办
  • 如果连接关闭怎么办
  • 如果连接超时怎么办
  • 如果连接脏了怎么办
  • 如果数据库不再可用怎么办
  • 如果数据库被删除怎么办
  • 如果数据库服务器不可用怎么办
  • 如果数据库服务器超时怎么办
  • 如果用户不可用怎么办
  • 如果用户没有权限怎么办
  • ...

嘿,您可以使用 jstl/sql 和 jndi 摆脱 db.java。

于 2013-01-28T14:07:25.827 回答
-3

我不认为你在 JSP 中使用 Class.forname 请尝试封装

于 2013-01-28T08:44:38.180 回答