JSP vs Servlets
Servlet je softverska komponenta na strani poslužitelja napisana u Javi i radi u kompatibilnom okruženju spremnika poznatom kao Servelt kontejner (poput Apache Tomcat). Servleti se pretežno koriste u implementaciji web aplikacija koje generiraju dinamičke web stranice. Međutim, mogu programski generirati bilo koju drugu vrstu sadržaja kao što su XML, tekst, slike, zvučni isječci, PDF, Excel datoteke.
Servlet napisan za generiranje nekog HTML-a može izgledati ovako:
javna klasa MyServlet proširuje HttpServlet {
protected void doGet(HttpServletRequest zahtjev, HttpServletResponse odgovor) izbacuje ServletException, IOException {
PrintWriter w=response.getWriter();
w.write(“”);
w.write(“”);
Datum d=novi datum();
w.write(d.toString());
w.write(“”);
w.write(“”);
}
}
Gornji kod sadrži mješavinu HTML i Java izvornog koda. Takav nije baš čitljiv i održavan. JSP koji je kratica 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 spremnika u trenutku kada se JSP datotekama prvi put pristupi. Međutim, pisci poslovne logike smatraju da je sa Servletima lakše raditi.
Zahtjev koji primi web aplikacija trebao bi pokrenuti izvršenje 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 općenito predaje odgovornost generiranja dinamičkog HTML-a JSP-u.