SlideShare a Scribd company logo
Java Server Pages
JSP
JSP (JavaServer Pages) —
технология, позволяющая веб-
разработчикам создавать
содержимое, которое имеет как
статические, так и
динамические компоненты.
JSP
JSP позволяет отделить
динамическую часть страниц от
статического HTML.
JSP
Страница JSP содержит текст
двух типов: статические исходные
данные, которые могут быть
оформлены в одном из текстовых
форматов HTML, SVG, WML, или
XML, и JSP- элементы, которые
конструируют динамическое
содержимое.
JSP
Кроме этого могут
использоваться библиотеки
JSP-тегов, а также EL
(Expression Language), для
внедрения Java-кода в
статичное содержимое JSP-
страниц.
JSP
Код JSP-страницы
транслируется в Java-код
сервлета с помощью
компилятора JSP-страниц
Jasper, и затем компилируется в
байт-код виртуальной машины
java (JVM).
JSP жизненный цикл
JSP
Контейнер сервлетов,
выполняет JSP-страницу как
сервлет.
JSP
Динамическая часть кода
заключается в специальные
таги, большинство которых
начинаются с "<%" и
завершаются "%>".
JSP
JSP страницы имеют
расширение .jsp и размещаются
там же, где и обычные Web-
страницы.
Скриптовые элементы
Спецификация JSP различает
три типа скриптовых
элементов:
Объявления
Выражения
Скриплеты
Объявления JSP
<%! private int accessCount = 0; %>
Объявления JSP позволят вам
задавать переменные, методы,
внутренние классы и так далее.
Выражения JSP
Текущее время: <%= new java.util.Date() %>
Хост: <%= request.getRemoteHost() %>
Выражения JSP применяются
для того, чтобы вставить
значения Java непосредственно
в вывод.
Выражения JSP
Необходимо обратить внимание на три
правила:
JSP выражения должны в себе содержать
выражения Java;
каждое JSP выражение должно содержать
только одно выражение Java;
выражения JSP не должны заканчиваться
точкой с запятой (;), в отличие от Java
объявлений.
Скриплеты JSP
Скриплеты JSP дают
возможность вставить любой
код в метод сервлета, который
будет создан при обработке
страницы, позволяя
использовать большинство
конструкций Java.
Директивы JSP
<%@ page import=”java.util.*,
ua.step.*” buffer=”15kb” %>
JSP страница может послать
сообщение соответствующему
контейнеру с указаниями действий,
которые необходимо провести.
Директивы JSP
Import = "пакет.class1,
пакет.class2, ..., пакет.classN".
Позволяет вам задать пакеты или
классы, которые должны быть
импортированы.
Директивы JSP
language="java". Данный атрибут
предназначен для задания
используемого языка
программирования.
По умолчанию принимается
значение "java"
Директивы JSP
extends="пакет.class"
Задаёт суперкласс (родительский
класс) для генерируемого сервлета.
Директивы JSP
session="true"
Данный атрибут может принимать
значение true или false, которые
определяют принимает ли участие
JSP страница в трансляции HTTP.
Директивы JSP
buffer="размерkb|none"
Данный атрибут задаёт объём
буферной памяти, необходимой
для объекта JspWriter, на который
ссылается заранее определённая
переменная out
Директивы JSP
autoflush="true|false"
Значение true («истина»,
принимаемое по умолчанию)
устанавливает, что при
переполнении буферной памяти
он автоматически очистится.
Директивы JSP
isThreadSafe="true|false"
Задаёт нормальный режим
выполнения сервлета, когда
множественные запросы
обрабатываются одновременно с
использованием одного экземпляра
сервлета.
Директивы JSP
info="информация"
Задаёт строку, которая может быть
получена при использовании
метода Servlet.getServletInfo().
Обычно этот метод возвращает
информацию о сервлете
(например, авторе, версии и
авторских правах).
Директивы JSP
errorPage="url"
Задаёт JSP страницу, которая
вызывается в случае
возникновения каких-либо
исключительных ситуаций.
Директивы JSP
isErrorPage="true|false"
Данный атрибут может принимать
значения true или false.
Сигнализирует о том, может ли эта
страница использоваться для
обработки ошибок для других JSP
страниц или нет.
Директивы JSP
contentType="MIME-Тип"
Данный атрибут задаёт тип MIME
для вывода и по желанию можно
задать кодировку знаков в ответе
(HTML ответе). По умолчанию в
качестве значения MIME
используется text/html.
Директивы JSP
<%@ include file="url" %>
Эта директива позволяет Вам
включать файлы в сервлет в
процессе трансляции JSP
страницы.
Директива JSP taglib
<%@ taglib uri=”URI к библиотеке
знаков” prefix=“префикс знака“
%>
Расширяет библиотеку знаков
которые может транслировать JSP
контейнер.
Действия JSP
Действия JSP используют конструкции с
синтаксисом XML для управления
работой движка сервлета. Вы можете
динамически подключать файл,
многократно использовать компоненты
JavaBeans, направить пользователя на
другую страницу или сгенерировать
HTML для Java plugin.
Действия JSP
jsp:declaration — Объявление,
аналогичен тегу <%! … %>;
jsp:scriptlet — Скриптлет, аналогичен
тегу <% … %>;
jsp:expression — Выражение,
аналогичен тегу <%= … %>;
sp:text — Вывод текста;
jsp:useBean — Поиск или создание
нового экземпляра JavaBean;
Действия JSP
jsp:setProperty — Установка свойств
JavaBean;
jsp:getProperty — Вставить свойство
JavaBean в поток вывода;
jsp:include — Подключает файл в
момент запроса страницы;
jsp:forward — Перенаправляет запрос
на другую страницу;
Действия JSP
jsp:param — Добавляет параметры в
объект запроса, например в элементах
forward, include, plugin.;
jsp:plugin — Генерирует код (в
зависимости от типа используемого
браузера), который создаёт тег OBJECT
или EMBED для Java plugin;
jsp:params — Группирует параметры
внутри тега jsp:plugin;
j
Действия JSP
jsp:fallback — Указывает содержимое,
которое будет использоваться
браузером клиента, если
подключаемый модуль не сможет
запуститься. Используется внутри
элемента plugin.
Действие jsp:useBean
<jsp:useBean
id="имя бина"
class=«полное имя класса"
/>
JSP
JavaBean
JavaBeans — классы в языке
Java, написанные по
определённым правилам.
Используются для объединения
нескольких объектов в один для
удобной передачи данных.
JavaBean
Спецификация Sun Microsystems
определяет JavaBeans как
повторно используемые
программные компоненты,
которыми можно управлять,
используя графические
конструкторы и средства IDE.
JavaBean
Одна из целей создания
JavaBeans — взаимодействие с
похожими компонентными
структурами.
JavaBean
Одна из целей создания
JavaBeans — взаимодействие с
похожими компонентными
структурами.
Правила описания JavaBean
1. Класс должен иметь конструктор
без параметров, с модификатором
доступа public. Такой конструктор
позволяет инструментам создать
объект без дополнительных
сложностей с параметрами.
Правила описания JavaBean
2.Свойства класса должны быть
доступны через get, set и другие
методы, которые должны
подчиняться стандартному
соглашению об именах. Это легко
позволяет инструментам
автоматически определять и
обновлять содержание bean’ов.
Правила описания JavaBean
3.Класс должен быть сериализуем.
Это даёт возможность надёжно
сохранять, хранить и
восстанавливать состояние bean
независимым от платформы и
виртуальной машины способом.
Правила описания JavaBean
4.Класс должен иметь
переопределенные методы
equals(), hashCode() и toString().
Expression Language
Expression Language (EL) —
скриптовый язык выражений,
который позволяет получить
доступ к Java компонентам
(JavaBeans) из JSP.
Начиная с JSP 2.0 используется внутри JSP
тегов для отделения Java кода от JSP для
обеспечения лёгкого доступа к Java
компонентам.

