How is your JNDI resource configured? In an explicitly defined Context or in the DefaultContext? ResourceLinked?
I ask because there are a number of folks with similar problems that look to be something missing in how JNDI datasources are handled internally when using DefaultContext. See other topics: * ResourceLink and DefaultContext * Tomcat 4.1 DefaultContext Bug? * Question about Tomcat Documentation * Globally defined JNDI DataSource -----Original Message----- From: Manolo Ramirez T. [mailto:[EMAIL PROTECTED] Sent: Friday, August 22, 2003 10:55 PM To: Tomcat Users List Subject: Can not load JNDI DataSource in Servlet.init() Hi all, Why I can't load a JNDI resource on the init method of my servlet? there is no problem doing that in doGet() but on init() it doesn't work. the logs entry is: java.sql.SQLException: Cannot load JDBC driver class 'null' It's the same code! What I'm missing? this is my servlet code: package libreria; import java.io.PrintWriter; import java.io.IOException; import javax.servlet.*; import javax.servlet.http.*; import java.sql.*; import javax.sql.*; import javax.naming.*; public class MyServlet extends HttpServlet { public void init (ServletConfig config) throws ServletException{ super.init(config); try { Context ctx = new InitialContext(); if(ctx==null) { System.out.println("fallo InitialContext"); return; } DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/ComercialDB"); if(ds==null) { System.out.println("fallo lookup"); return; } Connection conn = ds.getConnection(); Statement stm = conn.createStatement(); ResultSet rs = stm.executeQuery("select * from pruebas"); while(rs.next()) { System.out.println(rs.getInt("id")+"::"+rs.getString("nombre")+"::"+rs.getSt ring("apellido")); } } catch(Exception e) { e.printStackTrace(); } } public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException { response.setContentType("text/plain"); PrintWriter out= response.getWriter(); out.println("holas muchas"); try { Context ctx = new InitialContext(); if(ctx==null) { out.println("fallo InitialContext"); return; } DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/ComercialDB"); if(ds==null) { out.println("fallo lookup"); return; } Connection conn = ds.getConnection(); Statement stm = conn.createStatement(); ResultSet rs = stm.executeQuery("select * from pruebas"); while(rs.next()) { out.println(rs.getInt("id")+"::"+rs.getString("nombre")+rs.getString("apelli do")); } } catch(Exception e) { e.printStackTrace(out); } } } Regards. _____________ Manolo Ramirez T. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
