JSP pret servletiem
Servlet ir servera puses programmatūras komponents, kas rakstīts Java valodā un darbojas saderīgā konteinera vidē, kas pazīstama kā Servelt konteiners (piemēram, Apache Tomcat). Servletus galvenokārt izmanto tīmekļa lietojumprogrammu ieviešanā, kas ģenerē dinamiskas tīmekļa lapas. Tomēr tie var programmatiski ģenerēt jebkura cita veida saturu, piemēram, XML, tekstu, attēlus, skaņas klipus, PDF, Excel failus.
Servleta, kas rakstīta, lai ģenerētu kādu HTML, var izskatīties šādi:
publiskā klase MyServlet paplašina HttpServlet {
protected void doGet (HttpServletRequest pieprasījums, HttpServletResponse atbilde) izmet ServletException, IOException {
PrintWriter w=atbilde.getWriter();
w.write(“”);
w.write(“”);
Datums d=jauns datums();
w.write(d.toString());
w.write(“”);
w.write(“”);
}
}
Iepriekš minētais kods satur HTML un Java avota koda sajaukumu. Tāda nav īpaši lasāma un kopjama. JSP, kas apzīmē JavaServer Pages, nodrošina labāku alternatīvu. Piemēram, šis ir JSP koda fragments, kas rada identisku izvadi:
Tīmekļa lapu autori uzskata, ka JSP ir vieglāk rakstīt un uzturēt. Tomēr JSP faili tiek pārtulkoti servletos, izmantojot servletu konteineru, kad JSP faili tiek pirmo reizi piekļūti. Tomēr biznesa loģikas autori uzskata, ka ar servletiem ir vieglāk strādāt.
Pieprasījumam, ko saņem tīmekļa lietojumprogramma, ir jāaktivizē noteiktas biznesa loģikas izpilde un pēc tam kā atbilde jāģenerē iegūta tīmekļa lapa. Mūsdienu tīmekļa lietojumprogrammās vispārējo pieprasījumu apstrādes ciklu kontrolē galvenokārt servleti. Kā pēdējais pieprasījuma apstrādes posms šāds servlets parasti nodod atbildību par dinamiskā HTML ģenerēšanu JSP.