More Related Content

What's hot

Industrial Programming Java - Lection Pack 03 - Relational Databases - Lavren...
Industrial Programming Java - Lection Pack 03 - Relational Databases - Lavren...Industrial Programming Java - Lection Pack 03 - Relational Databases - Lavren...
Industrial Programming Java - Lection Pack 03 - Relational Databases - Lavren...
Fedor Lavrentyev
 
Введение в сетевые технологии
Введение в сетевые технологииВведение в сетевые технологии
Введение в сетевые технологии
Unguryan Vitaliy
 
RAD на Java: как устроена CUBA Platform?
RAD на Java: как устроена  CUBA Platform?RAD на Java: как устроена  CUBA Platform?
RAD на Java: как устроена CUBA Platform?
Aleksey Stukalov
 
Jdbc in java
Jdbc in javaJdbc in java
Jdbc in java
Asya Dudnik
 
Java осень 2014 занятие 8
Java осень 2014 занятие 8Java осень 2014 занятие 8
Java осень 2014 занятие 8
Technopark
 
Документирование исходных текстов (javadoc)
Документирование исходных текстов (javadoc)Документирование исходных текстов (javadoc)
Документирование исходных текстов (javadoc)
Fedor Malyshkin
 
C++ STL & Qt. Занятие 02.
C++ STL & Qt. Занятие 02.C++ STL & Qt. Занятие 02.
C++ STL & Qt. Занятие 02.
Igor Shkulipa
 
