Hovedforskel: 'JSP (Java Server Pages)' er en server-side teknologi, mens 'Servlet' er et lille program, der kører på serveren. Begge disse Java-teknologier bruges til at oprette dynamiske websider.
Sun Microsystems udgav JSP (Java Server Pages) i 1999. JSP'er er Java scripting-sprog, der generelt bruges til at oprette HTML, XML eller andre dokumenttypesider. Disse sider har dynamisk scripting evne til at adskille siden logikken fra den af de statiske komponenter på siden. Deres grundlæggende design gør faktisk HTML mere funktionel, og gør databasespørgslen mere dynamisk. En kompatibel webserver med en servletbeholder (som f.eks. Apache Tomcat eller Jetty) skal installere og køre Java Server Pages (JSP). En JSP er højniveau abstraktionsarkitekturen af en Java Servlet. Ved kørsel er disse JSP'er oversat til servlets. JSP servlets caches og genbruges, indtil den oprindelige JSP er ændret. JSP'en kan bruges uafhængigt og kan også ses som en del af server-side model-view-controller design. Programmører benytter Java-kode sammen med nogle foruddefinerede handlinger for at oprette webmarkup-indholds sider; Disse sider udarbejdes yderligere og udføres på serversiden for at levere dokumenterne.
JSP-sider bruger flere afgrænsere til scriptfunktioner. Den mest grundlæggende er, som omslutter en JSP scriptlet. En scriptlet er et fragment af Java-kode, der køres, når brugeren beder om siden.
Følgende er et gyldigt loop-loop på en JSP-side:
Tæller til tre:
<% for (int i = 1; i
Dette tal er <% = i%>.
OKAY.
Dens output ville blive repræsenteret som:
Tæller til tre:
Dette tal er 1.
Dette tal er 2.
Dette tal er 3.
OKAY.
Servlets er små Java-programmer, der er relateret til Java Applets. De kører stort set inden for et webserver miljø. Servlet-specifikationen blev oprettet af Sun Microsystems, med version 1.0 afsluttet i juni 1997. Dens startversion var 2, 3, mens den nuværende version, som i 2013, var 3.1. En servlet er en Java-klasse, der bruges til at udvide mulighederne for en server. De reagerer på enhver form for anmodninger i form af passende svar. Den grundlæggende Servlet-pakke definerer Java-objekter for at repræsentere servlets anmodninger og svar. Servlets kan genereres automatisk fra Java Server Pages (JSP) af JavaServer Pages compiler. Teknisk set kan en "servlet" defineres som en Java-klasse i Java EE, der er i overensstemmelse med Java Servlet API.
Servlets er kommunikatorer over en klient-serverprotokol og bruges oftest sammen med HTTP-protokollen. Deres grundlæggende formål er:
- At behandle eller gemme og indsende HTML-formulardataene.
- At give dynamisk indhold, såsom resultaterne af en database forespørgsel.
- Administrer statlige oplysninger, der ikke findes i den statsløse HTTP-protokol, såsom fyldning af artiklerne i den relevante kundes indkøbskurv.
Servlet arbejder på servlet livscyklus, der er grundlæggende tre servlet metoder, der definerer servlet livscyklus:
- i det(),
- service () og
- ødelægge()
Sammenligning mellem JSP og Servlet:
JSP | servlet | |
Hvad er de | JSP er et websides scripting sprog, der normalt bruges til at skabe det dynamiske webindhold. | Servlets er Java-programmer, der allerede er kompileret, og som også skaber dynamisk webindhold. |
typisk | JSP er typisk mere orienteret mod at vise information. | Servlet er mere orienteret mod behandling af information. |
Rolle i MVC (Model View Controller) | JSP fungerer som seer. | Servlet fungerer som en controller. |
Gældende på tidspunktet for | De foretrækkes generelt, når der ikke er meget behandling af data, der kræves. | De foretrækkes generelt, når der er mere behandling og manipulation involveret. |
Running hastighed | JSP kører langsommere i forhold til en Servlet. JSP kompilerer til Java Servlets. | Servlets kører hurtigere i forhold til JSP. |
Kode komplikationer | Kodeprogrammeringen er let sammenlignet med Servlets. | Kodeprogrammeringen er vanskelig i forhold til JSP. |
Facility | Her kan vi opbygge brugerdefinerede tags, som direkte kan kalde Java-bønner. | Ingen sådan facilitet er tilgængelig i servlets. |
Består af | JSP er Java HTML-repræsentation blandet med JAVA scriptlets. | Servlet er fulde funktionelle Java-koder. |
Konsistens af objekter | JSP har implicitte objekter. | Servlets har ikke en sådan type objekter. |
eksempler | For at vise en rapport. | At behandle en bruger indsendt formular. |