send your code


> Hi,
>
>
> 1.I created a table called "users" in a database "content" with MS Access
> 97.
>   This databse has been registered to ODBC driver.
>
> 2. I tried to use a servlet (T3.class) to check login.
>    This servlet is called by login.html with a form included, which a user
> can input
>    username and password.
>
> 3. It worked fine when I input username and password in the HTML form
first
> time, and click
>    a submmit button. However, I got following error message when I refresh
> the login.html
>    page, input another set username and password into the form, and click
> the submmit
>    button. The servlet engine is Tomcat3.1 run on Windows 98 with jdk1.3
as
> a stand alone mode .
>
> java.sql.SQLException: General error
>         at sun.jdbc.odbc.JdbcOdbc.throwGenericSQLException(Unknown Source)
>         at sun.jdbc.odbc.JdbcOdbc.SQLAllocStmt(Unknown Source)
>         at sun.jdbc.odbc.JdbcOdbcConnection.createStatement(Unknown
Source)
>         at sun.jdbc.odbc.JdbcOdbcConnection.createStatement(Unknown
Source)
>         at T3.doPost(T3.java:72)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>         at
>
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)
>         at
>
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:597)
>         at
> org.apache.tomcat.servlets.InvokerServlet.service(InvokerServlet.java:257)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>         at
>
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)
>         at
> org.apache.tomcat.core.ContextManager.service(ContextManager.java:559)
>         at
>
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
onnectionHandler.java:160)
>         at
>
org.apache.tomcat.service.TcpConnectionThread.run(SimpleTcpEndpoint.java:338
)
>         at java.lang.Thread.run(Unknown Source)
>
> Could any one tell me why?
>
> Thank you very much in advance!
>
> Peter
> ==================
>
> Following are source codes for login.html, and T3.java.
> ===================
> login.html:
> ==================
> <html><title></title><head></head>
> <body>
> <center>
> <form method="post" action="http://localhost/servlet/T3" name="login">
> <table>
> <tr><td align=right>
> Username:
> </td><td>
> <input type="text" name="username" size="10" maxlength="20">
> </td></tr>
> <tr><td align=right>
> Password:
> </td><td>
> <input type="text" name="password" size="10" maxlength="20">
> </td></tr>
> <p></p>
> </table>
> <table>
> <tr><td>
> <input type="submit" value="submit">
> </td></tr>
> </table>
> </form>
> </center>
> </body>
> </html>
>
> ===================
> T3.java
> ===================
> import javax.servlet.*;
> import javax.servlet.http.*;
> import java.io.*;
> import java.sql.*;
>
>
> public class T3 extends HttpServlet
> {
>   file://database connection is shared by all requests
>   static Connection dbConn;
>
>   /**
>    * init method is called when servlet is initialized.
>    * Establishes a database connection when servlet is initially
>    * loaded that can be shared across all requests.
>    */
>   public void init(ServletConfig config) throws
>     ServletException
>   {
>     super.init(config); file://pass ServletConfig to parent
>
>     try
>     {
>       file://load JDBC-ODBC Bridge driver
>       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
>       file://establish database connection to content using ODBC
>       dbConn = DriverManager.getConnection(
>         "jdbc:odbc:content");
>     }
>     catch (ClassNotFoundException e) file://Class.forName throws
>     {
>       System.out.println("JDBC-ODBC bridge not found!");
>       return;
>     }
>     catch (SQLException e) file://DriverManager.getConnection throws
>     {
>       System.out.println("SQL exception thrown in init!");
>       return;
>     }
>   }
>
>
>   /**
>    * doGet method is called in response to a GET request
>    */
>   public void doPost(HttpServletRequest request,
>     HttpServletResponse response) throws ServletException,
>     IOException
>   {
>     int entry = 0;
>     String CDID = "0";
>     String username;
>     String password;
>     String inputUsername = request.getParameter("username");
>     String inputPassword = request.getParameter("password");
>     PrintWriter out = response.getWriter();
>     try
>     {
>       response.setContentType("text/html"); file://returns HTML
>
>       file://get handle to output stream
>
>       out.println("username="+inputUsername+" password="+inputPassword);
>
>       file://create statement
>       Statement stat = dbConn.createStatement();
>       file://query database for result set
>       ResultSet rs = stat.executeQuery(
>         "SELECT * FROM " +
>         "users");
>       ResultSetMetaData meta = rs.getMetaData();
>       int cols = meta.getColumnCount();
>       out.println("clos=" +cols);
>
>       file://generate HTML document to return to client
>       out.println("<HTML>");
>       out.println("<HEAD><TITLE>User List</TITLE></HEAD>");
>       out.println("<BODY>");
>       out.println("<H2>Customer List</H2>");
>       out.println("<TABLE BORDER=1>"); file://create an HTML table
>       out.println("<TR><TH>Username</TH>");
>       out.println("<TH>Password</TH>");
>       out.println("<TH>CDID</TH></TR>");
>       while (rs.next() && (entry != 2)) file://iterate through all records
>       {
>         file://add a table row for each record
>
>         username = rs.getString("Username");
>         password = rs.getString("Password");
>         CDID = rs.getString("CDID");
>         out.println("<TR><TD>" + username + "</TD><TD>"
>                                + password + "</TD><TD>"
>                                + CDID     + "</TD><TD>"
>                                           + "</TD></TR>");
>         if(inputUsername.equals(username) &&
> inputPassword.equals(password))entry++;
>       }
>         out.println("</TABLE>");
>         out.println("</BODY></HTML>");
>         file://out.close();
>       file://dbConn.close();
>     }
>     catch (Exception e)
>     {
>       e.printStackTrace();
>     }
>         if(entry == 0)
>          out.println("Error login!");
>
>         file://response.sendRedirect("http://localhost/loginerror.html");
>         else if(entry == 1){
>
if(CDID.equals("1"))response.sendRedirect("http://localhost/page1.html");
>
if(CDID.equals("2"))response.sendRedirect("http://localhost/page2.html");
>         }
>         else
>         response.sendRedirect("http://localhost/JSP/wheretogo.jsp");
>   }
>
>   /**
>    * Tells the server about this servlet
>    */
>   public String getServletInfo()
>   {
>     return "Sample JDBC servlet";
>   }
> }
>
>
>
> _________________________________________________________________________
> Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.
>
> Share information about yourself, create your own public profile at
> http://profiles.msn.com.
>
>
___________________________________________________________________________
> 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
>

___________________________________________________________________________
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

Reply via email to