Java. Многопоточность.
Java. Многопоточность.Java. Многопоточность.
Java. Многопоточность.
Unguryan Vitaliy
 
C++ STL & Qt. Занятие 07.
C++ STL & Qt. Занятие 07.C++ STL & Qt. Занятие 07.
C++ STL & Qt. Занятие 07.
Igor Shkulipa
 
Ввведение в java
Ввведение в javaВвведение в java
Ввведение в java
Unguryan Vitaliy
 
C++ STL & Qt. Занятие 05.
C++ STL & Qt. Занятие 05.C++ STL & Qt. Занятие 05.
C++ STL & Qt. Занятие 05.
Igor Shkulipa
 
C++ STL & Qt. Занятие 01.
C++ STL & Qt. Занятие 01.C++ STL & Qt. Занятие 01.
C++ STL & Qt. Занятие 01.
Igor Shkulipa
 
Курс Java-2016. Занятие 08. Итераторы, многопоточность
Курс Java-2016. Занятие 08. Итераторы, многопоточностьКурс Java-2016. Занятие 08. Итераторы, многопоточность
Курс Java-2016. Занятие 08. Итераторы, многопоточность
7bits
 
Продвинутое использование Celery — Александр Кошелев
Продвинутое использование Celery — Александр КошелевПродвинутое использование Celery — Александр Кошелев
Продвинутое использование Celery — Александр Кошелев
Yandex
 
Инструмент для нагрузочного тестирования Tsung (Артём Калантай)
Инструмент для нагрузочного тестирования Tsung (Артём Калантай)Инструмент для нагрузочного тестирования Tsung (Артём Калантай)
Инструмент для нагрузочного тестирования Tsung (Артём Калантай)Ontico
 
Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...
Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...
Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...
Timur Shemsedinov
 
Нагрузочное тестирование JMeter Кожухов
Нагрузочное тестирование JMeter КожуховНагрузочное тестирование JMeter Кожухов
Нагрузочное тестирование JMeter КожуховИлья Кожухов
 
МАИ, Сети ЭВМ, Лекция №7
МАИ, Сети ЭВМ, Лекция №7МАИ, Сети ЭВМ, Лекция №7
МАИ, Сети ЭВМ, Лекция №7
Dima Dzuba
 
JMeter и OutOfMemory. Исследовательский доклад
JMeter и OutOfMemory. Исследовательский докладJMeter и OutOfMemory. Исследовательский доклад
JMeter и OutOfMemory. Исследовательский доклад
SQALab
 
Windows Azure and node js
Windows Azure and node jsWindows Azure and node js
Windows Azure and node js
Alex Tumanoff
 

What's hot (20)

Industrial Programming Java - Lection Pack 03 - Relational Databases - Lavren...
Industrial Programming Java - Lection Pack 03 - Relational Databases - Lavren...Industrial Programming Java - Lection Pack 03 - Relational Databases - Lavren...
Industrial Programming Java - Lection Pack 03 - Relational Databases - Lavren...
 
Введение в сетевые технологии
Введение в сетевые технологииВведение в сетевые технологии
Введение в сетевые технологии
 
RAD на Java: как устроена CUBA Platform?
RAD на Java: как устроена  CUBA Platform?RAD на Java: как устроена  CUBA Platform?
RAD на Java: как устроена CUBA Platform?
 
Jdbc in java
Jdbc in javaJdbc in java
Jdbc in java
 
Java осень 2014 занятие 8
Java осень 2014 занятие 8Java осень 2014 занятие 8
Java осень 2014 занятие 8
 
Документирование исходных текстов (javadoc)
Документирование исходных текстов (javadoc)Документирование исходных текстов (javadoc)
Документирование исходных текстов (javadoc)
 
C++ STL & Qt. Занятие 02.
C++ STL & Qt. Занятие 02.C++ STL & Qt. Занятие 02.
C++ STL & Qt. Занятие 02.
 
