JSP vs Servlets
Servlet je softverska komponenta na strani servera napisana u Javi i radi u kompatibilnom okruženju kontejnera poznatom kao Servelt kontejner (kao Apache Tomcat). Servleti se pretežno koriste u implementaciji web aplikacija koje generiraju dinamičke web stranice. Međutim, oni mogu programski generirati bilo koji drugi tip sadržaja kao što je XML, tekst, slike, zvučni isječci, PDF, Excel fajlovi.
Servlet napisan za generiranje nekog HTML-a može izgledati ovako:
javna klasa MyServlet proširuje HttpServlet {
protected void doGet(HttpServletRequest zahtjev, HttpServletResponse odgovor) baca ServletException, IOException {
PrintWriter w=response.getWriter();
w.write(“”);
w.write(“”);
Datum d=novi datum();
w.write(d.toString());
w.write(“”);
w.write(“”);
}
}
Gore kod sadrži mješavinu HTML i Java izvornog koda. Takav nije baš čitljiv i održavan. JSP što je skraćenica za JavaServer Pages pruža bolju alternativu. Na primjer, sljedeće je fragment JSP koda koji rezultira identičnim izlazom:
Autori web stranica smatraju JSP lakšim za pisanje i održavanje. Međutim, JSP datoteke se prevode u Servlet pomoću Servlet kontejnera u vrijeme kada se prvi put pristupi JSP datotekama. Međutim, pisci poslovne logike smatraju da je Servlet lakši za rad.
Zahtjev koji je primila web aplikacija trebao bi pokrenuti izvršavanje neke poslovne logike i zatim generirati rezultirajuću web stranicu kao odgovor. U modernim web aplikacijama, kontrolu cjelokupnog ciklusa obrade zahtjeva uglavnom obavljaju servleti. Kao posljednja faza u obradi zahtjeva, takav servlet generalno predaje odgovornost generiranja dinamičkog HTML-a na JSP.