JSP vs Servlet
A Servlet egy Java nyelven írt szerveroldali szoftverösszetevő, amely egy Servelt-tárolóként ismert kompatibilis konténerkörnyezetben fut (mint például az Apache Tomcat). A szervleteket túlnyomórészt dinamikus weboldalakat generáló webalkalmazások megvalósítására használják. Azonban bármilyen más tartalomtípust, például XML-t, szöveget, képeket, hangfelvételeket, PDF-eket, Excel-fájlokat tudnak programozottan generálni.
Egy HTML generálására írt Servlet így nézhet ki:
public class A MyServlet kiterjeszti a HttpServletet {
protected void doGet(HttpServletRequest kérés, HttpServletResponse válasz) ServletException, IOException {
PrintWriter w=válasz.getWriter();
w.write(“”);
w.write(“”);
Dátum d=new Date();
w.write(d.toString());
w.write(“”);
w.write(“”);
}
}
A fenti kód HTML és Java forráskód keverékét tartalmazza. Az ilyen nem túl olvasható és karbantartható. A JSP, amely a JavaServer Pages rövidítése, jobb alternatívát kínál. Például a következő JSP-kód töredéke, amely azonos kimenetet eredményez:
A weboldalak szerzői könnyebben írják és karbantartják a JSP-t. A JSP-fájlokat azonban egy Servlet-tároló fordítja le szervletekre a JSP-fájlok első elérésekor. Az üzleti logika írói azonban úgy találják, hogy a szervletekkel könnyebb dolgozni.
A webalkalmazás által kapott kérésnek valamilyen üzleti logika végrehajtását kell elindítania, majd válaszként létre kell hoznia egy webold alt. A modern webalkalmazásokban a teljes kérésfeldolgozási ciklus vezérlését többnyire szervletek végzik. A kérés feldolgozásának utolsó lépéseként egy ilyen szervlet általában átadja a dinamikus HTML létrehozásának felelősségét egy JSP-nek.