Java. Многопоточность.
Java. Многопоточность.Java. Многопоточность.
Java. Многопоточность.
 
C++ STL & Qt. Занятие 07.
C++ STL & Qt. Занятие 07.C++ STL & Qt. Занятие 07.
C++ STL & Qt. Занятие 07.
 
Ввведение в java
Ввведение в javaВвведение в java
Ввведение в java
 
C++ STL & Qt. Занятие 05.
C++ STL & Qt. Занятие 05.C++ STL & Qt. Занятие 05.
C++ STL & Qt. Занятие 05.
 
C++ STL & Qt. Занятие 01.
C++ STL & Qt. Занятие 01.C++ STL & Qt. Занятие 01.
C++ STL & Qt. Занятие 01.
 
Курс Java-2016. Занятие 08. Итераторы, многопоточность
Курс Java-2016. Занятие 08. Итераторы, многопоточностьКурс Java-2016. Занятие 08. Итераторы, многопоточность
Курс Java-2016. Занятие 08. Итераторы, многопоточность
 
Продвинутое использование Celery — Александр Кошелев
Продвинутое использование Celery — Александр КошелевПродвинутое использование Celery — Александр Кошелев
Продвинутое использование Celery — Александр Кошелев
 
Инструмент для нагрузочного тестирования Tsung (Артём Калантай)
Инструмент для нагрузочного тестирования Tsung (Артём Калантай)Инструмент для нагрузочного тестирования Tsung (Артём Калантай)
Инструмент для нагрузочного тестирования Tsung (Артём Калантай)
 
Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...
Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...
Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...
 
Нагрузочное тестирование JMeter Кожухов
Нагрузочное тестирование JMeter КожуховНагрузочное тестирование JMeter Кожухов
Нагрузочное тестирование JMeter Кожухов
 
МАИ, Сети ЭВМ, Лекция №7
МАИ, Сети ЭВМ, Лекция №7МАИ, Сети ЭВМ, Лекция №7
МАИ, Сети ЭВМ, Лекция №7
 
JMeter и OutOfMemory. Исследовательский доклад
JMeter и OutOfMemory. Исследовательский докладJMeter и OutOfMemory. Исследовательский доклад
JMeter и OutOfMemory. Исследовательский доклад
 
Windows Azure and node js
Windows Azure and node jsWindows Azure and node js
Windows Azure and node js
 

Similar to JSP

servlets.pdf
servlets.pdfservlets.pdf
servlets.pdf
ssuser0562f1
 
servlets1.pdf
servlets1.pdfservlets1.pdf
servlets1.pdf
ssuser0562f1
 
Baseof servletsjava intro
Baseof servletsjava introBaseof servletsjava intro
Baseof servletsjava introalexey1991
 
Стажировка-2015. Разработка. Занятие 3. Серверные Java-приложения
Стажировка-2015. Разработка. Занятие 3. Серверные Java-приложенияСтажировка-2015. Разработка. Занятие 3. Серверные Java-приложения
Стажировка-2015. Разработка. Занятие 3. Серверные Java-приложения7bits
 
Web Interface
Web InterfaceWeb Interface
Web Interfacescassau
 
The Old New ASP.NET
The Old New ASP.NETThe Old New ASP.NET
The Old New ASP.NET
Vitaly Baum
 
Курс Java-2016. Занятие 13. Spring
Курс Java-2016. Занятие 13. SpringКурс Java-2016. Занятие 13. Spring
Курс Java-2016. Занятие 13. Spring
7bits
 
08-170327133157.pdf
08-170327133157.pdf08-170327133157.pdf
08-170327133157.pdf
ssuser0562f1
 
Java весна 2014 лекция 2
Java весна 2014 лекция 2Java весна 2014 лекция 2
Java весна 2014 лекция 2Technopark
 
Drupal 7 и history.js или как ajax инфицировать сайт
Drupal 7 и history.js или как ajax инфицировать сайтDrupal 7 и history.js или как ajax инфицировать сайт
Drupal 7 и history.js или как ajax инфицировать сайтDrupalCamp Kyiv Рысь
 
Drupal 7 and History.js
Drupal 7 and History.jsDrupal 7 and History.js
Drupal 7 and History.js
Вадим Малай
 
Tapestry it is simple
Tapestry it is simpleTapestry it is simple
Tapestry it is simple
Anna Shymchenko
 
