Разлика между JSP и Servlets

JSP срещу Servlets

A Servlet е софтуерен компонент от страна на сървъра, написан на Java и работи в съвместима контейнерна среда, известна като контейнер Servelt (като Apache Tomcat). Сервлетите се използват предимно за внедряване на уеб приложения, които генерират динамични уеб страници. Те обаче могат да генерират всеки друг тип съдържание като XML, текст, изображения, звукови клипове, PDF, Excel файлове програмно.

Сервлет, написан за генериране на някакъв HTML код, може да изглежда така:

MyServlet в обществена класа разширява HttpServlet
защитен void doGet (HttpServletRequest заявка, HttpServletResponse отговор) хвърля ServletException, IOException

PrintWriter w = response.getWriter ();
w.write ( "");
w.write ( "");

Дата г = нова дата ();
w.write (d.toString ());
w.write ( "");
w.write ( "");

Кодът по-горе съдържа смесица от HTML и Java изходен код. Такова не е много четимо и поддържано. JSP, което означава JavaServer Pages, предоставя по-добра алтернатива. Например, следният е фрагмент от JSP код, който води до идентичен изход:






Авторите на уеб страници намират JSP по-лесен за писане и поддържане. JSP файловете обаче се превеждат в Servlets от контейнер на Servlet в момента на достъп до JSP файловете. Въпреки това, писателите на бизнес логика намират Servlets за по-лесна работа.

Заявка, получена от уеб приложение, трябва да задейства изпълнението на някаква бизнес логика и след това да генерира в резултат уеб страница като отговор. В съвременните уеб приложения контролирането на цялостния цикъл на обработка на заявки се осъществява най-вече от Servlets. Като последен етап в обработката на заявка, такъв Servlet обикновено поема отговорността за генериране на динамичния HTML към JSP.