Belangrijk verschil: 'JSP (Java Server Pages)' is een server-side technologie, terwijl 'Servlet' een klein programma is dat op de server draait. Beide Java-technologieën worden gebruikt voor het maken van dynamische webpagina's.
Sun Microsystems heeft JSP (Java Server Pages) in 1999 uitgebracht. JSP's zijn Java-scriptingtalen die over het algemeen worden gebruikt voor het maken van HTML-, XML- of andere webpagina's van documenttypen. Deze pagina's hebben dynamische scriptingmogelijkheden om de paginalogica te scheiden van die van de statische componenten van de pagina. Hun basisontwerp maakt de HTML eigenlijk meer functioneel en maakt de databasequery's dynamischer. Een compatibele webserver met een servlet-container (zoals Apache Tomcat of Jetty) is vereist om de Java Server Pages (JSP) te implementeren en uit te voeren. Een JSP is de abstractie-architectuur op hoog niveau van een Java Servlet. Tijdens runtime worden deze JSP's vertaald in servlets. De JSP-servlets worden in de cache opgeslagen en opnieuw gebruikt totdat de oorspronkelijke JSP is gewijzigd. De JSP kan onafhankelijk worden gebruikt en kan ook worden bekeken als een onderdeel van het ontwerp van de modelweergave aan de serverzijde. Programmeurs maken gebruik van Java-code samen met een aantal vooraf gedefinieerde acties om inhoudspagina's voor webpagina's te maken; deze pagina's worden verder gecompileerd en uitgevoerd aan de serverzijde om de documenten af te leveren.
JSP-pagina's gebruiken verschillende scheidingstekens voor scriptingfuncties. De meest elementaire is, die een JSP-script omvat. Een scriptlet is een fragment van Java-code dat wordt uitgevoerd wanneer de gebruiker de pagina opvraagt.
Het volgende is een geldige lus in een JSP-pagina:
Tellen tot drie:
<% voor (int i = 1; i
Dit aantal is <% = i%>.
OK.
De uitvoer zou worden weergegeven als:
Tellen tot drie:
Dit nummer is 1.
Dit nummer is 2.
Dit nummer is 3.
OK.
Servlets zijn kleine Java-programma's die gerelateerd zijn aan Java-applets. Ze draaien in principe in een webserveromgeving. De Servlet-specificatie is gemaakt door Sun Microsystems, waarvan versie 1.0 in juni 1997 is afgerond. De eerste versie was 2.3, terwijl de huidige versie vanaf 2013 3.1 was. Een servlet is een Java-klasse die wordt gebruikt om de mogelijkheden van een server uit te breiden. Ze reageren op elke vorm van verzoeken in de vorm van passende antwoorden. Het basis Servlet-pakket definieert Java-objecten om de servlet-verzoeken en -antwoorden weer te geven. Servlets kunnen automatisch worden gegenereerd vanuit Java Server Pages (JSP) door de JavaServer Pages-compiler. Technisch gezien kan een "servlet" worden gedefinieerd als een Java-klasse in Java EE die overeenkomt met de Java Servlet-API.
Servlets zijn communicators via een client-server-protocol en worden meestal gebruikt met het HTTP-protocol. Hun basisdoelen zijn:
- Om de HTML-formuliergegevens te verwerken of op te slaan en in te dienen.
- Om dynamische inhoud te bieden, zoals de resultaten van een databasequery.
- Beheer toestandsinformatie die niet bestaat in het stateloze HTTP-protocol, zoals het vullen van de artikelen in het winkelwagentje van de juiste klant.
De servlet werkt op een servlet-levenscyclus, er zijn in feite drie servlet-methoden die de servlet-levenscyclus definiëren:
- in het(),
- service () en
- vernietigen()
Vergelijking tussen JSP en Servlet:
JSP | servlet | |
Wat zijn ze | JSP is een scriptingtaal voor webpagina's, die over het algemeen wordt gebruikt om de dynamische webinhoud te creëren. | Servlets zijn Java-programma's die al zijn gecompileerd en die ook dynamische webinhoud creëren. |
Typisch | JSP is meestal meer gericht op het weergeven van informatie. | Servlet is meer gericht op het verwerken van informatie. |
Rol in MVC (Model View Controller) | JSP fungeert als een kijker. | Servlet fungeert als een controller. |
Van toepassing op het moment van | Ze hebben over het algemeen de voorkeur als er niet veel gegevens worden verwerkt. | Ze hebben over het algemeen de voorkeur als er meer verwerking en manipulatie aan te pas komt. |
Ren snelheid | JSP werkt trager in vergelijking met een Servlet. JSP compileert in Java Servlets. | Servlets lopen sneller in vergelijking met JSP. |
Codeer complicaties | Het programmeren van codes is eenvoudig in vergelijking met Servlets. | Het programmeren van codes is moeilijk in vergelijking met dat van JSP. |
Faciliteit | Hier kunnen we aangepaste tags maken die Java-bonen rechtstreeks kunnen aanroepen. | Een dergelijke faciliteit is niet beschikbaar in servlets. |
Bestaat uit | JSP zijn Java-HTML-representatie gemengd met JAVA-scriptlets. | Servlet zijn volledig functionele Java-codes. |
Consistentie van objecten | JSP heeft impliciete objecten. | Servlets heeft niet zo'n type objecten. |
Voorbeelden | Om een rapport weer te geven. | Om een door de gebruiker ingediend formulier te verwerken. |