использование Hibernate java persistence.part 1.
использование Hibernate java persistence.part 1.использование Hibernate java persistence.part 1.
использование Hibernate java persistence.part 1.
Asya Dudnik
 
Новости Global summit 2015
Новости Global summit 2015Новости Global summit 2015
Новости Global summit 2015
Timur Safin
 
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
Andrey Rebrov
 
Bloch, bodoff руководство. сервлеты
Bloch, bodoff   руководство. сервлетыBloch, bodoff   руководство. сервлеты
Bloch, bodoff руководство. сервлетыalexey1991
 
Основы Java. 5. Databases
Основы Java. 5. DatabasesОсновы Java. 5. Databases
Основы Java. 5. Databases
Sergey Nemchinsky
 
Средства разработки web приложений (Web frameworks)
Средства разработки web приложений
(Web frameworks)Средства разработки web приложений
(Web frameworks)
Средства разработки web приложений (Web frameworks)
Fedor Malyshkin
 
#6 "Изоморфный фреймворк Catberry.js" Денис Речкунов
#6 "Изоморфный фреймворк Catberry.js" Денис Речкунов#6 "Изоморфный фреймворк Catberry.js" Денис Речкунов
#6 "Изоморфный фреймворк Catberry.js" Денис Речкунов
JSib
 
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgДело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
IT61
 

Similar to JSP (20)

servlets.pdf
servlets.pdfservlets.pdf
servlets.pdf
 
servlets1.pdf
servlets1.pdfservlets1.pdf
servlets1.pdf
 
Baseof servletsjava intro
Baseof servletsjava introBaseof servletsjava intro
Baseof servletsjava intro
 
Стажировка-2015. Разработка. Занятие 3. Серверные Java-приложения
Стажировка-2015. Разработка. Занятие 3. Серверные Java-приложенияСтажировка-2015. Разработка. Занятие 3. Серверные Java-приложения
Стажировка-2015. Разработка. Занятие 3. Серверные Java-приложения
 
Web Interface
Web InterfaceWeb Interface
Web Interface
 
The Old New ASP.NET
The Old New ASP.NETThe Old New ASP.NET
The Old New ASP.NET
 
Курс Java-2016. Занятие 13. Spring
Курс Java-2016. Занятие 13. SpringКурс Java-2016. Занятие 13. Spring
Курс Java-2016. Занятие 13. Spring
 
08-170327133157.pdf
08-170327133157.pdf08-170327133157.pdf
08-170327133157.pdf
 
Java весна 2014 лекция 2
Java весна 2014 лекция 2Java весна 2014 лекция 2
Java весна 2014 лекция 2
 
Drupal 7 и history.js или как ajax инфицировать сайт
Drupal 7 и history.js или как ajax инфицировать сайтDrupal 7 и history.js или как ajax инфицировать сайт
Drupal 7 и history.js или как ajax инфицировать сайт
 
Drupal 7 and History.js
Drupal 7 and History.jsDrupal 7 and History.js
Drupal 7 and History.js
 
Tapestry it is simple
Tapestry it is simpleTapestry it is simple
Tapestry it is simple
 
использование Hibernate java persistence.part 1.
использование Hibernate java persistence.part 1.использование Hibernate java persistence.part 1.
использование Hibernate java persistence.part 1.
 
Новости Global summit 2015
Новости Global summit 2015Новости Global summit 2015
Новости Global summit 2015
 
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
 
Bloch, bodoff руководство. сервлеты
Bloch, bodoff   руководство. сервлетыBloch, bodoff   руководство. сервлеты
Bloch, bodoff руководство. сервлеты
 
Основы Java. 5. Databases
Основы Java. 5. DatabasesОсновы Java. 5. Databases
Основы Java. 5. Databases
 
Средства разработки web приложений (Web frameworks)
Средства разработки web приложений
(Web frameworks)Средства разработки web приложений
(Web frameworks)
Средства разработки web приложений (Web frameworks)
 
#6 "Изоморфный фреймворк Catberry.js" Денис Речкунов
#6 "Изоморфный фреймворк Catberry.js" Денис Речкунов#6 "Изоморфный фреймворк Catberry.js" Денис Речкунов
#6 "Изоморфный фреймворк Catberry.js" Денис Речкунов
 
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgДело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
 

More from Unguryan Vitaliy

Модульное тестирование.
Модульное тестирование. Модульное тестирование.
Модульное тестирование.
Unguryan Vitaliy
 
Stream API
Stream APIStream API
Stream API
Unguryan Vitaliy
 
