non riesco a capire perchè se faccio la prima query la servlet non funziona, mentre se faccio la seconda query sì.
Qualcuno può aiutarmi?
Grazie
codice:import java.io.IOException; import java.io.PrintWriter; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.Connection; import java.sql.Statement; import javax.servlet.annotation.WebServlet; import javax.servlet.http.*; import javax.servlet.*; //import com.mysql.jdbc.Connection; //import com.mysql.jdbc.ResultSetMetaData; //import com.mysql.jdbc.Statement; @WebServlet("/001jdbc") public class all extends HttpServlet{ private Connection conn = null; private static final String USER = "root"; private static final String PWD = "root"; private static final String MYSQL= "jdbc:mysql://localhost/"; public void inizio(PrintWriter out){ out.print("<html><head><title>ciao</title></head><body>"); } public void fine(PrintWriter out){ out.println("</body></html>"); } public void doGet(HttpServletRequest request, HttpServletResponse response ) throws IOException,ServletException{ // String query ="SHOW DATABASES;"; String query ="Select *from prova.pippo;"; response.setContentType("text/html"); PrintWriter out = response.getWriter(); db DB = new db(); inizio(out); try { if(conn==null){ conn = DB.connetti(out,MYSQL,USER,PWD); } ResultSet rs = DB.select(conn,query); ResultSetMetaData rsmd= rs.getMetaData() ; out.println(rsmd.getColumnLabel(1)+" "+rsmd.getTableName(1)); out.println(" "+rsmd.getColumnName(1)+" "+"<SELECT name=\"database\">"); int i=0; while(rs.next()){ out.println(" <option value=\"" +(i++) +"\">"+rs.getString(rsmd.getColumnName(1))); } out.println(" "); fine(out); }catch(Exception e){ out.println("eccezione"+e.getMessage() ); }finally{ conn=null; } } } class db{ private static final String DRIVER_URL = "org.gjt.mm.mysql.Driver"; public Connection connetti(PrintWriter out,String db, String utente, String pass){ Connection conn=null; try{ /* carico driver e lo istanzio */ Class.forName(DRIVER_URL).newInstance(); /* connetto root per avere l'elenco dei DB */ conn = DriverManager.getConnection(db,utente,pass); /* restitisco la connessione */ }catch(Exception e){ e.printStackTrace(out); } return conn; } public ResultSet select(Connection conn, String query)throws Exception{ ResultSet rs = null; Statement stmt = conn.createStatement(); rs = stmt.executeQuery(query); return rs; } }

Rispondi quotando