Опубликован: 04.12.2009 | Уровень: специалист | Доступ: свободно
Лекция 10:

Введение в сетевое программирование

< Лекция 9 || Лекция 10: 1234 || Лекция 11 >

10.3. Сервлеты

Напомним что сервлеты – это приложения Java , запускаемые со стороны сервера. Они имеют возможности доступа к файловой системе и другим ресурсам сервера через набор управляющих конструкций, предопределенных в рамках пакета javax.servlet и технологии JSP. Технология JSP заключается в наличии дополнительных конструкций в HTML- или XML-документах, которые позволяют осуществлять вызовы сценариев ("скриптов"), написанных на языке Java. В результате удается очень просто и удобно осуществлять обработку данных или элементов документа, и внедрять в нужные места документа результаты обработки. Сценарии Java перед первым выполнением автоматически компилируются на стороне сервера, поэтому выполняемый код выполняется достаточно быстро. Но, конечно, это требует, чтобы была установлена соответствующая Java-машина. Для дальнейшей работы требуется, чтобы на компьютере кроме JDK был установлен NetBeans Enterprise Pack и входящие в состав дистрибутива пакет j2EE, а также Bundled Tomcat Server.

Рассмотрим пример приложения, работающего с использованием сервлетов. Исходный код сервлета, выдающего на клиентском компьютере сообщение "Hello!":

import java.io.*;
 import javax.servlet.*;
 import javax.servlet.http.*;

public class Hello extends HttpServlet {

    public void doGet(HttpServletRequest request,
                      HttpServletResponse response)
    throws IOException, ServletException
    {
    
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Hello!</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Hello!</h1>");
        out.println("</body>");
        out.println("</html>");
    }
}

Пример файла, из которого вызывается данный сервлет:

<html>
 <head>
  <title>Servlet example</title>
 </head>
<body bgcolor="#FFFFFF">
 <a href="servlet/Hello">Execute servlet</a>
</body>
</html>

Работающие варианты сервлетов и их исходные коды можно посмотреть, открыв примеры: File/New Project…/ Samples/J2EE1.4/Web /Tomcat Servlet Example

Пример разработан организацией The Apache Software Foundation (http://www.apache.org/), и его использование должно соответствовать лицензии, выложенной по адресу http://www.apache.org/licenses/LICENSE-2.0.

Открытие примера с сервлетами

увеличить изображение
Рис. 10.1. Открытие примера с сервлетами
Элементы клиентского экрана запущенного приложения с сервлетами

увеличить изображение
Рис. 10.2. Элементы клиентского экрана запущенного приложения с сервлетами

При нажатии на гиперссылку Execute ("Выполнить") соответствующий сервлет выполняется, и на экране показывается сформированный им HTML-документ. Первым идет пример Hello World. Примерное содержимое исходного кода сервлета можно увидеть, перейдя по гиперссылке Source в HTML-документ с изображением исходного кода. Но это не настоящий код, а лишь HTML-документ!- Его исходный код можно увидеть, сделав двойной щелчок в окне Projects… по узлу Web Pages/helloworld.html. А вот настоящий исходный код можно увидеть, сделав двойной щелчок в том же окне по узлу Source Packages/<default package>/HelloWorldExample.java

То же относится к другим примерам.

Исходный код примера Hello World

увеличить изображение
Рис. 10.3. Исходный код примера Hello World
< Лекция 9 || Лекция 10: 1234 || Лекция 11 >
Дмитрий Полетаев
Дмитрий Полетаев
Изменяется размер ячеек памяти при записи оболочечных данных?Или в jawa это пока не предусмотренно
Максим Старостин
Максим Старостин
5 страница лекции 6
Наталья Алмаева
Наталья Алмаева
Россия
Александр Санчиров
Александр Санчиров
Россия, Москва