Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    776

    [Java] non importa i dati dal DB

    Ciao a tutti,

    non riesco a capire proprio dove sbaglio!!!
    Vi prego aiutatemi!!!

    Il risultato ottenuto e' questo:
    Servlet elenca e': com.mysql.jdbc.Driver
    Servlet elenca e': null
    Servlet elenca e': null

    Se andasse a leggere i dati dovrebbe darmi i primi 3 record del DB: nome cognome email.
    Se faccio tutto dallo stesso servlet sia lettura nel DB che scrittura sul WEB, tutto avviene correttamente, ma vorrei "delegare" la lettura del DB alla classe LeggiDB e il metodo getData() dovrebbe restituirmi i record del DB che sono minori di 100 (attualmente sono 24).

    Grazie in anticipo!!!

    dato questo servlet:

    codice:
    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    
    @WebServlet(name = "elenca", urlPatterns = {"/elenca"})
    public class elenca extends HttpServlet {
    
    
        protected void processRequest(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            response.setContentType("text/html;charset=UTF-8");
            PrintWriter out = response.getWriter();
            try {
                Object[] mieiDati;
                LeggiDB array=new LeggiDB();
                mieiDati=array.getData();
                out.println("<html>");
                out.println("<head>");
                out.println("<title>Servlet elenca</title>");            
                out.println("</head>");
                out.println("<body>");
                out.println("<h1>Servlet elenca e': " +mieiDati[0] + "</h1>");
                out.println("<h1>Servlet elenca e': " +mieiDati[1] + "</h1>");
                out.println("<h1>Servlet elenca e': " +mieiDati[2] + "</h1>");
                out.println("</body>");
                out.println("</html>");
            }
            catch(Exception e){
            out.println("ERRORE:");
            }
            finally {            
                out.close();
            }
        }
    
        // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
        /**
         * Handles the HTTP
         * <code>GET</code> method.
         *
         * @param request servlet request
         * @param response servlet response
         * @throws ServletException if a servlet-specific error occurs
         * @throws IOException if an I/O error occurs
         */
        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            processRequest(request, response);
        }
    
        /**
         * Handles the HTTP
         * <code>POST</code> method.
         *
         * @param request servlet request
         * @param response servlet response
         * @throws ServletException if a servlet-specific error occurs
         * @throws IOException if an I/O error occurs
         */
        @Override
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            processRequest(request, response);
        }
    
        /**
         * Returns a short description of the servlet.
         *
         * @return a String containing servlet description
         */
        @Override
        public String getServletInfo() {
            return "Short description";
        }// </editor-fold>
    }

    e la classe:

    codice:
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.Statement;
    
    public class LeggiDB {
        Connection conn=null;
        Statement stmt=null;
        ResultSet rs=null;   
        public  Object[]  getData() {
     
          Object array[];
          array= new Object[100];
            try{
                Class.forName("com.mysql.jdbc.Driver");
                conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/lesson22?user=root&password=root");
                String sqlLeggi="select * from Employee";
                stmt=conn.createStatement();
                rs=stmt.executeQuery(sqlLeggi);
                int i=0;
                String nome,cognome,email;
                while(rs.next()){
                    nome=rs.getString("nome");
                    cognome=rs.getString("cognome");
                    email=rs.getString("email");
                    array[i]=nome;
                    i++;
                    array[i]=cognome;
                    i++;
                    array[i]=email;
                    i++;                  
                }
                return  array;         
            } 
        
            catch (Exception exc){
                
                exc.printStackTrace();
                array[0]=exc.getMessage();
               return array; 
            
    
            }
            
            finally{
                try{
                   rs.close(); stmt.close();conn.close();}
                catch(Exception e){e.printStackTrace();}
               
            }   
    }
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    776
    FINALMENTE HO RISOLTO!!!!

    Era impossibile che qualcuno mi desse la soluzione!!!


    Analizzando gli errori ho trovato:
    java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

    aggiungendo i driver MySQL al progetto tutto si e' risolto!!!

    Per il primo progetto(dove avevo messo tutto in una classe, interrogazione DB e scrittura su web) l'avevo gia' fatto all'inizio e pensavo che questo dovesse essere fatto una sola volta e che valesse per tutti i progetti(COSA CHE POI MI ERO DIMENTICATO DI AVER FATTO)!!!

    ....ovviamente mi sbagliavo!!!!

    Penso che questa cosa non me la dimentichero' MAI PIU' VISTO CHE C'HO SBATTUTO LA TESTA SVARIATI GIORNI!!!

    Roberto

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.