Ciao a tutti,
sono alle prime armi con le servlet java e le pagine jsp. Ho creato una pagina jsp con un form per la registrazione di un utente. Al submit del form richiamo una servlet che dovrebbe permettermi di inserire i dati prelevati dal form nella tabella UTENTI di un database.
L'inserimento però non viene effettuato e non riesco a capire dov'è il problema.
Di seguito vi riporto il codice della servlet
Questo invece è il codice di DB_operation.db_connectioncodice:public class Register extends HttpServlet { protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); Connection conn=null; Statement s=null; ResultSet rs=null; String reg_exp; PreparedStatement ps=null; try { String name=request.getParameter("name"); String surname=request.getParameter("surname"); String address=request.getParameter("address"); String city=request.getParameter("city"); String cap=request.getParameter("CAP"); String phone=request.getParameter("phone"); String mail=request.getParameter("mail"); String conf_mail=request.getParameter("confirm_mail"); String usr=request.getParameter("user"); String psw=request.getParameter("password"); String conf_psw=request.getParameter("confirm_password"); if(usr.isEmpty()) void_element.add("username"); if(psw.isEmpty()) void_element.add("password"); else if(psw.compareTo(conf_psw)!=0) not_correspond.add("password"); else{ conn=Db_operation.Db_connection.getConnection(); s=conn.createStatement(); rs=s.executeQuery("SELECT * FROM UTENTI WHERE username='"+usr+"' OR password='"+psw+"'"); if(!rs.next()){ //se username e password scelti non sono già stati selezionati //e tutti gli elementi richiesti nel form sono stati inseriti correttamente //viene visualizzata la pagina dell'utente con iul suo menu if(void_element.isEmpty() && error_element.isEmpty() && not_correspond.isEmpty()){ session.setAttribute("currentSessionUser",usr); //aggiungo l'utente String query="INSERT INTO UTENTI VALUES(?,?,?,?,?,?,?,?,?,?,?)"; ps=conn.prepareStatement(query); ps.setString(1, "user"); ps.setString(2, name); ps.setString(3, surname); ps.setString(4, mail); ps.setString(5, address); ps.setString(6, city); ps.setString(7, sex); ps.setString(8, code); ps.setString(9, phone); ps.setString(10, usr); ps.setString(11, psw); int nrow=ps.executeUpdate(); if(nrow>0){ session.setAttribute("roleSession", "user"); response.sendRedirect("index.jsp"); }else{ session.setAttribute("NotAdd", "non aggiunta riga"); response.sendRedirect("register_page.jsp"); } } } else{ request.setAttribute("duplicate", "true"); response.sendRedirect("register_page.jsp"); } } }catch(SQLException sqle){ sqle.getMessage(); }catch(ClassNotFoundException cne){ cne.getMessage(); } finally { out.close(); } }
Qualcuno mi può aiutare.codice:public class Db_connection { public static Connection getConnection() throws ClassNotFoundException, SQLException{ Connection conn=null; try{ Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection("jdbc:mysql://localhost/db_auction?user=db_auction&password=test"); }catch(ClassNotFoundException e){ e.getMessage(); }catch(SQLException se){ se.getMessage(); } return conn; } }
Grazie in anticipo![]()

Rispondi quotando