Skillnaden mellan JSP och Servlets

Anonim

JSP vs Servlets

A Servlet är en serverns programvarukomponent skriven i Java och körs i en kompatibel behållarmiljö som kallas en Serveltagare (som Apache Tomcat). Servlets används övervägande för att implementera webbapplikationer som genererar dynamiska webbsidor. De kan dock generera annan innehållstyp som XML, text, bilder, ljudklipp, PDF, Excel-filer programmatiskt.

En Servlet som skrivs för att generera lite HTML kan se ut så här:

Public Class MyServlet utökar HttpServlet {

Protected Void doGet (HttpServletRequest-förfrågan, HttpServletResponse svar) kastar ServletException, IOException { PrintWriter w = svar. getWriter ();

w. skriva("");

w. skriva("");

Datum d = Ny Datum ();

w. skriv (d. toString ());

w. skriva("");

w. skriva("");

}

}

Koden ovan innehåller en blandning av HTML och Java källkod. Sådan är inte mycket läsbar och underhållbar. JSP som står för JavaServer Pages ger ett bättre alternativ. Till exempel är följande ett fragment av JSP-kod som resulterar i identisk utmatning:

Författare av webbsidor finner JSP lättare att skriva och underhålla. JSP-filer översätts emellertid i Servlets av en Servlet-behållare när JSP-filer öppnas först. Men business logic författare hitta servlets för att vara lättare att arbeta med.

En begäran som mottas av en webbapplikation bör utlösa genomförandet av vissa affärslogiker och sedan generera en resulterande webbsida som svaret. I moderna webbapplikationer är styrningen av den övergripande förfrågningsbehandlingscykeln mestadels av Servlets. Som det sista steget i behandlingen av en begäran överlåter en sådan Servlet generellt ansvaret för att generera den dynamiska HTML-en till en JSP.