Ciao a tutti,
sto cercando di scrivere il risultato di una Query, con un Servlet, su un navigatore!
- premetto che i dati ci sono all'interno del DB
- al DB si connette tranquillamente perche' riesco a scrivere da un altro servlet
Come posso fare a passare correttamente i dati da questa classe "LeggiDB" al servlet "ServletLeggiDB"?
E' corretto farlo con un array?
Dal servlet non vedo il risultato!!!!
L'unica cosa che vedo sul navigatore e':
Servlet ServletLeggiDB at /Lezione22
MI POTRESTE DARE DELLE DRITTE!!!
LE CRITICHE SONO BEN ACCETTE!!
Grazie,
Roberto
LeggiDB
codice:
import java.sql.*;
public class LeggiDB {
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
String dati[][];
public String[][] connetti() {
try{
Class.forName("org.apache.derby.jdbc.ClientDriver");
conn= DriverManager.getConnection("jdbc:derby://localhost:1527/Lesson22");
String sqlLeggi="select * from Employee";
stmt=conn.createStatement();
rs=stmt.executeQuery(sqlLeggi);
int i=0;
while(rs.next()){
dati[0][i]=rs.getString("nome");
dati[1][i]=rs.getString("cognome");
dati[2][i]=rs.getString("email");
i++;
}
return dati;
}
catch (Exception exc){
dati[0][0]="e' avvenuto un errore";
return dati;
}
finally{
try{
rs.close(); stmt.close();conn.close();}
catch(Exception e){e.printStackTrace();}
}
}
}
ServletLeggiDB
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;
/**
*
* @author X
*/
@WebServlet(name = "ServletLeggiDB", urlPatterns = {"/ServletLeggiDB"})
public class ServletLeggiDB extends HttpServlet {
/**
* Processes requests for both HTTP
* <code>GET</code> and
* <code>POST</code> methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
/* TODO output your page here. You may use following sample code. */
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet ServletLeggiDB</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet ServletLeggiDB at " + request.getContextPath() + "</h1>");
//out.println("<table>");
LeggiDB rs=new LeggiDB();
String risultato[][]=rs.connetti();
//*********************************************
int i=0;
out.println(risultato[0][0]);
while(risultato[0][i]!=null){
String nome=risultato[0][i];
String cognome=risultato[1][i];
String email=risultato[2][i];
i++;
out.println("
********"+nome+cognome+email);
}
} finally {
//out.println("</table>");
out.println("</body>");
out.println("</html>");
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>
}