Платформа J2EE Сервис: Java Naming Directory (JNDI) – универсальный сервис хранения объектов в иерархической структуре имен (аналогично файловой системе)

Презентация:



Advertisements
Похожие презентации
Платформа J2EE Сервис: Java Naming Directory (JNDI) – универсальный сервис хранения объектов в иерархической структуре имен (аналогично файловой системе)
Advertisements

Где хранить данные в web- приложении page –JSP страница request – HTTP запрос session – сессия пользователя application – веб-приложение Static Java class.
Язык Java. JSP.. Java. Синтаксис. Перевод строчки эквивалентен пробелу Регистр в именах различается // Комментарии до конца строки /* Многострочные комментарии.
Веб - сервер Apache Tomcat 6. Содержание лекции 1. Ключевые вопросы организации веб - сервера 1.Понятие веб - сервера и его функции 2.Протокол HTTP 3.Аутентификация.
Программирование на стороне сервера.
Java Server Pages (JSP). JSP Позволяет веб разработчикам динамически генерировать HTML, XML - и другие веб страницы. Страницы компилируются JSP- компилятором.
1 Java J2EE. Servlet Технологии. 2 Сервлеты Сервлеты – это компоненты приложений Java Enterprise Edition, выполняющиеся на стороне сервера, способные.
Уровень представления Протокол HTTP, веб-приложение, сервлеты,сеансы.
1 Java J2EE. JSP. 2 Технология Java Server Pages (JSP) Java Server Pages (JSP) обеспечивает разделение динамической и статической частей страницы, результатом.
Saint Petersburg, 2012 Java Lecture 11 Web/Servlets.
Лекция 17 СЕРВЛЕТЫ Сервлеты – компоненты приложений Java 2 Platform Enterprise Edition, выполняющиеся на стороне сервера, способные обрабатывать клиентские.
Пользовательские действия (custom actions) в JSP. JSTL.
Архитектура типового Enterprise приложения. История: от магического сервлета до наших дней Магический сервлет (все в одном) Не-UI логика Доступ к данным.
Рогов Павел (271 ПИ ) Назаренко Дмитрий (272 ПИ ) Научный руководитель : Гринкруг Е. М. Курсовая работа. Клиент - серверное Android- приложение для планирования.
Web - сервисы. Веб-служба, веб-сервис (англ. web service) идентифицируемая веб-адресом программная система со стандартизированными интерфейсами.англ.веб-адресоминтерфейсами.
1 Паттерны проектирования MVC, MVP, MVVM. 2 Обзор Cхема использования нескольких шаблонов проектирования, с помощью которых модель данных приложения,
Уровень представления JSP, EL-expressions, JSTLУровень представления JSP, EL-expressions, JSTL.
Рассматриваемые темы Технология EJB Типы EJB Вызов EJB Сборка и развертывание EJB- приложения 2-1.
EJB Environment Кряжев Василий
JSF/JSP/Tomcat Введение в технологию. JavaServer Faces JSF - фреймворк для веб-приложений, написанный на Java JSF основывается на использовании компонентов.
Транксрипт:

Платформа J2EE Сервис: Java Naming Directory (JNDI) – универсальный сервис хранения объектов в иерархической структуре имен (аналогично файловой системе) Ресурс: DataSource - объект, позволяющий приложению получить доступ к соединению к БД

Структура J2EE Web-приложения

Настройка DataSource в Apache Tomcat Использование DataSource: // Создаем начальный контекст JNDI (Java Naming Directory) InitialContext ctx = new InitialContext(); // Достаем из контекста источник данных DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/sample"); // Получаем соединение с БД из источника данных return ds.getConnection(); Настройка DataSource: Файл /META-INF/context.xml

