JSP vs Servlets
'n Servlet is 'n bedienerkant-sagtewarekomponent wat in Java geskryf is en loop in 'n versoenbare houer-omgewing bekend as 'n Servelt-houer (soos Apache Tomcat). Servlets word hoofsaaklik gebruik in die implementering van webtoepassings wat dinamiese webblaaie genereer. Hulle kan egter enige ander inhoudtipe soos XML, teks, beelde, klankgrepe, PDF, Excel-lêers programmaties genereer.
'n Servlet wat geskryf is om HTML te genereer, kan soos volg lyk:
publieke klas MyServlet verleng HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) gooi ServletException, IOException {
PrintWriter w=response.getWriter();
w.write(“”);
w.write(“”);
Datum d=nuwe Datum();
w.write(d.toString());
w.write(“”);
w.write(“”);
}
}
Die kode hierbo bevat 'n mengsel van HTML- en Java-bronkode. Dit is nie baie leesbaar en onderhoubaar nie. JSP wat staan vir JavaServer Pages bied 'n beter alternatief. Byvoorbeeld, die volgende is 'n fragment van JSP-kode wat identiese uitvoer tot gevolg het:
Webbladskrywers vind JSP makliker om te skryf en in stand te hou. JSP-lêers word egter deur 'n Servlet-houer in Servlets vertaal wanneer JSP-lêers die eerste keer verkry word. Besigheidslogika-skrywers vind egter dat Servlets makliker is om mee te werk.
'n Versoek wat deur 'n webtoepassing ontvang word, behoort die uitvoering van een of ander besigheidslogika te aktiveer en dan 'n resulterende webbladsy as die antwoord te genereer. In hedendaagse webtoepassings word die beheer van die algehele versoekverwerkingsiklus meestal deur Servlets oorhandig. As die laaste stadium in die verwerking van 'n versoek, gee so 'n Servlet oor die algemeen die verantwoordelikheid oor om die dinamiese HTML aan 'n JSP te genereer.