You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Luke Vanderfluit <lu...@chipcity.com.au> on 2003/09/07 23:53:21 UTC

jdbc servlets and jsp

Hi,

I'm having a few probs (fun) getting jdbc to work in servlets and jsp,
tomcat in other words.

I've successfully got jdbc working with postgresql in a regular java
class. 

I have tried using the same code adapted to a servlet and jsp to get a
database connection happening from there, however no luck,

Is there anything I need to set up in server.xml or web.xml before it
can work?

here is my jsp and servlet code:
################################
jsp file
-=-=-=-=
<html>
<head>
</head>
<%@ page language="java" import="java.sql.*" %>
<body>
<%

Class.forName("org.postgresql.Driver");
Connection myConn=DriverManager.getConnection("jdbc:postgresql:mboard",
"luke", "");

%>
</body>
</html>
=-=-=-=-=-=-=-=-=-=-=-=-=-=
servlet code
=-=-=-=-=-=-=-=-=-=-=-=-=-=
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.sql.*;
import java.text.DateFormat;

/**
 * ShowEmployees creates an HTML table containing a list of all
 * employees (sorted by last name) and the departments to which
 * they belong.
 */
public class ShowEmployees extends HttpServlet
{
  Connection dbConn = null;

  /**
   * Establishes a connection to the database.
   */
  public void init() throws ServletException
  {
    String jdbcDriver = "org.postgresql.Driver";
    String dbURL = "\"jdbc:postgresql:mboard\", \"luke\", \"\"";

    try
    {
      Class.forName("org.postgresql.Driver").newInstance(); //load
driver
      dbConn = DriverManager.getConnection("jdbc:postgresql:megaboard",
"luke", ""); //connect
    }
    catch (ClassNotFoundException e)
    {
      throw new UnavailableException("JDBC driver not found:" +
        jdbcDriver);
    }
    catch (SQLException e)
    {
      throw new UnavailableException("Unable to connect to: " +
        dbURL);
    }
    catch (Exception e)
    {
      throw new UnavailableException("Error: " + e);
    }
  }

  /**
   * Displays the employees table.
   */
  public void service(HttpServletRequest request,
    HttpServletResponse response) throws ServletException,
    IOException
  {
    response.setContentType("text/html");

    PrintWriter out = response.getWriter();

    try
    {
      //join EMPLOYEE and DEPARTMENT tables to get all data
      String sql = "select * from message;";

      Statement stmt = dbConn.createStatement();
      ResultSet rs = stmt.executeQuery(sql);

      out.println("<HTML>");
      out.println("<HEAD><TITLE>Show Employees</TITLE></HEAD>");
      out.println("<BODY>");
      out.println("<TABLE BORDER=\"1\" CELLPADDING=\"3\">");
      out.println("<TR>");
      out.println("<TH>Name</TH>");
      out.println("<TH>Department</TH>");
      out.println("<TH>Phone</TH>");
      out.println("<TH>Email</TH>");
      out.println("<TH>Hire Date</TH>");
      out.println("</TR>");

      while (rs.next())
      {
        out.println("<TR>");

        out.println("<TD>" + rs.getString("resusername") + "</td>");

        out.println("</TR>");
      }

      out.println("</TABLE>");
      out.println("</BODY></HTML>");

      rs.close();
      stmt.close();
    }
    catch (SQLException e)
    {
      out.println("<H2>Database currently unavailable.</H2>");
    }

    out.close();
  }
}

any help would be greatly appreciated.
thanks,
kind regards
Luke

-- 

