John- A couple of things...
1) Are you sure the package in the jar file begins with "COM" and not "com". The package names are case sensitive. 2) In any case, it appears that your import statement is not correct. Your code references the "DB2Driver" class in the "net" package (see the Class.forName line). However, you are importing everything in the "DB2Driver" PACKAGE (i.e. "DB2Driver.*"). Try adding an import, above the one you have, for the "net.*" package like: import COM.ibm.db2.jdbc.net.*; import COM.ibm.db2.jdbc.net.DB2Driver.*; Steve. -----Original Message----- From: IT-deptartment-Coast Mountain Dairy [mailto:[EMAIL PROTECTED]] Sent: Thursday, July 18, 2002 10:59 AM To: [EMAIL PROTECTED] Subject: jdbc driver and simple servlet Hi, I have a simple servlet which which registers a DB2 jdbc driver, and attempts to retrieve information for a sample table I created. I'm running this on Tomcat 4.0. I'm using IBM's DB2 UDB v 7.x. The archivecontaining the DB2 jdbc driver is : "db2java.zip". I've utilized the same driver-related code in applets and applications (both net and app based drivers) without any problem. However, when I use the code in the servlet, the class loader cannot locate the driver, ergo, cannot locate the archive. Here's the exact message... ==================================================== java.lang.ClassNotFoundException: COM.ibm.db2.jdbc.net.DB2Driver at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoa der.java:1307) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoa der.java:1156) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:322) ==================================================== I've "blanketed" Tomcat's directories with my "db2java.ip" file (based on Tomcat's documentation re: Class Loader Info.) However, I have NOT ammended the web.xml file in my WEB-INF directory specific to my servlet. How do I resolve this problem? (it's extremely frustrating, since it appears to be a configuration issue only!) Thank you in advance. John PS. The code is listed below. import java.io.*; import java.text.*; import java.util.*; import javax.servlet.*; import java.sql.*; import javax.servlet.http.*; import COM.ibm.db2.jdbc.net.DB2Driver.*; public class cmdtest extends HttpServlet { Connection con; public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { ResourceBundle rb = ResourceBundle.getBundle("LocalStrings",request.getLocale()); response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head>"); String title = rb.getString("cmdtest.title"); out.println("<title>" + title + "</title>"); out.println("</head>"); out.println("<body bgcolor=\"white\">"); out.println("<body>"); out.println("<a href=\"/examples/servlets/cmdtest.html.html\">"); out.println("<img src=\"/examples/images/code.gif\" height=24 " + "width=24 align=right border=0 alt=\"view code\"></a>"); out.println("<a href=\"/examples/servlets/index.html\">"); out.println("<img src=\"/examples/images/return.gif\" height=24 " + "width=24 align=right border=0 alt=\"return\"></a>"); out.println("<h1>" + title + "</h1>"); try { // register the driver with DriverManager // The newInstance() call is needed for the sample to work with // JDK 1.1.1 on OS/2, where the Class.forName() method does not // run the static initializer. For other JDKs, the newInstance // call can be omitted. Class.forName("COM.ibm.db2.jdbc.net.DB2Driver").newInstance(); } catch (Exception e) { e.printStackTrace(); } try { // construct the URL ( sample is the database name ) String url = "jdbc:db2://localhost:6789/CMD_PROD"; String userid = "itd"; String password = "cmdit!0801"; // connect to database with userid and password con = DriverManager.getConnection(url, userid, password ); out.println("<h1>" + connectMsg2 + "</h1>"); } catch( Exception e ) { e.printStackTrace(); } try { Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * from CMD_COMPANY"); // display the result set // rs.next() returns false when there are no more rows int y = 50; int i = 0; while (rs.next() && (i<10)) { i++; String a= rs.getString(2); String str = rs.getString(3); String oneLine = " Comp. Name= " + a + " Comp. Abbr.= " + str; file://g.drawString(oneLine, 20, y ); out.println("<h1>" + oneLine + "</h1>"); y = y + 15; } stmt.close(); } catch( Exception e ) { e.printStackTrace(); } out.println("</body>"); out.println("</html>"); } } ___________________________________________________________________________ To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff SERVLET-INTEREST". Archives: http://archives.java.sun.com/archives/servlet-interest.html Resources: http://java.sun.com/products/servlet/external-resources.html LISTSERV Help: http://www.lsoft.com/manuals/user/user.html *********************************************************************** Bear Stearns is not responsible for any recommendation, solicitation, offer or agreement or any information about any transaction, customer account or account activity contained in this communication. *********************************************************************** ___________________________________________________________________________ To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff SERVLET-INTEREST". Archives: http://archives.java.sun.com/archives/servlet-interest.html Resources: http://java.sun.com/products/servlet/external-resources.html LISTSERV Help: http://www.lsoft.com/manuals/user/user.html
