From: | Michael Hanna <zen(at)hwcn(dot)org> |
---|---|
To: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Tomcat and JDK 1.3.1 Exception problems... |
Date: | 2002-08-23 15:36:30 |
Message-ID: | 18874756-B6AE-11D6-AFF7-00039308EB2C@hwcn.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
Yes, this is a basic Java problem...but I feel stuck.
I'm creating a Tomcat servlet that connects to a local PGSQL DB. I'm
trying to create a class called DBThing that will do my DB accessing.
However, I'm running into problems with exceptions. the line
dbt = new DBThing(database, username, password);
needs to catch an SQLException and a ClassNotFoundException. However I
can't catch both! And the compiler won't let the method throw either!
Are there any other Tomcat users on here?? Is there a better way to
access the DB??
here are both classes..BTW the Rigby.java won't compile since my final
attempt to fix it was unsuccessful, so I simply left it... :/
---
Rigby.java
---
// Copyright Michael Hanna 2002
// do not use without permission of author
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*; // All we need for JDBC
public class Rigby extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse
response)throws IOException, ServletException
{
PrintWriter out;
DBThing dbt;
ResultSet results;
String database = "aDBname";
String username = "aUserName";
String password = "aPassword";
//Class.forName("org.postgresql.Driver"); //load the driver
try {
dbt = new DBThing(database, username, password);
}
catch (ClassNotFoundException cnf)
{
System.out.println("***Exception:\n"+cnf);
cnf.printStackTrace();
}
try {
dbt = new DBThing(database, username, password);
}
catch (SQLException sqle)
{
System.out.println("***Exception:\n"+sqle);
sqle.printStackTrace();
}
response.setContentType("text/html");
out = response.getWriter();
out.println("<html>");
out.println("<body>");
out.println("<head>");
out.println("<title>Rigby</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Contents of friends:</h1>");
results = dbt.queryDB("select * from friends");
if (results != null)
{
out.println("<B>id" + "First Name" +"Surname" + "Email" +
"Phone"+"Bday</B>");
while (results.next())
{
out.println(results.getInt("id") +
results.getString("firstname") + results.getString("surname")+
results.getString("email")+results.getInt("tel")+results.getString("date") +
"\n");
}
}
else {
out.println("The friends database is empty.<br>");
}
results.close();
out.println("</body>");
out.println("</html>");
}
}
----
DBThing.java
---
// Copyright Michael Hanna 2002
// do not use without permission of author
import java.sql.*; // All we need for JDBC
import java.lang.*;
public class DBThing
{
Connection db; // A connection to the database
Statement sql; // Our statement to run queries with
DatabaseMetaData dbmd; // This is basically info the driver
delivers
// about the DB it just connected to. I use
// it to get the DB version to confirm the
// connection in this example.
public DBThing(String database, String username, String password)
throws ClassNotFoundException, SQLException
{
Class.forName("org.postgresql.Driver"); //load the driver
db = DriverManager.getConnection("jdbc:postgresql:"+database,
username,
password); //connect to the db
dbmd = db.getMetaData(); //get MetaData to confirm connection
sql = db.createStatement(); //create a statement that we can use later
}
public ResultSet queryDB(String query) throws SQLException
{
ResultSet rs;
rs = sql.executeQuery(query); // try to query DB
return rs;
}
}
From | Date | Subject | |
---|---|---|---|
Next Message | Jason Stewart | 2002-08-23 15:55:59 | Authentication Problems |
Previous Message | Dave Cramer | 2002-08-23 13:47:42 | Proper state after insertRow |