Unterschied zwischen JSP und Servlets

JSP vs Servlets

Ein Servlet ist eine serverseitige Softwarekomponente, die in Java geschrieben ist und in einer kompatiblen Containerumgebung ausgeführt wird, die als Servelt-Container bezeichnet wird (wie Apache Tomcat). Servlets werden hauptsächlich bei der Implementierung von Webanwendungen verwendet, die dynamische Webseiten generieren. Sie können jedoch jeden anderen Inhaltstyp wie XML, Text, Bilder, Soundclips, PDF- und Excel-Dateien programmgesteuert generieren.

Ein Servlet, das geschrieben wurde, um HTML zu generieren, kann folgendermaßen aussehen:

public class MyServlet erweitert HttpServlet
protected void doGet (Anforderung HttpServletRequest, Antwort HttpServletResponse) löst ServletException, IOException aus.

PrintWriter w = response.getWriter ();
w.write ("");
w.write ("");

Datum d = neues Datum ();
w.write (d.toString ());
w.write ("");
w.write ("");

Der obige Code enthält eine Mischung aus HTML- und Java-Quellcode. Dies ist nicht sehr lesbar und wartbar. JSP steht für JavaServer Pages und bietet eine bessere Alternative. Das Folgende ist beispielsweise ein Fragment des JSP-Codes, das zu einer identischen Ausgabe führt:






Für Webseitenautoren ist es einfacher, JSP zu schreiben und zu verwalten. JSP-Dateien werden jedoch zum Zeitpunkt des ersten Zugriffs auf JSP-Dateien von einem Servlet-Container in Servlets übersetzt. Für Geschäftslogik-Autoren ist die Arbeit mit Servlets jedoch einfacher.

Eine von einer Webanwendung empfangene Anforderung sollte die Ausführung einer Geschäftslogik auslösen und dann eine resultierende Webseite als Antwort generieren. In modernen Webanwendungen wird die Steuerung des gesamten Anforderungsverarbeitungszyklus meistens von Servlets übernommen. Als letzte Stufe bei der Verarbeitung einer Anforderung übergibt ein solches Servlet im Allgemeinen die Verantwortung für das Generieren des dynamischen HTML an eine JSP.