Архитектурный шаблон MVC
Архитектурный шаблон MVCАрхитектурный шаблон MVC
Архитектурный шаблон MVC
Unguryan Vitaliy
 
Работа в команде, управление программными проектами
Работа в команде, управление программными проектамиРабота в команде, управление программными проектами
Работа в команде, управление программными проектами
Unguryan Vitaliy
 
Системы контроля версий
Системы контроля версийСистемы контроля версий
Системы контроля версий
Unguryan Vitaliy
 
Принципы SOLID
Принципы SOLIDПринципы SOLID
Принципы SOLID
Unguryan Vitaliy
 
Парадигма объектно-ориентированного программирования.
Парадигма объектно-ориентированного программирования.Парадигма объектно-ориентированного программирования.
Парадигма объектно-ориентированного программирования.
Unguryan Vitaliy
 
Введение в язык программирования «Java»
Введение в язык программирования «Java»Введение в язык программирования «Java»
Введение в язык программирования «Java»
Unguryan Vitaliy
 
Шаблоны проектирования GoF
Шаблоны проектирования GoFШаблоны проектирования GoF
Шаблоны проектирования GoF
Unguryan Vitaliy
 
Spring AOP
Spring AOPSpring AOP
Spring AOP
Unguryan Vitaliy
 
XML
XMLXML
Рефлексия в java
Рефлексия в javaРефлексия в java
Рефлексия в java
Unguryan Vitaliy
 
Аннотации в java
Аннотации в javaАннотации в java
Аннотации в java
Unguryan Vitaliy
 
java 8
java 8java 8
Java. Работа с файловой системой. Потоки ввода-вывода.
Java. Работа с файловой системой. Потоки ввода-вывода.Java. Работа с файловой системой. Потоки ввода-вывода.
Java. Работа с файловой системой. Потоки ввода-вывода.
Unguryan Vitaliy
 
Java. Интерфейс Reference - типы ссылок
Java. Интерфейс Reference -  типы ссылокJava. Интерфейс Reference -  типы ссылок
Java. Интерфейс Reference - типы ссылок
Unguryan Vitaliy
 
Java. Интерфейс Queue - очередь
Java. Интерфейс Queue - очередьJava. Интерфейс Queue - очередь
Java. Интерфейс Queue - очередь
Unguryan Vitaliy
 
Java. Интерфейс Map - ассоциативные массивы.
Java. Интерфейс Map - ассоциативные массивы.Java. Интерфейс Map - ассоциативные массивы.
Java. Интерфейс Map - ассоциативные массивы.
Unguryan Vitaliy
 
Java. Интерфейс Set - наборы (множества) и его реализации.
Java. Интерфейс Set - наборы (множества) и его реализации.Java. Интерфейс Set - наборы (множества) и его реализации.
Java. Интерфейс Set - наборы (множества) и его реализации.
Unguryan Vitaliy
 
List - списки
List - списки List - списки
List - списки
Unguryan Vitaliy
 

More from Unguryan Vitaliy (20)

Модульное тестирование.
Модульное тестирование. Модульное тестирование.
Модульное тестирование.
 
Stream API
Stream APIStream API
Stream API
 
Архитектурный шаблон MVC
Архитектурный шаблон MVCАрхитектурный шаблон MVC
Архитектурный шаблон MVC
 
Работа в команде, управление программными проектами
Работа в команде, управление программными проектамиРабота в команде, управление программными проектами
Работа в команде, управление программными проектами
 
Системы контроля версий
Системы контроля версийСистемы контроля версий
Системы контроля версий
 
Принципы SOLID
Принципы SOLIDПринципы SOLID
Принципы SOLID
 
Парадигма объектно-ориентированного программирования.
Парадигма объектно-ориентированного программирования.Парадигма объектно-ориентированного программирования.
Парадигма объектно-ориентированного программирования.
 
Введение в язык программирования «Java»
Введение в язык программирования «Java»Введение в язык программирования «Java»
Введение в язык программирования «Java»
 
Шаблоны проектирования GoF
Шаблоны проектирования GoFШаблоны проектирования GoF
Шаблоны проектирования GoF
 
Spring AOP
Spring AOPSpring AOP
Spring AOP
 
XML
XMLXML
XML
 
Рефлексия в java
Рефлексия в javaРефлексия в java
Рефлексия в java
 
Аннотации в java
Аннотации в javaАннотации в java
Аннотации в java
 
