0
public class Connect {  

    public static Connection getConnection(){
        Connection con=null;
        String db_source="databasesource";
        String db_username="username";
        String db_password="password";
        if(con==null)
        {
            try {
                Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance();
                con=DriverManager.getConnection("jdbc:db2:http://localhost:50000/"+db_source,db_username,db_password);
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }           
        }
        return con;
    }
}

我的系统中安装了 db2。

我创建了两个应用程序,一个是 j2se,另一个是 jsp(在 tomcat 7 上运行)。

我对 j2se 和 jsp 网站使用相同的代码,但此代码仅适用于 j2se 应用程序,不适用于 jsp 网站。我不知道问题出在哪里。

jsp网站的错误是:java.lang.ClassNotFoundException: com.ibm.db2.jcc.DB2Driver

在线: Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance();

我已经多次重启了tomcat,实际上多次重启了我的电脑。搜了谷歌,只找到上面的代码...

我的课程 Connect 位于 jsp 网站 src 的 admin 包中,我使用 Eclipse Indigo for EE。

任何人的帮助都会很棒...

提前致谢。

EDIT : I've also added the db2jcc.jar in the projects from build path > add external jar
4

4 回答 4

0

似乎找不到那个类。您确定*.jar在您的 Web 应用程序中拥有所有必要的文件吗?您可以将libJ2SE 应用程序的目录与 Web 应用程序上的目录进行比较。

于 2012-04-05T09:18:37.030 回答
0

如果此代码在您的 J2SE 中有效,则意味着您需要在某处包含com.ibm.db2.jcc.DB2Driver类(所谓的JDBC 驱动程序)的 JAR 文件。这个 JAR 需要在 Tomcat 中可见。将其添加到/WEB-INF/lib目录或/libTomcat 中的目录。

顺便说一句,您的代码需要一些审查:if(con==null)总是满足,另一方面,如果发生错误,您将返回null- 很少需要。另请阅读DataSourceJava 中的 s 概念。Tomcat 开箱即用地提供了这项服务。

于 2012-04-05T09:19:00.263 回答
0
   java.lang.ClassNotFoundException: com.ibm.db2.jcc.DB2Driver

似乎找不到那个类。因此,我建议将db2jcc.jar物理位置放置在/WEB-INF/lib您的项目目录中。然后使用build path > add jar

过去很多次,我都经历过ClassNotFoundExceptionjar 是否不在物理位置。然后重新启动Tomcat应该可以工作。

于 2012-04-05T10:11:07.960 回答
0

它似乎DB2Driver在您的class path. 您可以将其添加到您的工作应用程序目录中或将DB2Driver into tomcat lib directory.

于 2012-04-05T09:30:10.813 回答