
- •1. Условный оператор if
- •If (условие)
- •2. Составной оператор
- •4. Оператор цикла for
- •5. Оператор цикла while (цикл с предусловием)
- •6. Операторы цикла do … while (цикл с постусловием)
- •7. Операторы прерывания continue, break, return, System.Exit
- •8. Оператор выбора switch
- •9. Условное выражение … ? … : …
- •If (условие) {
- •10. Ошибки при использовании вещественного счетчика цикла
- •11. Эффективная организация циклов
- •Void getFood(int food, int drink); // Кормление
- •Сборка мусора
- •Import org.Eclipse.Swt.*;
- •Import org.Eclipse.Swt.Widgets.*;
- •If (!display.ReadAndDispatch ()) display.Sleep ();
- •Import org.Eclipse.Jface.Window.ApplicationWindow;
- •Import org.Eclipse.Swt.Swt;
- •Import org.Eclipse.Swt.Widgets.*;
- •Основные элементы («теги»)
- •Гиперссылки
- •Текстовые блоки
- •Форматирование текста
- •Options
- •Клиенты
- •2.2.Простой Web проект
- •Компоненты j2ee
- •Комментарии
- •Скриптовые элементы
- •Объявления jsp
- •Выражения jsp
- •Скриплеты jsp
- •Директивы jsp
Компоненты j2ee
Приложения J2EE делаются из компонентов. Компонент J2EE - это самостоятельная функциональная программная единица, которая собирается в приложение J2EE вместе с относящимися к ней классами и файлами и которая сообщается с другими компонентами. Спецификация J2EE определяет следующие компоненты J2EE:
Прикладные клиенты и аплеты являются компонентами, выполняемыми на клиенте
Компоненты технологий сервлетов Java Servlet и JavaServer Pages
(JSP ) являются Web-компонентами, которые выполняются на сервере.
Компоненты Enterprise JavaBeans (EJB ) (корпоративные бины) являются бизнес-компонентами, которые выполняются на сервере.
Компоненты J2EE пишутся на языке программирования Java и компилируются так же, как и любые программы на этом языке. Разница между компонентами J2EE и "стандартными" классами Java состоит в том, что компоненты J2EE собираются в приложение J2EE, проверяются на формат и на соответствие спецификациям J2EE, и внедряются в продукт, где они выполняются и управляются сервером J2EE.
22. Сервлеты.
Сервлет является Java-интерфейсом, реализация которого расширяет функциональные возможности сервера. Сервлет взаимодействует с клиентами посредством принципа запрос-ответ.
Хотя сервлеты могут обслуживать любые запросы, они обычно используются для расширения веб-серверов. Для таких приложений технология Java Servlet определяет HTTP-специфичные сервлет классы.
Пакеты javax.servlet и javax.servlet.http обеспечивают интерфейсы и классы для создания сервлетов.
Жизненный цикл сервлета состоит из следующих шагов:
В случае отсутствия сервлета в контейнере.
Класс сервлета загружается контейнером.
Контейнер создает экземпляр класса сервлета.
Контейнер вызывает метод init(). Этот метод инициализирует сервлет и вызывается в первую очередь, до того, как сервлет сможет обслуживать запросы. За весь жизненный цикл метод init() вызывается только однажды.
Обслуживание клиентского запроса. Каждый запрос обрабатывается в своем отдельном потоке. Контейнер вызывает метод service() для каждого запроса. Этот метод определяет тип пришедшего запроса и распределяет его в соответствующий этому типу метод для обработки запроса. Разработчик сервлета должен предоставить реализацию для этих методов. Если поступил запрос, метод для которого не реализован, вызывается метод родительского класса и обычно завершается возвращением ошибки инициатору запроса.
В случае если контейнеру необходимо удалить сервлет, он вызывает метод destroy(), который снимает сервлет из эксплуатации. Подобно методу init(), этот метод тоже вызывается единожды за весь цикл сервлета.
Пример
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;
import javax.servlet.http.HttpSession;
public class NewServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// Параметр
String parameter = request.getParameter("parameter");
// Старт HTTP сессии
HttpSession session = request.getSession(true);
session.setAttribute("parameter", parameter);
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
out.println("<html>");
out.println("<head>");
out.println("<title>Заголовок</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Пример сервлета"+parameter+"</h1>");
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
}
@Override
public String getServletInfo() {
return "Пример сервлета";
}
}
23. JSP.
JSP (JavaServer Pages) — технология, позволяющая веб-разработчикам легко создавать содержимое, которое имеет как статические, так и динамические компоненты. По сути, страница JSP является текстовым документом, который содержит текст двух типов: статические исходные данные, которые могут быть оформлены в одном из текстовых форматов HTML, SVG, WML, или XML, и JSP элементы, которые конструируют динамическое содержимое. Кроме этого могут использоваться библиотеки JSP тегов, а также EL (Expression Language), для внедрения Java-кода в статичное содержимое JSP-страниц.
JSP — одна из высокопроизводительных технологий, так как весь код страницы транслируется в java-код сервлета с помощью компилятора JSP страниц Jasper, и затем компилируется в байт-код виртуальной машины java (JVM). Контейнеры сервлетов, способные исполнять JSP страницы, написаны на языке Java, который может работать на различных платформах. JSP страницы загружаются на сервере и управляются из структуры специального Java server packet, который называется Java EE Web Application, в большинстве своём упакованные в файловые архивы .war и .ear.
Выгода, которую дает технология JSP в сравнении с другими веб-технологиями заключается в том, что JSP является платформонезависимой, переносимой и легко расширяемой технологией для разработки веб-приложений.
JavaServer Pages (JSP) позволяют отделить динамическую часть страниц от статического HTML. Процедура довольно проста, создаёте обычный код HTML (статический), а динамическую часть заключаете в специальные теги "<% %>".
Имя вашего хоста: <%= request.getRemoteHost() %>
JSP страницы имеют расширение .jsp и размещаются там же, где и обычные Web страницы. Структура таких страниц может состоять из пяти конструкций: HTML, комментарии, скриптовые элементы, директивы и действия. JSP страница при компиляции преобразуется в обычный сервлет со статическим содержимым, которое направляется в поток вывода, связанный с методом service. Поэтому при первом запросе этот процесс может вызвать некую задержку, но в большинстве своём незаметную первому пользователю. Комментарии в документе или программе служат к объяснению содержимого. Они не являются причиной замедления программы, так как транслятор и исполнитель их игнорируют. Скриптовые элементы позволяют вам указать код на языке Java, который впоследствии станет частью конечного сервлета, директивы дадут вам возможность управлять всей структурой сервлета, а действия служат для задания существующих используемых компонентов, а также для контроля над поведением движка JSP. Для упрощения работы со скриптами имеются заранее определённые переменные, такие как request, response, pageContext, session, out, application, config, page, exception. Пример JSP страницы с использованием всех составляющих JSP конструкции: