Differenza tra JSP e Servlet

JSP vs Servlet

Un servlet è un componente software lato server scritto in Java e viene eseguito in un ambiente contenitore compatibile noto come contenitore Servelt (come Apache Tomcat). Gli servlet vengono utilizzati principalmente per implementare applicazioni Web che generano pagine Web dinamiche. Possono tuttavia generare qualsiasi altro tipo di contenuto come XML, testo, immagini, clip audio, PDF, file Excel a livello di programmazione.

Un servlet scritto per generare un codice HTML può assomigliare a questo:

public class MyServlet estende HttpServlet
protetto doGet vuoto (richiesta HttpServletRequest, risposta HttpServletResponse) genera ServletException, IOException

PrintWriter w = response.getWriter ();
w.write ( “”);
w.write ( “”);

Data d = nuova Data ();
w.write (d.toString ());
w.write ( “”);
w.write ( “”);

Il codice sopra contiene una combinazione di codice sorgente HTML e Java. Questo non è molto leggibile e mantenibile. JSP che sta per JavaServer Pages fornisce un'alternativa migliore. Ad esempio, il seguente è un frammento di codice JSP che risulta in un output identico:






Gli autori di pagine Web trovano JSP più facile da scrivere e mantenere. I file JSP vengono tuttavia convertiti in servlet da un contenitore Servlet al momento dell'accesso ai file JSP. Tuttavia, gli scrittori di business logic trovano che Servlets sia più semplice da utilizzare.

Una richiesta ricevuta da un'applicazione Web dovrebbe attivare l'esecuzione di alcune logiche di business e quindi generare una pagina Web risultante come risposta. Nelle applicazioni Web di oggi, il controllo del ciclo generale di elaborazione delle richieste è affidato principalmente a Servlets. Come ultima fase nell'elaborazione di una richiesta, tale servlet in genere trasferisce la responsabilità di generare l'HTML dinamico in un JSP.