Сервлеты. Страницы JSP. Взаимодействие сервлета и страницы JSP. Создание проекта в Eclipse под контейнер сервлетов Tomcat

Страницы работы

Фрагмент текста работы

Сервлеты

Сервлеты – это программы, которые выполняются на Web-сервере, действуя в качестве посредника между запросом, поступающим от Web-браузера или другого клиента HTTP, и приложениями на HTTP-сервере.

Для слежения за работой сервлетов и управления ими созданы специальные модули, которые называются контейнерами сервлетов.

Web–сервер, снабженный контейнером сервлетов и другими контейнерами, стал называться сервером приложений.

Чтобы сервлет мог работать, он должен быть зарегистрирован в контейнере; по терминологии спецификации Java Servlet Specification установлен (deploy) в него.

Установка сервлета в контейнер включает получение уникального имени и определение начальных параметров сервлета, запись их в конфигурационные файлы, создание каталогов для хранения всех файлов сервлета и другие операции.

Большую популярность получили некоммерческие контейнеры сервлетов Tomcat (входит в стандартную поставку J2EE SDK) и JBoss.

Страницы JSP

Большую часть сервлета занимали операторы вывода в выходной поток тегов HTML, формирующих результат — страницу HTML. Эти операторы почти без изменений повторялись из сервлета в сервлет. Возникла идея не записывать теги HTML в операторах Java, а наоборот, записывать операторы Java в коде HTML с помощью тегов специального вида. Затем можно обработать полученную страницу препроцессором, распознающим все теги и преобразующим их в код сервлета Java.

Так получился язык JSP (JavaServer Pages), расширяющий язык HTML тегами вида <% имяТега атрибуты %>.

Взаимодействие сервлета и страницы JSP

Первоначально страницы JSP рассматривались в качестве замены сервлетов, т.к. в страницы JSP можно было делать вставки java–кода. Однако дальнейшее развитие платформы Java EE привело к тому, что сервлеты и jsp–страницы используются в web–приложении вместе, дополняя друг друга. При этом бизнес–логика приложения выносится в обычные java–классы, которые взаимодействуют с сервлетами.

Создание проекта в Eclipse под контейнер сервлетов Tomcat

1. В диалоговом окне New Project выбрать WebDynamic Web Project.

2. В диалоговом окне New Dynamic Web Project дать проекту название (далее в примерах jeetest), в списке Target Runtime установить значение

Apache Tomcat v5.5.

Если этого значения нет, то нажать на кнопку New… и в диалоговом окне указать папку, где расположен контейнер сервлетов.

3. В остальных диалоговых окнах принять предлагаемые значения.

4. Добавить в проект новый класс на основе элемента Servlet. Если нет в списке, то искать в Other.

5. В диалоговом окне Create Servlet ввести имя класса.

6. В остальных диалоговых окнах можно принять предлагаемые значения.

7. Отредактировать предложенный шаблон.

Простейший сервлет, генерирующий текст

package by.gsu.epamlab;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class HelloWorld extends HttpServlet {

protected void doGet(HttpServletRequest request,

HttpServletResponse response)

throws ServletException, IOException {

PrintWriter out = response.getWriter();

out.println("Hello World");

}

}

Конфигурационный файл web.xml

Конфигурационный файл (deployment descriptor) описывает ресурсы, составляющие Web–приложение: сервлеты, страницы JSP, документы HTML и XML, изображения и документы других типов.

Он формируется при создании Web–приложения и заполняется при установке сервлета и других ресурсов в контейнер.

Конфигурационный файл записывается на языке XML и называется web.xml. Этот файл располагается в каталоге WEB-INF проекта.

Для активизации сервлета используется URL:

http://localhost:8080/projectName/mapName

projectName – имя проекта;

mapName – это имя, заданное в поле <url-pattern> элемента <servlet-mapping>. Связь между элементами <servlet> и <servlet-mapping> реализуется через общее (ключевое) поле <servlet-name>.

Пример.

<servlet>

<servlet-name>HelloWorld</servlet-name>

<servlet-class>by.gsu.epamlab.HelloWorld</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>HelloWorld</servlet-name>

<url-pattern>/HelloWorld</url-pattern>

</servlet-mapping>

Запуск проекта

Способ 1.

Удобно использовать при первом запуске проекта.

Выполнить пункт меню RunRun AsRun on Server.

Последовательно в диалоговы окнах выбрать контейнер сервлетов Tomcat (далее сервер) и зарегистрировать в нем проект.

Стартовать, перестартовать, остановить сервер можно с помощью кнопок вкладки Servers.

Для отладки сервлетов использовать пункт меню RunDebug AsDebug on Server.

Способ 2.

Использовать при последующих запусках.

Перейти на вкладку встроенного браузера и ввести требуемый

Похожие материалы

Информация о работе