java 8
java 8java 8
java 8
 
Java. Работа с файловой системой. Потоки ввода-вывода.
Java. Работа с файловой системой. Потоки ввода-вывода.Java. Работа с файловой системой. Потоки ввода-вывода.
Java. Работа с файловой системой. Потоки ввода-вывода.
 
Java. Интерфейс Reference - типы ссылок
Java. Интерфейс Reference -  типы ссылокJava. Интерфейс Reference -  типы ссылок
Java. Интерфейс Reference - типы ссылок
 
Java. Интерфейс Queue - очередь
Java. Интерфейс Queue - очередьJava. Интерфейс Queue - очередь
Java. Интерфейс Queue - очередь
 
Java. Интерфейс Map - ассоциативные массивы.
Java. Интерфейс Map - ассоциативные массивы.Java. Интерфейс Map - ассоциативные массивы.
Java. Интерфейс Map - ассоциативные массивы.
 
Java. Интерфейс Set - наборы (множества) и его реализации.
Java. Интерфейс Set - наборы (множества) и его реализации.Java. Интерфейс Set - наборы (множества) и его реализации.
Java. Интерфейс Set - наборы (множества) и его реализации.
 
List - списки
List - списки List - списки
List - списки
 

JSP

  • 2.
  • 3. JSP JSP (JavaServer Pages) — технология, позволяющая веб- разработчикам создавать содержимое, которое имеет как статические, так и динамические компоненты.
  • 4. JSP JSP позволяет отделить динамическую часть страниц от статического HTML.
  • 5. JSP Страница JSP содержит текст двух типов: статические исходные данные, которые могут быть оформлены в одном из текстовых форматов HTML, SVG, WML, или XML, и JSP- элементы, которые конструируют динамическое содержимое.
  • 6. JSP Кроме этого могут использоваться библиотеки JSP-тегов, а также EL (Expression Language), для внедрения Java-кода в статичное содержимое JSP- страниц.
  • 7. JSP Код JSP-страницы транслируется в Java-код сервлета с помощью компилятора JSP-страниц Jasper, и затем компилируется в байт-код виртуальной машины java (JVM).
  • 10. JSP Динамическая часть кода заключается в специальные таги, большинство которых начинаются с "<%" и завершаются "%>".
  • 11. JSP JSP страницы имеют расширение .jsp и размещаются там же, где и обычные Web- страницы.
  • 12. Скриптовые элементы Спецификация JSP различает три типа скриптовых элементов: Объявления Выражения Скриплеты
  • 13. Объявления JSP <%! private int accessCount = 0; %> Объявления JSP позволят вам задавать переменные, методы, внутренние классы и так далее.
  • 14. Выражения JSP Текущее время: <%= new java.util.Date() %> Хост: <%= request.getRemoteHost() %> Выражения JSP применяются для того, чтобы вставить значения Java непосредственно в вывод.
  • 15. Выражения JSP Необходимо обратить внимание на три правила: JSP выражения должны в себе содержать выражения Java; каждое JSP выражение должно содержать только одно выражение Java; выражения JSP не должны заканчиваться точкой с запятой (;), в отличие от Java объявлений.
  • 16. Скриплеты JSP Скриплеты JSP дают возможность вставить любой код в метод сервлета, который будет создан при обработке страницы, позволяя использовать большинство конструкций Java.
  • 17. Директивы JSP <%@ page import=”java.util.*, ua.step.*” buffer=”15kb” %> JSP страница может послать сообщение соответствующему контейнеру с указаниями действий, которые необходимо провести.
  • 18. Директивы JSP Import = "пакет.class1, пакет.class2, ..., пакет.classN". Позволяет вам задать пакеты или классы, которые должны быть импортированы.
  • 19. Директивы JSP language="java". Данный атрибут предназначен для задания используемого языка программирования. По умолчанию принимается значение "java"
  • 20. Директивы JSP extends="пакет.class" Задаёт суперкласс (родительский класс) для генерируемого сервлета.
  • 21. Директивы JSP session="true" Данный атрибут может принимать значение true или false, которые определяют принимает ли участие JSP страница в трансляции HTTP.
  • 22. Директивы JSP buffer="размерkb|none" Данный атрибут задаёт объём буферной памяти, необходимой для объекта JspWriter, на который ссылается заранее определённая переменная out
  • 23. Директивы JSP autoflush="true|false" Значение true («истина», принимаемое по умолчанию) устанавливает, что при переполнении буферной памяти он автоматически очистится.
  • 24. Директивы JSP isThreadSafe="true|false" Задаёт нормальный режим выполнения сервлета, когда множественные запросы обрабатываются одновременно с использованием одного экземпляра сервлета.
  • 25. Директивы JSP info="информация" Задаёт строку, которая может быть получена при использовании метода Servlet.getServletInfo(). Обычно этот метод возвращает информацию о сервлете (например, авторе, версии и авторских правах).
  • 26. Директивы JSP errorPage="url" Задаёт JSP страницу, которая вызывается в случае возникновения каких-либо исключительных ситуаций.
  • 27. Директивы JSP isErrorPage="true|false" Данный атрибут может принимать значения true или false. Сигнализирует о том, может ли эта страница использоваться для обработки ошибок для других JSP страниц или нет.
  • 28. Директивы JSP contentType="MIME-Тип" Данный атрибут задаёт тип MIME для вывода и по желанию можно задать кодировку знаков в ответе (HTML ответе). По умолчанию в качестве значения MIME используется text/html.
  • 29. Директивы JSP <%@ include file="url" %> Эта директива позволяет Вам включать файлы в сервлет в процессе трансляции JSP страницы.
  • 30. Директива JSP taglib <%@ taglib uri=”URI к библиотеке знаков” prefix=“префикс знака“ %> Расширяет библиотеку знаков которые может транслировать JSP контейнер.
  • 31. Действия JSP Действия JSP используют конструкции с синтаксисом XML для управления работой движка сервлета. Вы можете динамически подключать файл, многократно использовать компоненты JavaBeans, направить пользователя на другую страницу или сгенерировать HTML для Java plugin.
  • 32. Действия JSP jsp:declaration — Объявление, аналогичен тегу <%! … %>; jsp:scriptlet — Скриптлет, аналогичен тегу <% … %>; jsp:expression — Выражение, аналогичен тегу <%= … %>; sp:text — Вывод текста; jsp:useBean — Поиск или создание нового экземпляра JavaBean;
  • 33. Действия JSP jsp:setProperty — Установка свойств JavaBean; jsp:getProperty — Вставить свойство JavaBean в поток вывода; jsp:include — Подключает файл в момент запроса страницы; jsp:forward — Перенаправляет запрос на другую страницу;
  • 34. Действия JSP jsp:param — Добавляет параметры в объект запроса, например в элементах forward, include, plugin.; jsp:plugin — Генерирует код (в зависимости от типа используемого браузера), который создаёт тег OBJECT или EMBED для Java plugin; jsp:params — Группирует параметры внутри тега jsp:plugin; j
  • 35. Действия JSP jsp:fallback — Указывает содержимое, которое будет использоваться браузером клиента, если подключаемый модуль не сможет запуститься. Используется внутри элемента plugin.
  • 37. JSP
  • 38. JavaBean JavaBeans — классы в языке Java, написанные по определённым правилам. Используются для объединения нескольких объектов в один для удобной передачи данных.
  • 39. JavaBean Спецификация Sun Microsystems определяет JavaBeans как повторно используемые программные компоненты, которыми можно управлять, используя графические конструкторы и средства IDE.
  • 40. JavaBean Одна из целей создания JavaBeans — взаимодействие с похожими компонентными структурами.
  • 41. JavaBean Одна из целей создания JavaBeans — взаимодействие с похожими компонентными структурами.
  • 42. Правила описания JavaBean 1. Класс должен иметь конструктор без параметров, с модификатором доступа public. Такой конструктор позволяет инструментам создать объект без дополнительных сложностей с параметрами.
  • 43. Правила описания JavaBean 2.Свойства класса должны быть доступны через get, set и другие методы, которые должны подчиняться стандартному соглашению об именах. Это легко позволяет инструментам автоматически определять и обновлять содержание bean’ов.
  • 44. Правила описания JavaBean 3.Класс должен быть сериализуем. Это даёт возможность надёжно сохранять, хранить и восстанавливать состояние bean независимым от платформы и виртуальной машины способом.
  • 45. Правила описания JavaBean 4.Класс должен иметь переопределенные методы equals(), hashCode() и toString().
  • 46. Expression Language Expression Language (EL) — скриптовый язык выражений, который позволяет получить доступ к Java компонентам (JavaBeans) из JSP. Начиная с JSP 2.0 используется внутри JSP тегов для отделения Java кода от JSP для обеспечения лёгкого доступа к Java компонентам.