preoblem in jdbc postgresql and tomcat
hi,
i have installed postgresql-7.4.1,and tomcat4.1.31and
j2sdk1.4.2_07
for tomcat i have included path
/usr/local/jakarta-tomcat-4.1.31
for j2sdk path set is /usr/local/j2sdk1.4.2_07
and CLASSPATH SET IS:
/usr/local/pgsql/pg73jdbc3.jar:/usr/local/pgsql/pg74.215.jdbc3.jar:/usr/local/pg
sql/postgresql-8.0-310.jdbc3.jar:/usr/local/j2sdk1.4.2_07/lib/tools.jar:/usr/loc
al/j2sdk1.4.2_07/jre/lib/rt.jar:/usr/local/jakarta-tomcat-4.1.31/common/lib/serv
let.jar:/usr/local/jakarta-tomcat-4.1.31/common/lib:/usr/local/pgsql:/usr/local/
j2sdk1.4.2_07/jre/lib:/usr/local/j2sdk1.4.2_07/lib
i have included all the paths
all the above path are set in /etc/profile/
and i set path for all three jar
files:/usr/local/pgsql/pg73jdbc3.jar:/usr/local/pgsql/pg74.215.jdbc3.jar:/usr/local/pg
sql/postgresql-8.0-310.jdbc3.jar
when i run this simple java program i get
error as follows:
[root@roopesh bin]# javac PostgreSQLTest.java//compile
PostgreSQLTest.java: In class `PostgreSQLTest':
PostgreSQLTest.java: In method
`PostgreSQLTest.main(java.lang.String[])':
PostgreSQLTest.java:7: Exception
`java.lang.ClassNotFoundException' must be caught, or
it must be declared in the `throws' clause of `main'.
Class.forName("postgresql.Driver").newInstance();
^
PostgreSQLTest.java:7: Exception
`java.lang.InstantiationException' must be caught, or
it must be declared in the `throws' clause of `main'.
Class.forName("postgresql.Driver").newInstance();
^
PostgreSQLTest.java:7: Exception
`java.lang.IllegalAccessException' must be caught, or
it must be declared in the `throws' clause of `main'.
Class.forName("postgresql.Driver").newInstance();
my PostgreSQLTest.java is as below
import java.sql.*;
class PostgreSQLTest {
public static void main (String[] args) {
try {
Driver driver = (Driver)
Class.forName("postgresql.Driver").newInstance();
DriverManager.registerDriver(driver);
String url = "jdbc:postgresql:javatest";
Connection con =
DriverManager.getConnection(url, "postgres", "");
Statement stm = con.createStatement();
stm.setQueryTimeout(10);
ResultSet rs = stm.executeQuery("select col1
from test");
rs.next();
System.out.println(rs.getString(1));
} catch (SQLException e) {
System.out.println("Exception!");
System.out.println(e.toString());
}
}
}
This is one simple example
Now when i tried to perform operations with tomcat
simple sevlet works but with database operations i get
the following errors
file is:ShowBedrock.java
import javax.servlet.*;
import javax.servlet.http.*;
public class ShowBedrock extends HttpServlet
{
public String getServletInfo()
{
return "Servlet connects to PostgreSQL database
and displays result of a SELECT";
}
private Connection dbcon; // Connection for scope
of ShowBedrock
// "init" sets up a database connection
public void init(ServletConfig config) throws
ServletException
{
String loginUser = "postgres";
String loginPasswd = "roopesh";
String loginUrl =
"jdbc:postgresql://localhost/bedrock";
// Load the PostgreSQL driver
try
{
Class.forName("org.postgresql.Driver");
dbcon =
DriverManager.getConnection(loginUrl, loginUser,
loginPasswd);
}
catch (ClassNotFoundException ex)
{
System.err.println("ClassNotFoundException: " +
ex.getMessage());
throw new ServletException("Class not
found Error");
}
catch (SQLException ex)
{
System.err.println("SQLException: " +
ex.getMessage());
}
}
//
Use http GET
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html"); //
Response mime type
// Output stream to STDOUT
PrintWriter out = response.getWriter();
out.println("<HTML><Head><Title>Bedrock</Title></Head>");
out.println("<Body><H1>Bedrock</H1>");
try
{
// Declare our statement
Statement statement =
dbcon.createStatement();
String query = "SELECT name, dept, ";
query += " jobtitle ";
query += "FROM employeee ";
// Perform the query
ResultSet rs =
statement.executeQuery(query);
out.println("<table border>");
// Iterate through each row of rs
while (rs.next())
{
String m_name =
rs.getString("name");
String m_dept =
rs.getString("dept");
String m_jobtitle =
rs.getString("jobtitle");
out.println("<tr>" +
"<td>" + m_name +
"</td>" +
"<td>" + m_dept +
"</td>" +
"<td>" + m_jobtitle +
"</td>" +
"</tr>");
}
out.println("</table></body></html>");
statement.close();
}
catch(Exception ex)
{
out.println("<HTML>" +
"<Head><Title>" +
"Bedrock: Error" +
"</Title></Head>\n<Body>"
+
"<P>SQL error in doGet: "
+
ex.getMessage() +
"</P></Body></HTML>");
return;
}
out.close();
}
}
when i compile i donot get any errors and class file
is created
when i display it in webbrowser as
http://localhost:8080/examples/servlet/ShowBedrock
the result is as follows
Bedrock
SQL error in doGet: null
and i am working in linux
please can any one help me with this problem i would
like to know the solution very soon.please i have to
do my project regarding this .i have not yet started
the coding of my project.i am stuck up with this
configuration.
if the above steps what i have done is wrong please
tell me step by step how i have to do
please reply soon
________________________________________________________________________
Yahoo! India Matrimony: Find your life partner online
Go to: http://yahoo.shaadi.com/india-matrimony
hi,
some corrections.
CLASSPATH
my preference of jars in CLASSPATH is
tools.jar:pg74.215.jdbc3.jar:others:.
see the code change in Class.forName and url.
try{
Class.forName("org.postgresql.Driver");
Connection con =
DriverManager.getConnection("jdbc:postgresql://localhost:5432/dbname","postgres","postgres");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select col1 from
test");
while(rs.next()){
out.println(rs.getString(1)+"<br>");
}
}catch(Exception e){
out.println(e);
}
if the above code works then you try same in jsp.
--Simon Moses.
Bangalore,
India.
--- java unix <javaunix123@yahoo.co.in> wrote:
hi,
i have installed postgresql-7.4.1,and
tomcat4.1.31and
j2sdk1.4.2_07
for tomcat i have included path
/usr/local/jakarta-tomcat-4.1.31
for j2sdk path set is /usr/local/j2sdk1.4.2_07
and CLASSPATH SET IS:
/usr/local/pgsql/pg73jdbc3.jar:/usr/local/pgsql/pg74.215.jdbc3.jar:/usr/local/pg
sql/postgresql-8.0-310.jdbc3.jar:/usr/local/j2sdk1.4.2_07/lib/tools.jar:/usr/loc
al/j2sdk1.4.2_07/jre/lib/rt.jar:/usr/local/jakarta-tomcat-4.1.31/common/lib/serv
let.jar:/usr/local/jakarta-tomcat-4.1.31/common/lib:/usr/local/pgsql:/usr/local/
j2sdk1.4.2_07/jre/lib:/usr/local/j2sdk1.4.2_07/lib
i have included all the pathsall the above path are set in /etc/profile/
and i set path for all three jar
files:/usr/local/pgsql/pg73jdbc3.jar:/usr/local/pgsql/pg74.215.jdbc3.jar:/usr/local/pg
sql/postgresql-8.0-310.jdbc3.jar
when i run this simple java program i get
error as follows:
[root@roopesh bin]# javac
PostgreSQLTest.java//compile
PostgreSQLTest.java: In class `PostgreSQLTest':
PostgreSQLTest.java: In method
`PostgreSQLTest.main(java.lang.String[])':
PostgreSQLTest.java:7: Exception
`java.lang.ClassNotFoundException' must be caught,
or
it must be declared in the `throws' clause of
`main'.Class.forName("postgresql.Driver").newInstance();
^
PostgreSQLTest.java:7: Exception
`java.lang.InstantiationException' must be caught,
or
it must be declared in the `throws' clause of
`main'.Class.forName("postgresql.Driver").newInstance();
^
PostgreSQLTest.java:7: Exception
`java.lang.IllegalAccessException' must be caught,
or
it must be declared in the `throws' clause of
`main'.Class.forName("postgresql.Driver").newInstance();
my PostgreSQLTest.java is as below
import java.sql.*;class PostgreSQLTest {
public static void main (String[] args) {
try {
Driver driver = (Driver)Class.forName("postgresql.Driver").newInstance();
DriverManager.registerDriver(driver);String url = "jdbc:postgresql:javatest";
Connection con =
DriverManager.getConnection(url, "postgres", "");
Statement stm = con.createStatement();stm.setQueryTimeout(10);
ResultSet rs = stm.executeQuery("select col1
from test");rs.next();
System.out.println(rs.getString(1));
} catch (SQLException e) {
System.out.println("Exception!");
System.out.println(e.toString());
}
}
}
This is one simple exampleNow when i tried to perform operations with tomcat
simple sevlet works but with database operations i
get
the following errors
file is:ShowBedrock.java
import javax.servlet.*;
import javax.servlet.http.*;public class ShowBedrock extends HttpServlet
{
public String getServletInfo()
{
return "Servlet connects to PostgreSQL
database
and displays result of a SELECT";
}private Connection dbcon; // Connection for
scope
of ShowBedrock// "init" sets up a database connection
public void init(ServletConfig config) throws
ServletException
{
String loginUser = "postgres";
String loginPasswd = "roopesh";
String loginUrl =
"jdbc:postgresql://localhost/bedrock";// Load the PostgreSQL driver
try
{Class.forName("org.postgresql.Driver");
dbcon =
DriverManager.getConnection(loginUrl, loginUser,
loginPasswd);
}
catch (ClassNotFoundException ex)
{System.err.println("ClassNotFoundException: " +
ex.getMessage());
throw new ServletException("Class not
found Error");
}
catch (SQLException ex)
{
System.err.println("SQLException: " +
ex.getMessage());
}
}//
Use http GETpublic void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html"); //
Response mime type
=== message truncated ===
**************************
Visit My Home Page
http://www.geocities.com/ks_moses
updated: 28 Sep 2004.
Simon Moses
**************************
__________________________________
Do you Yahoo!?
Yahoo! Small Business - Try our new resources site!
http://smallbusiness.yahoo.com/resources/
Hi,
I see 2 jdbc version in your classpath pg73jdbc3.jar and
pg74.215.jdbc3.jar.
For Tomcat you just have to drop the jdbc Jar file in
/usr/local/jakarta-tomcat-4.1.31/common/lib
No classpath to change.. Nothing.
After create an entry in Server.xml or create a Context.xml to define your datasource. See Tomcat Doc.
Works oki for me
/David
java unix wrote:
Show quoted text
hi,
i have installed postgresql-7.4.1,and tomcat4.1.31and
j2sdk1.4.2_07
for tomcat i have included path
/usr/local/jakarta-tomcat-4.1.31
for j2sdk path set is /usr/local/j2sdk1.4.2_07
and CLASSPATH SET IS:
/usr/local/pgsql/pg73jdbc3.jar:/usr/local/pgsql/pg74.215.jdbc3.jar:/usr/local/pg
sql/postgresql-8.0-310.jdbc3.jar:/usr/local/j2sdk1.4.2_07/lib/tools.jar:/usr/loc
al/j2sdk1.4.2_07/jre/lib/rt.jar:/usr/local/jakarta-tomcat-4.1.31/common/lib/serv
let.jar:/usr/local/jakarta-tomcat-4.1.31/common/lib:/usr/local/pgsql:/usr/local/
j2sdk1.4.2_07/jre/lib:/usr/local/j2sdk1.4.2_07/lib
i have included all the pathsall the above path are set in /etc/profile/
and i set path for all three jar
files:/usr/local/pgsql/pg73jdbc3.jar:/usr/local/pgsql/pg74.215.jdbc3.jar:/usr/local/pg
sql/postgresql-8.0-310.jdbc3.jarwhen i run this simple java program i get
error as follows:
[root@roopesh bin]# javac PostgreSQLTest.java//compile
PostgreSQLTest.java: In class `PostgreSQLTest':
PostgreSQLTest.java: In method
`PostgreSQLTest.main(java.lang.String[])':
PostgreSQLTest.java:7: Exception
`java.lang.ClassNotFoundException' must be caught, or
it must be declared in the `throws' clause of `main'.Class.forName("postgresql.Driver").newInstance();
^
PostgreSQLTest.java:7: Exception
`java.lang.InstantiationException' must be caught, or
it must be declared in the `throws' clause of `main'.Class.forName("postgresql.Driver").newInstance();
^
PostgreSQLTest.java:7: Exception
`java.lang.IllegalAccessException' must be caught, or
it must be declared in the `throws' clause of `main'.Class.forName("postgresql.Driver").newInstance();
my PostgreSQLTest.java is as below
import java.sql.*;class PostgreSQLTest {
public static void main (String[] args) {
try {
Driver driver = (Driver)Class.forName("postgresql.Driver").newInstance();
DriverManager.registerDriver(driver);String url = "jdbc:postgresql:javatest";
Connection con =
DriverManager.getConnection(url, "postgres", "");
Statement stm = con.createStatement();stm.setQueryTimeout(10);
ResultSet rs = stm.executeQuery("select col1
from test");rs.next();
System.out.println(rs.getString(1));
} catch (SQLException e) {
System.out.println("Exception!");
System.out.println(e.toString());
}
}
}
This is one simple exampleNow when i tried to perform operations with tomcat
simple sevlet works but with database operations i get
the following errors
file is:ShowBedrock.java
import javax.servlet.*;
import javax.servlet.http.*;public class ShowBedrock extends HttpServlet
{
public String getServletInfo()
{
return "Servlet connects to PostgreSQL database
and displays result of a SELECT";
}private Connection dbcon; // Connection for scope
of ShowBedrock// "init" sets up a database connection
public void init(ServletConfig config) throws
ServletException
{
String loginUser = "postgres";
String loginPasswd = "roopesh";
String loginUrl =
"jdbc:postgresql://localhost/bedrock";// Load the PostgreSQL driver
try
{
Class.forName("org.postgresql.Driver");
dbcon =
DriverManager.getConnection(loginUrl, loginUser,
loginPasswd);
}
catch (ClassNotFoundException ex)
{System.err.println("ClassNotFoundException: " +
ex.getMessage());
throw new ServletException("Class not
found Error");
}
catch (SQLException ex)
{
System.err.println("SQLException: " +
ex.getMessage());
}
}//
Use http GETpublic void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html"); //
Response mime type// Output stream to STDOUT
PrintWriter out = response.getWriter();out.println("<HTML><Head><Title>Bedrock</Title></Head>");
out.println("<Body><H1>Bedrock</H1>");try
{
// Declare our statement
Statement statement =
dbcon.createStatement();String query = "SELECT name, dept, ";
query += " jobtitle ";
query += "FROM employeee ";// Perform the query
ResultSet rs =
statement.executeQuery(query);out.println("<table border>");
// Iterate through each row of rs
while (rs.next())
{
String m_name =
rs.getString("name");
String m_dept =
rs.getString("dept");
String m_jobtitle =
rs.getString("jobtitle");
out.println("<tr>" +
"<td>" + m_name +
"</td>" +
"<td>" + m_dept +
"</td>" +
"<td>" + m_jobtitle +
"</td>" +
"</tr>");
}out.println("</table></body></html>");
statement.close();
}
catch(Exception ex)
{
out.println("<HTML>" +
"<Head><Title>" +
"Bedrock: Error" +
"</Title></Head>\n<Body>"
+
"<P>SQL error in doGet: "
+
ex.getMessage() +
"</P></Body></HTML>");
return;
}
out.close();
}
}
when i compile i donot get any errors and class file
is created
when i display it in webbrowser as
http://localhost:8080/examples/servlet/ShowBedrock
the result is as followsBedrock
SQL error in doGet: nulland i am working in linux
please can any one help me with this problem i would
like to know the solution very soon.please i have to
do my project regarding this .i have not yet started
the coding of my project.i am stuck up with this
configuration.
if the above steps what i have done is wrong please
tell me step by step how i have to do
please reply soon________________________________________________________________________
Yahoo! India Matrimony: Find your life partner online
Go to: http://yahoo.shaadi.com/india-matrimony---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?