Salve a tutti sto creando un'applicazione web composte da jsp su Netbeans con l'utilizzo di Tomcat e del database di Postgres.
Ho un problema riguardante l'inserimento dei dati nel db di postgres, il problema è che la select, la delete e l'update vengono eseguite correttamente mentre l'inserimento no.
Posto il codice nella speranza che qualcuno possa aiutarmi.


Verifica_Reg_utente.jsp
codice:
<%  
          String stringa_errore ="";
          String user = request.getParameter("user");
          if (user == "") stringa_errore += "user";
          String psw = request.getParameter("psw");
          if (psw == "") stringa_errore += "psw";
          String nome = request.getParameter("nome");
          if (nome == "") stringa_errore += "nome";
          String cognome = request.getParameter("cognome");
          if (cognome == "") stringa_errore += "cognome";
          if(stringa_errore.equals(""))
          {
                    String query3 = "INSERT INTO utente(username,psw,nome,cognome) values ('"+user+"', '"+psw+"', '"+nome+"', '"+cognome+"');";
                    database.Connessione_Data_Base db= new Connessione_Data_Base();
                    db.DMLquery(query3);
          } 
          else response.sendRedirect("registrazione.jsp?stringa_errore="+stringa_errore);
        %>
Questo richiama la classe connessione database che posto sotto

codice:
Public class Connessione_Data_Base {
    private static Connection connessione = null; //Oggetto per la connessione al database
    private String NomeDb = "progetto";//Database
    private String User = "Studente";//Nome utente 
    private String Psw = "ger";//Password 
    
    //Cotruttore per la connessione al database
    public Connessione_Data_Base() throws ClassNotFoundException, SQLException
    {
        if (connessione==null || connessione.isClosed())
        {
            Class.forName("org.postgresql.Driver");
            String stringaConn = "jdbc:postgresql://localhost/"+ NomeDb +"?user="+ User +"&password="+ Psw;
            connessione = DriverManager.getConnection(stringaConn);
            connessione.setAutoCommit(true);
        }
    }
    
    //Metodo per effettuare le SELECT
    public ResultSet select(String query) throws SQLException
    {
        PreparedStatement stat = connessione.prepareStatement(query);
        return stat.executeQuery();
    }   
    //Metodo per effettuare INSERT, UPDATE e DELETE
    public void DMLquery(String query) throws SQLException
    {
        Statement stat = connessione.createStatement();
        stat.executeUpdate(query);
        connessione.commit();
    }
}
Una volta richiamata la classe non viene eseguita la commit e mi da il seguente errore

codice:
org.apache.jasper.JasperException: An exception occurred processing JSP page /verifica_Reg_utente.jsp at line 27

24:           {
25:                     String query3 = "INSERT INTO utente(username,psw,nome,cognome) values ('"+user+"', '"+psw+"', '"+nome+"', '"+cognome+"');";
26:                     database.Connessione_Data_Base db= new Connessione_Data_Base();
27:                     db.DMLquery(query3);
28:           } 
29:           else response.sendRedirect("registrazione.jsp?stringa_errore="+stringa_errore);
30:         %>
Stacktrace:

codice:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:521)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:412)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause

javax.servlet.ServletException: org.postgresql.util.PSQLException: Cannot commit when autoCommit is enabled.
	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:865)
	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:794)
	org.apache.jsp.verifica_005fReg_005futente_jsp._jspService(verifica_005fReg_005futente_jsp.java:95)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause

org.postgresql.util.PSQLException: Cannot commit when autoCommit is enabled.
	org.postgresql.jdbc2.AbstractJdbc2Connection.commit(AbstractJdbc2Connection.java:705)
	database.Connessione_Data_Base.DMLquery(Connessione_Data_Base.java:38)
	org.apache.jsp.verifica_005fReg_005futente_jsp._jspService(verifica_005fReg_005futente_jsp.java:83)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.35 logs.