在jsp中使用java类

时间:2013-01-28 06:37:06

标签: java postgresql jsp dspace jspinclude

我有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

5 个答案:

答案 0 :(得分:1)

试试这个

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

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

答案 1 :(得分:1)

DB URL不应该

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

而不是

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

答案 2 :(得分:0)

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

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

更多细节将使我们更轻松地解决您的问题

答案 3 :(得分:0)

尝试

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

即使有一些情况未指定。

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

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

答案 4 :(得分:-3)

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