JSP prieš Servletus
A Servlet yra serverio programinės įrangos komponentas, parašytas Java kalba ir veikia suderinamoje talpyklos aplinkoje, vadinamoje Servelt konteineriu (pvz., Apache Tomcat). Servletai dažniausiai naudojami diegiant žiniatinklio programas, kurios generuoja dinaminius tinklalapius. Tačiau jie gali programiškai generuoti bet kokį kitą turinį, pvz., XML, tekstą, vaizdus, garso klipus, PDF, „Excel“failus.
Servletas, parašytas HTML generuoti, gali atrodyti taip:
viešoji klasė „MyServlet“išplečia „HttpServlet“{
protected void doGet (HttpServletRequest užklausa, HttpServletResponse atsakymas) pateikia ServletException, IOException {
PrintWriter w=atsakymas.getWriter();
w.write(““);
w.write(““);
Data d=nauja data ();
w.write(d.toString());
w.write(““);
w.write(““);
}
}
Aukščiau pateiktame kode yra HTML ir Java š altinio kodų mišinys. Toks nelabai skaitomas ir prižiūrimas. JSP, reiškiantis „JavaServer Pages“, yra geresnė alternatyva. Pavyzdžiui, toliau pateikiamas JSP kodo fragmentas, kurio išvestis yra identiška:
Tinklalapių autoriams JSP lengviau rašyti ir prižiūrėti. Tačiau JSP failus į Servletus išverčia serverio konteineris tuo metu, kai pirmą kartą pasiekiate JSP failus. Tačiau verslo logikos autoriai mano, kad su serveriais dirbti lengviau.
Žiniatinklio programos gauta užklausa turėtų suaktyvinti tam tikros verslo logikos vykdymą ir sugeneruoti gautą tinklalapį kaip atsakymą. Šiuolaikinėse žiniatinklio programose bendrą užklausų apdorojimo ciklą dažniausiai valdo servletai. Kaip paskutinis užklausos apdorojimo etapas, toks serveris paprastai perduoda atsakomybę už dinaminio HTML generavimą JSP.