与DB2后端的JSP连接

时间:2012-04-05 09:14:50

标签: java jsp db2

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,多次重启我的电脑。搜索谷歌,只找到上面的代码......

我的班级连接在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 个答案:

答案 0 :(得分:0)

似乎找不到那个班级。您确定Web应用程序中包含所有必需的*.jar文件吗?您可以将J2SE应用程序的lib目录与Web应用程序中的{{1}}目录进行比较。

答案 1 :(得分:0)

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

BTW您的代码需要进行一些审核:始终满足if(con==null),另一方面,如果发生错误,您将返回null - 很少需要。另请阅读Java中的DataSource概念。 Tomcat提供开箱即用的服务。

答案 2 :(得分:0)

DB2Driver似乎无法使用class path。您可以将其添加到工作应用程序目录中,或放置DB2Driver into tomcat lib directory

答案 3 :(得分:0)

   java.lang.ClassNotFoundException: com.ibm.db2.jcc.DB2Driver

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

过去很多次,如果jar不在物理位置,我会遇到ClassNotFoundException。 然后重启Tomcat应该可以工作。