J2EE: Сервлеты Пример: public class MyServlet extends javax.servlet.http.HttpServlet { protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {} public void destroy() { this.log("Servlet destroyed"); } public void init(ServletConfig cfg) throws ServletException { this.log("Servlet inited"); }

Основные классы Servlet API (javax.servlet.http.*) HttpServletRequest – класс, экземпляры кот. представляют запрос от браузера String getContextPath() – возвращает путь к контексту приложения String getServletPath() – URL вызванного сервлета (JSP) HttpSession getSession() – Сессия пользователя Object getAttribute() / void setAttribute(String name, Object value) – Хранение пользовательских атрибутов, связанных с запросом String getParameter(String value) – Параметр запроса (и для GET и для POST) void setCharacterEncoding(String enc) – Кодировка значений параметров запроса (windows-1251, UTF-8) HttpServletResponse – класс, экземпляры кот. представляют ответ браузеру void setContentType(String contentType) – MIME-тип ответа браузеру java.io.PrintWriter getWriter() – поток вывода для ответа браузеру void sendRedirect(String location) – перенаправление на другую страницу HttpSession – класс, экземпляры кот. хранят состояние сессии клиента Object getAttribute() / void setAttribute(String key, Object value) – Атрибуты сессии (сохраняются между запросами одного клиента) HttpServletContext – класс, экземпляры кот. представляют все web-приложение Object getAttribute() / void setAttribute(String key, Object value) – Атрибуты контекста (общие для всех пользователей и запросов к web-приложению)

J2EE: Java Server Pages Жизненный цикл 1. Жизненный цикл класса страницы 2. Жизненный цикл объекта страницы Элемент JSP Представление в JSP-файле Преобразуется в java- класс как Импорт пакета import java.util.*; Скриптлет: jsp_service() { … List items=new ArrayList(); //любой java-код … } Вывод на страницу out.write(new Date());

J2EE: Java Server Pages (JSP) import java.util.*; public final class hello_jsp extends org.apache.jasper.runtime.HttpJspBase { // Объявляется поле в классе страницы int my_integer_field = 777; // Объявляется метод в классе страницы private String make_greeting(String name) { return "Hello, "+name + "!"; } public void _jspService(HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, ServletException { PageContext pageContext = null; HttpSession session = null; JspWriter out = null; Object page = this; response.setContentType("text/html; charset=UTF-8"); session = pageContext.getSession(); out = pageContext.getOut(); out.write(" \n"); out.write("\t Sample Hello world page \n"); out.write(" \n"); out.write(" \r\n"); // Скриптлет 1 for (int i=0; i

Model View Controller (MVC) Model Модель отображаемых данных Controller Контроллер запроса пользователя View Шаблон представления данных 1. Получает или сохраняет модель в БД 2. Определяет нужное view и передает ему управление 3. Накладывает модель на шаблон представления

Model View Controller в Web-приложении Model Модель отображаемых данных Controller Контроллер запроса пользователя View Шаблон представления данных - Java beans классы -классы с get/set методами) - Java Server pages или - XSLT или - Velocity - … - Java классы приложения Front Controller Диспетчер запросов от пользователей Controller Контроллер запроса пользователя Controller Контроллеры конкретных запросов - DispatcherServlet (всегда один) View Шаблон представления данных View Шаблоны представления данных Model Модель отображаемых данных Model Модель отображаемых данных Services Сервисы приложения Services Сервисы приложения Services Сервисы приложения - Java классы с логикой приложения 1. HTTP-запрос 2. Ищет конкретный контроллер и передает ему управление 3. Получает данные из БД 4. Заполняет модель данными 5. Выбирает нужное view и передает ему модель и управление 6. Накладывает модель на шаблон, получая HTML-страницу

Архитектура слоев приложения UI Layer Слой интерфейса пользователя отвечает за взаимодействие с пользователем ViewsControllers Service Layer Слой сервисов приложения отвечает за выполнение бизнес- логики приложения Services Data Access Layer Отвечает за работу приложения с БД Data Access Objects (DAOs) Domain Model Объектная модель данных приложения Domain entities X X