JSP проти Сервлець
Сервлет - це серверний програмний компонент, написаний на Java і працює у сумісному середовищі контейнера, відомому як контейнер Servelt (наприклад, Apache Tomcat). Сервлети переважно використовуються для реалізації веб-додатків, що генерують динамічні веб-сторінки. Однак вони можуть генерувати будь-який інший тип вмісту, наприклад XML, текст, зображення, звукові кліпи, PDF, файли Excel програмно.
Сервлет, написаний для створення деякого HTML, може виглядати так:
MyServlet публічного класу розширює HttpServlet
захищена void doGet (запит HttpServletRequest, відповідь HttpServletResponse) кидає ServletException, IOException
PrintWriter w = response.getWriter ();
w.write ("");
w.write ("");
Дата d = нова дата ();
w.write (d.toString ());
w.write ("");
w.write ("");
Код вище містить суміш вихідного коду HTML та Java. Таке не дуже читабельне та ретельне. JSP, який розшифровується як сторінки JavaServer, пропонує кращу альтернативу. Наприклад, наведений нижче фрагмент коду JSP, який призводить до ідентичного виводу:
Автори веб-сторінок вважають, що JSP простіше писати та підтримувати. Однак файли JSP переводяться в сервлети контейнером сервлетів під час першого доступу до файлів JSP. Однак письменники з ділової логіки вважають, що Сервлетам буде легше працювати.
Запит, отриманий веб-додатком, повинен викликати виконання деякої логіки бізнесу, а потім генерувати отриману веб-сторінку як відповідь. У сучасних веб-додатках управління загальним циклом обробки запитів в основному передається сервлетами. В якості останнього етапу обробки запиту, такий сервлет, як правило, передає відповідальність за генерування динамічного HTML до JSP.