import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; import did.*; /** * Questa classe gestisce le richieste riguardanti le ricerche all'interno della * base di dati. Risponde solamente a richieste HTTP di tipo GET. I possibili * parametri che vengono considerati e le relative azioni effettuate sono le * seguenti: *
*
    *
  1. nessun parametro: viene visualizzata la lista dei corsi di studio esistenti;
  2. *
  3. parametro 'id': vengono visualizzate le informazioni (compresa la/le facoltà di appartenenza) * del corso di studi con l'id specificato.
  4. *
*/ public class main extends HttpServlet { /** * Questo metodo risponde alle richieste HTTP di tipo GET. Elabora le richieste, impostando * gli eventuali attributi necessari, e ridirige la visualizzazione alle pagine jsp relative. * * @param request Oggetto HttpServletRequest dal quale ottenere informazioni circa la * richiesta effettuata. * @param response Oggetto HttpServletResponse per l'invio delle risposte. */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { //Definizione e recupero dell'eventuale parametro della servlet String ps = ""; //Dichiaro l'oggetto Dispatcher necessario per passare il controllo ad una JSP o una pagina HTML RequestDispatcher rd = null; if (request.getParameter("ps") != null) {// Ottengo se presente il parametro 'ps' ps = request.getParameter("ps"); } try { // Oggetto per l'interazione con il Database DBMS dbms = new DBMS(); if (ps.equals("")) { // Parametro ps assente o vuoto, visualizzo la home page del sito. // FUNZIONALITÀ DA IMPLEMENTARE //Preparo il Dispatcher rd = request.getRequestDispatcher("../daFare.jsp"); //Passo il controllo alla JSP rd.forward(request,response); } if (ps.equals("elenco")) { //visualizzo l'elenco dei corsi di studio //Delego l'esecuzione della query alla classe di interazione con il DB //Recupero il risultato della query come un Vector contenente dei bean Vector css = dbms.getCorsiStudi(); //Aggiungo il Vector come attributo della richiesta HTTP request.setAttribute("css",css); //Preparo il Dispatcher rd = request.getRequestDispatcher("../ElencoCorsiStudio.jsp"); //Passo il controllo alla JSP rd.forward(request,response); } if (ps.equals("corso")) { //Visualizzo le info del corso di studio con l'id specificato String id = ""; //Recupero l'id del corso if (request.getParameter("id") != null) {// Ottengo se presente il parametro 'id' id = request.getParameter("id"); } // FUNZIONALITÀ DA IMPLEMENTARE //Preparo il Dispatcher rd = request.getRequestDispatcher("../daFare.jsp"); //Passo il controllo alla JSP rd.forward(request,response); } if (ps.equals("ins")) { //Visualizzo la lista di tutti gli insegnamenti erogati //nell'anno accademico "aa" per il corso di studi "id" // FUNZIONALITÀ DA IMPLEMENTARE //Preparo il Dispatcher rd = request.getRequestDispatcher("../daFare.jsp"); //Passo il controllo alla JSP rd.forward(request,response); } } catch(Exception e) { //Gestisco eventuali eccezioni visualizzando lo stack delle chiamate e.printStackTrace(); } } }