Ho questa servlet
codice:
package Servlet;

import java.io.*;
import java.sql.*;
import java.net.*;
import java.text.*; 

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

public class Gestione extends HttpServlet {
    MyConnection m = new MyConnection();
   
    protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, ClassNotFoundException, SQLException {
        response.setContentType("text/xml;charset=UTF-8");
        
        PrintWriter out = response.getWriter();
                
        String user = request.getSession().getAttribute("s_usr").toString();
        int id_usr = Integer.parseInt(request.getSession().getAttribute("s_idusr").toString());
        
        try {
            String act = request.getParameter("act");

       if(act.equals("nonso")) {
                int idq = Integer.parseInt(request.getParameter("idq"));
                String idd = request.getParameter("idd");
                int idc = Integer.parseInt(request.getParameter("idc"));
                int prog = Integer.parseInt(request.getParameter("prog"));
                
                normalizzaQuestionario(id_usr, idq, prog, idc);
                
                out.println("<msg>finito</msg>");
            } 
        } catch(){....}
all'internodi questa servlet c'è anche la dichiarazione di normalizzaQuestionario():
codice:
protected void normalizzaQuestionario(int id_usr, int id_qst, int prog, int id_crs) {
        try {
            // Leggo quante domande andranno aggiunte da web.xml
            int quanti = Integer.parseInt(getParam("quanti"));
            int esi;

            String sql0 = "SELECT id_dom, data FROM questionari WHERE id_qst="+id_qst+" AND prog >="+prog;
            ResultSet rs = m.eseguiQuery(sql0);

            // creo la stringa SQL che andrà ad incrementare il prog delle domande di un determinato 'quanto'
            int i = 0;
            String sql[] = new String[m.rowCount(rs)];
            while (rs.next()) {
                sql[i] = "UPDATE questionari SET prog = (prog + " + quanti + ") WHERE id_qst=" + id_qst + " AND id_dom=" + rs.getInt("id_dom") + ";";
                i++;
            }
            
            for (int k = 0; k <= i; k++) {
                esi = m.eseguiUpdate(sql[k]);
            }
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
    }
Normalizza questionario mi esegue delle operazioni sul Database, l'ultimo whille e l'ultimo for non sono riuscito a metterli insieme altrimenti andava in errore e non eseguiva gli update.

così comè il programma funziona correttamente, ma nel processRequest, dopo la chiamata a normalizzaQuestionario, vedi linea rossa, si blocca, infatti non stampa mai finito, anche se ha correttamente eseguito le operazioni SQL. Ovviamente ho provato a mettere la stringa finito, prima della chiamata e tutto funziona correttamente, e il DB è cmq aggiornato. Idee sul problema????