Hi !
I am trying to use jdbc connectivity in a servlet. The program has compiled
but runs OK only on second and subsequent invocation.
The code is :
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class jdbcServlet extends HttpServlet
{
private Connection connection;
private Statement statement;
private String login, password,result;
private ResultSet selectDesc;
private PrintWriter out;
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
res.setContentType("text/html");
out = res.getWriter();
login = req.getParameter("login");
password = req.getParameter("password");
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(java.lang.ClassNotFoundException ex)
{
out.println("ClassNotFoundException : ErrorMessage : " +
ex.getMessage() + "<p>");
}
catch(NullPointerException ex)
{
out.println("NullPointerException: ErrorMessage : " +
ex.getMessage() + "<p>");
}
try
{
connection =
DriverManager.getConnection("jdbc:odbc:test",login,password);
}
catch(SQLException ex)
{
out.println("SQLException: ErrorMessage : login failed login
= "+ login + " password = " + password + "<p>");
out.println("ErrorMessage : " + ex.getMessage() + "<p>");
}
catch(NullPointerException ex)
{
out.println("NullPointerException : ErrorMessage : login
failed login = "+ login + " password = " + password + "<p>");
out.println("ErrorMessage : " + ex.getMessage() +"<p>");
}
try
{
statement = connection.createStatement();
}
catch(SQLException ex)
{
out.println("SQLException: ErrorMessage : " +
ex.getMessage() + "<p>");
}
catch(NullPointerException ex)
{
out.println("NullPointerException: ErrorMessage : " +
ex.getMessage() + "<p>");
}
try
{
selectDesc = statement.executeQuery("SELECT column_name FROM
table_name where rownum = 1");
selectDesc.next();
result = selectDesc.getString("description");
}
catch(SQLException ex)
{
out.println("SQLException : ErrorMessage : " +
ex.getMessage() + "<p>");
}
catch(NullPointerException ex)
{
out.println("NullPointerException : ErrorMessage : " +
ex.getMessage() + "<p>");
}
out.println("<HTML>");
out.println("<HEAD><TITLE>jabc example </TITLE><HEAD>");
out.println("<BIG> output of Querry : </BIG><P>");
out.println("Output = " + result);
}
then i typed in
http://localhost:8080/SamApplication/servlet/jdbcServlet?login=login&passwor
d=password in
and pressed <enter> (Note : Output is indented)
the output was
SQLException: ErrorMessage : login failed login = login password =
password
ErrorMessage : [Microsoft][ODBC driver for Oracle][Oracle]
NullPointerException: ErrorMessage : null
NullPointerException : ErrorMessage : null
output of Querry :
Output = null
then i pressed <enter> again
the output was :
output of Querry :
Output = column value
which is the expected result !!!!!
Can anyone please xplain how is this possible !!??
I have repeted this sequence 5-6 times after stopping tomcat and restarting
it. And the behaviour persists.
I am using Tomcat 4.0 and jdk 1.4.0
Regards
Sameer
___________________________________________________________________________
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