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:
*
*
* - nessun parametro: viene visualizzata la lista dei corsi di studio esistenti;
* - parametro 'id': vengono visualizzate le informazioni (compresa la/le facoltà di appartenenza)
* del corso di studi con l'id specificato.
*
*/
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();
}
}
}