home *** CD-ROM | disk | FTP | other *** search
/ ftp.disi.unige.it / 2015-02-11.ftp.disi.unige.it.tar / ftp.disi.unige.it / pub / .person / CataniaB / teach-act / DB3 / servlet-bean / QueryBean.java next >
Text File  |  2001-03-29  |  3KB  |  121 lines

  1. import java.io.*;
  2. import java.util.*;
  3. import java.text.*; // per il DateFormat
  4. import java.sql.*;
  5. import javax.servlet.*;
  6. import javax.servlet.http.*;
  7.  
  8. /**
  9.  * Semplice query
  10.  *
  11.  * @author Mirko Manea
  12.  */
  13.  
  14.  
  15.  
  16. /**
  17.  * Osservazione
  18.  *
  19.  * @author Barbara Catania
  20.  * 
  21.  * Si noti che non sono previsti i metodi init() e destroy(),
  22.  * Tutto viene realizzato dal metodo doGet():
  23.  * - connessione
  24.  * - elaborazione
  25.  * - chiusura connessione
  26.  * Questo puo' essere considerato ragionevole poiche' non vengono richiesti parametri in input,
  27.  * quindi si effettua una sola connessione ed una sola query
  28.  * PER ESERCIZIO:
  29.  * provare a modificare la servlet in modo che prenda la matricola da input (tramite FORM), prevedere
  30.  * in questo caso i metodi init(), destroy(), doGet() o doPost() come visto a lezione
  31.  */
  32.  
  33.  
  34.  
  35.  
  36.  
  37. public class QueryBean extends HttpServlet {
  38.  
  39.     public void doGet(HttpServletRequest request,
  40.                       HttpServletResponse response)
  41.         throws IOException, ServletException {
  42.  
  43.         PrintWriter out = response.getWriter();
  44.     String sql;
  45.     Connection con = null;
  46.     PreparedStatement pstmt;
  47.     ResultSet rs; 
  48.  
  49.     // formattatore per le date
  50.     DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, Locale.ITALY);
  51.  
  52.     // parametri di connessione
  53.     String url = "jdbc:postgresql://arena.sci.univr.it/esercitazioni";
  54.     String user = "db01";
  55.     String passwd = "";
  56.  
  57.     try {
  58.         Class.forName("postgresql.Driver");
  59.     } catch (ClassNotFoundException cnfe) {
  60.         System.err.println("Driver jdbc non trovato: "+cnfe.getMessage());
  61.     }
  62.  
  63.     out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"");
  64.     out.println("          \"http://www.w3.org/TR/REC-html40/loose.dtd\">");
  65.  
  66.  
  67.         out.println("<html>");
  68.  
  69.         out.println("<head>");
  70.         out.println("<title>Studenti</title>");
  71.         out.println("</head>");
  72.  
  73.         out.println("<body>");
  74.         out.println("<h1>Studenti</h1>");
  75.  
  76.     try {
  77.         con = DriverManager.getConnection(url,user,passwd);
  78.  
  79.         sql =  " SELECT * ";
  80.         sql += " FROM db01studenti ";
  81.         sql += " WHERE matricola = ? ";
  82.  
  83.         pstmt = con.prepareStatement(sql); 
  84.  
  85.         pstmt.setString(1, "IN000001");
  86.  
  87.         rs=pstmt.executeQuery();
  88.         
  89.         StudenteBean studente = new StudenteBean();
  90.  
  91.         while (rs.next()) {
  92.             studente.setCognome(rs.getString("congnome"));
  93.             studente.setNome(rs.getString("nome"));
  94.             studente.setFacolta(rs.getString("facolta"));
  95.             studente.setDataNascita(rs.getDate("data_nascita"));
  96.             studente.setCreditiOttenuti(rs.getInt("crediti_ottenuti"));
  97.  
  98.             out.println("<p>");
  99.             out.println("<strong>Cognome:</strong> "+studente.getCognome());
  100.             out.println("<br>");
  101.             out.println("<strong>Nome:</strong> "+studente.getNome());
  102.             out.println("<br>");
  103.             out.println("<strong>Facoltà:</strong> "+studente.getFacolta());
  104.             out.println("<br>");
  105.             out.println("<strong>Data di nascita:</strong> "+df.format(studente.getDataNascita()));
  106.             out.println("<br>");
  107.             out.println("<strong>Crediti ottenuti:</strong> "+studente.getCreditiOttenuti());
  108.             out.println("</p>");
  109.             out.println("<hr>");
  110.         }    
  111.         con.close();
  112.     } catch (SQLException sqle) {
  113.         System.err.println("drivermanager non trovato: "+sqle.getMessage());
  114.     }
  115.  
  116.         out.println("</body>");
  117.         out.println("</html>");
  118.  
  119.     }
  120. }
  121.