Różnica między JSP a serwletami

JSP a serwlety

Servlet jest komponentem po stronie serwera napisanym w Javie i działa w kompatybilnym środowisku kontenerowym znanym jako kontener Servelt (jak Apache Tomcat). Serwlety są głównie używane do wdrażania aplikacji internetowych generujących dynamiczne strony internetowe. Mogą jednak generować programowo dowolny inny typ zawartości, taki jak XML, tekst, obrazy, klipy dźwiękowe, pliki PDF, Excel.

Serwlet napisany w celu wygenerowania kodu HTML może wyglądać następująco:

MyServlet klasy publicznej rozszerza HttpServlet
chronione void doGet (żądanie HttpServletRequest, odpowiedź HttpServletResponse) zgłasza ServletException, IOException

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

Data d = nowa data ();
w.write (d.toString ());
w.write („”);
w.write („”);

Powyższy kod zawiera mieszaninę kodu źródłowego HTML i Java. Nie jest to zbyt czytelne i łatwe do utrzymania. JSP (JavaServer Pages) stanowi lepszą alternatywę. Na przykład poniżej znajduje się fragment kodu JSP, który daje identyczne dane wyjściowe:






Autorzy stron internetowych uważają JSP za łatwiejszy do pisania i zarządzania. Pliki JSP są jednak tłumaczone na serwlety przez kontener serwletów w momencie pierwszego dostępu do plików JSP. Jednak autorzy logiki biznesowej uważają, że serwlety są łatwiejsze w obsłudze.

Żądanie otrzymane przez aplikację internetową powinno wyzwalać wykonanie pewnej logiki biznesowej, a następnie wygenerować wynikową stronę internetową jako odpowiedź. We współczesnych aplikacjach internetowych kontrolowanie całego cyklu przetwarzania żądań jest w większości obsługiwane przez serwlety. Jako ostatni etap przetwarzania żądania taki serwlet zazwyczaj przekazuje odpowiedzialność za generowanie dynamicznego kodu HTML na stronie JSP.