====================================
"when my computer smiles, I'm happy"
===============================.~ ~,
Luke Vanderfluit               |'/']
Mobile: 0421 276 282            \~/`


jdbc servlets and jsp

Posted by Francisco Vides Fernandez <pa...@ns3.dedaloingenieros.com>.
Is the postgres jar locate somewhere the app have access to? Good
places are: commons/lib in $CATALINA_BASE or WEB-INF/lib in the
application directory.

Saludos

>>>>> "Luke" == Luke Vanderfluit <lu...@chipcity.com.au> writes:

 Luke> Hi, I'm having a few probs (fun) getting jdbc to work in
 Luke> servlets and jsp, tomcat in other words.

 Luke> I've successfully got jdbc working with postgresql in a regular
 Luke> java class.

 Luke> I have tried using the same code adapted to a servlet and jsp
 Luke> to get a database connection happening from there, however no
 Luke> luck,

 Luke> Is there anything I need to set up in server.xml or web.xml
 Luke> before it can work?

 Luke> here is my jsp and servlet code:
 Luke> ################################ jsp file -=-=-=-= <html>
 Luke> <head> </head> <%@ page language="java" import="java.sql.*" %>
 Luke> <body> <%

 Luke> Class.forName("org.postgresql.Driver"); Connection
 Luke> myConn=DriverManager.getConnection("jdbc:postgresql:mboard",
 Luke> "luke", "");

 Luke> %> </body> </html> =-=-=-=-=-=-=-=-=-=-=-=-=-= servlet code
 Luke> =-=-=-=-=-=-=-=-=-=-=-=-=-= import javax.servlet.*; import
 Luke> javax.servlet.http.*; import java.io.*; import java.sql.*;
 Luke> import java.text.DateFormat;

 Luke> /** * ShowEmployees creates an HTML table containing a list of
 Luke> all * employees (sorted by last name) and the departments to
 Luke> which * they belong.  */ public class ShowEmployees extends
 Luke> HttpServlet { Connection dbConn = null;

 Luke>   /** * Establishes a connection to the database.  */ public
 Luke> void init() throws ServletException { String jdbcDriver =
 Luke> "org.postgresql.Driver"; String dbURL =
 Luke> "\"jdbc:postgresql:mboard\", \"luke\", \"\"";

 Luke>     try { Class.forName("org.postgresql.Driver").newInstance();
 Luke> //load driver dbConn =
 Luke> DriverManager.getConnection("jdbc:postgresql:megaboard",
 Luke> "luke", ""); //connect } catch (ClassNotFoundException e) {
 Luke> throw new UnavailableException("JDBC driver not found:" +
 Luke> jdbcDriver); } catch (SQLException e) { throw new
 Luke> UnavailableException("Unable to connect to: " + dbURL); } catch
 Luke> (Exception e) { throw new UnavailableException("Error: " + e);
 Luke> } }

 Luke>   /** * Displays the employees table.  */ public void
 Luke> service(HttpServletRequest request, HttpServletResponse
 Luke> response) throws ServletException, IOException {
 Luke> response.setContentType("text/html");

 Luke>     PrintWriter out = response.getWriter();

 Luke>     try { //join EMPLOYEE and DEPARTMENT tables to get all data
 Luke> String sql = "select * from message;";

 Luke>       Statement stmt = dbConn.createStatement(); ResultSet rs =
 Luke> stmt.executeQuery(sql);

 Luke>       out.println("<HTML>"); out.println("<HEAD><TITLE>Show
 Luke> Employees</TITLE></HEAD>"); out.println("<BODY>");
 Luke> out.println("<TABLE BORDER=\"1\" CELLPADDING=\"3\">");
 Luke> out.println("<TR>"); out.println("<TH>Name</TH>");
 Luke> out.println("<TH>Department</TH>");
 Luke> out.println("<TH>Phone</TH>"); out.println("<TH>Email</TH>");
 Luke> out.println("<TH>Hire Date</TH>"); out.println("</TR>");

 Luke>       while (rs.next()) { out.println("<TR>");

 Luke>         out.println("<TD>" + rs.getString("resusername") +
 Luke> "</td>");

 Luke>         out.println("</TR>"); }

 Luke>       out.println("</TABLE>"); out.println("</BODY></HTML>");

 Luke>       rs.close(); stmt.close(); } catch (SQLException e) {
 Luke> out.println("<H2>Database currently unavailable.</H2>"); }

 Luke>     out.close(); } }

 Luke> any help would be greatly appreciated.  thanks, kind regards
 Luke> Luke

 Luke> --

 Luke> ==================================== "when my computer smiles,
 Luke> I'm happy" ===============================.~ ~, Luke
 Luke> Vanderfluit |'/'] Mobile: 0421 276 282 \~/`


 Luke> ---------------------------------------------------------------------
 Luke> To unsubscribe, e-mail:
 Luke> tomcat-user-unsubscribe@jakarta.apache.org For additional
 Luke> commands, e-mail: tomcat-user-help@jakarta.apache.org

-- 
+-----------------
| Francisco Vides Fernández <pa...@dedaloingenieros.com>
| Director técnico.
| Teléfono fijo:   952 60 29 59
| Teléfono móvil:  661 67 32 73
| Fax:             952 60 29 59
| Dédalo Ingenieros http://www.dedaloingenieros.com/
| PGP: http://pgp.rediris.es:11371/pks/lookup?op=index&search=0x5AAE6285
+------