JSP vs. Servlets
Servlet on Java-kirjoitettu palvelinpuolen ohjelmistokomponentti, joka toimii Servelt-säiliössä (kuten Apache Tomcat) tarkoitetussa yhteensopivassa säilöympäristössä. Servlettejä käytetään pääasiassa verkkosovellusten toteuttamiseen, jotka luovat dynaamisia verkkosivuja. Ne voivat kuitenkin tuottaa mitä tahansa muuta sisältötyyppiä, kuten XML, teksti, kuvat, äänileikkeet, PDF, Excel-tiedostot ohjelmallisesti.
HTML-koodin luomiseen kirjoitettu Servlet voi näyttää tältä:
julkinen luokka MyServlet laajentaa HttpServlet
suojattu tyhjä doGet (HttpServletRequest-pyyntö, HttpServletResponse-vastaus) heittää ServletException, IOException
PrintWriter w = response.getWriter ();
w.write ( ””);
w.write ( ””);
Päivämäärä d = uusi päivämäärä ();
w.write (d.toString ());
w.write ( ””);
w.write ( ””);
Yllä oleva koodi sisältää sekoituksen HTML- ja Java-lähdekoodeja. Sellaista ei ole kovin luettavissa ja ylläpidettävissä. JSP, joka tarkoittaa JavaServer Pagesia, tarjoaa paremman vaihtoehdon. Esimerkiksi seuraava on JSP-koodin fragmentti, joka johtaa identtiseen tulostukseen:
Verkkosivun kirjoittajien mielestä JSP: n kirjoittaminen ja ylläpito on helpompaa. JSP-tiedostot kuitenkin käännetään Servlet-tiedostoiksi Servlet-säilössä, kun JSP-tiedostoja käytetään ensimmäistä kertaa. Liiketoimintalogiikan kirjoittajien mielestä Servlettejen on kuitenkin helpompi työskennellä.
Verkkosovelluksen vastaanottaman pyynnön pitäisi laukaista jonkin liiketoimintalogiikan toteuttaminen ja sitten luoda vastaukseksi tuloksena oleva verkkosivu. Nykyajan verkkosovelluksissa kokonaisen pyynnönkäsittelyjakson hallinta on yleensä Servletsin tehtävä. Pyynnön käsittelyn viimeisenä vaiheena tällainen Servlet antaa yleensä vastuun tuottaa dynaaminen HTML JSP: lle..