Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    19

    java problema accesso a database

    ciao a tutti,
    ho un problema molto strano,

    ho realizzato una pagina jsp con un form in html che si collega ad una servlet java, questa servlet accede a un database per interrogarlo e ricava i dati, quando provo la pagina non mi visualizza i dati nella servlet.
    ecco il codice intero:

    import java.io.*;
    import java.net.*;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;

    import javax.servlet.*;
    import javax.servlet.http.*;

    /**
    *
    * @author andrea.zappa
    * @version
    */
    public class Registrazione extends HttpServlet {

    /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
    * @param request servlet request
    * @param response servlet response
    */
    static final String JDBC_DRIVER="sun.jdbc.odbc.Jdbc0dbcDriver";
    static final String DATABASE_URL="jdbcdbc:giardinaggio.mdb";

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();

    Connection connection=null;
    Statement statement=null;
    String login=request.getParameter("username1");
    String password=request.getParameter("password1");
    out.println("<html>");
    out.println("<head>");
    out.println("<title>Servlet Paginabenvenuto</title>");
    out.println("</head>");
    out.println("<body>");

    try
    {

    Class.forName(JDBC_DRIVER);

    connection=DriverManager.getConnection(DATABASE_UR L);
    statement=connection.createStatement();
    String richiesta="SELECT Login, Password, Nome, Cognome FROM Utente";
    ResultSet resultSet1=statement.executeQuery(richiesta);


    while(resultSet1.next())
    {
    out.println(resultSet1.getString(1));

    if (login.equals(resultSet1.getString(1)))
    {

    if (password.equals(resultSet1.getString(2)))
    {
    out.println("Benvenuto"+resultSet1.getString(3)+" "+resultSet1.getString(4));
    }
    }

    }

    }
    catch (SQLException e)
    {
    e.printStackTrace();
    }
    catch (ClassNotFoundException e)
    {
    e.printStackTrace();
    }
    finally {
    try{
    statement.close();
    connection.close();
    }
    catch (Exception e)
    {
    e.printStackTrace();
    }
    }

    out.println("</body>");
    out.println("</html>");

    out.close();
    }

  2. #2
    Cosa ti viene visualizzato quando accedi alla pagina? Viene lanciata qualche eccezione?
    Al mio segnale... scatenate l'inferno!

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    19
    quando lancio il debug non vengono visualizzate eccezzioni, solo questo:

    Duplicated project name in import. Project SitoGiardinaggio-impl defined first in C:\Documents and Settings\Andrea\SitoGiardinaggio\nbproject\ant-deploy.xml and again in C:\Documents and Settings\Andrea\SitoGiardinaggio\nbproject\build-impl.xml

    ma non dovrebbe dare problemi.

  4. #4
    Al di là della modalità di verifica di login e password, quanto meno inefficiente (anziché tirarsi giù tutta la tabella Utente, sarebbe molto più efficiente effettuare una select ponendo delle clausole where su login e password...) devi capire se il problema è nell'accesso al database o altro.

    Intanto, visto che dal codice che hai postato qui non si capisce, sei sicuro che il metodo processRequest() venga chiamato nella doGet() o nella doPost()?

    Dopodiché, hai provato a cambiare il metodo e a non invocare il database, scrivendo una risposta statica tipo Hello World, e verificare se funziona?

    Infine, se il problema è nell'accesso al db, sicuramente viene lanciata qualche eccezione che tu gestisci con delle e.printStackTrace(); verifica nell'output del web container che cosa viene scritto.

    Ciao,

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.