Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
web-programmirovanie_uchebnoe_posobie.pdf
Скачиваний:
95
Добавлен:
09.02.2015
Размер:
4.9 Mб
Скачать

Учебное пособие по web-программированию (2013)

PKCS12 -validity 999 -keysize 512

Шаг 5. Затем необходимо поместить публичный ключ в доверенное хранилище (truststore) сервера. Для этого необходимо экспоровать его из полученного хранилища (myclientstore) в файл clientcert:

Необходимо ввести в консоли следующую комманду:

> keytool -export -alias client -keyalg RSA -keystore myclientstore -storetype PKCS12 -file clientcert

Шаг 6. Полученный файл необходимо импортировать в новое хранилище для сервера (это и будет truststore):

Необходимо ввести в консоли комманду

> keytool -import -alias client -keyalg RSA -keystore mytruststore -storetype JKS - file clientcert

Будет задан вопрос

Enter keystore password: mytruststorepassword

Необходимо ввести пароль, указанный ранее.

Шаг 7. Все сгенерированные файлы необходимо положить в корень Apache Tomcat. Теперь можно воспользоваться HTTPS-доступом к страницам сервера и прописать соответствующий доступ в дескрипторе развёртывания web.xml (рисунок 6.6). И сравните с соответствующей строчкой в рисунке 6.1.

Рисунок 6.6.

Подробнее с данной темой можно ознакомиться по адресу: http://habrahabr.ru/post/134453/

Тема 7. Введение в JSP

Основы построения JSP-приложений, жизненный цикл JSP, элементы страниц и директивы JSP.

Пример стандартного взаимодействия с JSP страницей приведён на рисунке 7.1. Браузер обращается к JSP-странице, которая скрывает работу с JavaBeans, Tags, Custom Tags и т.п.

-35-

Учебное пособие по web-программированию (2013)

Рисунок 7.1.

Дополнительную информацию можно найти по адресу: http://www.tutorialspoint.com/jsp/jsp_architecture.htm

Преимущества JSP:

Отделение логики от отображения

с использованием JavaBeans

Использование повторно используемых компонентов

Упрощённая разработка web-страниц

Доступ к JavaBeans

Перед разработчиками встаёт вопрос: когда использовать JSP, а когда

сервлеты:

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

Сервлеты удобно использовать при манипулировании данными, например, при обработке изображений

При обращении пользователя к JSP-странице движок JSP выполняет следующие действия:

Разбор JSP

Создание кода сервлета

Компиляция сервлета в класс

Создание экземпляра сервлета

Вцелом жизненный цикл JSP состоит из следующих шагов:

Трансляция

jspInit()

_jspService()

jspDestroy()

Компиляция

Исполнение

Дополнительную информацию можно найти по адресу: http://www.tutorialspoint.com/jsp/jsp_life_cycle.htm

-36-

Учебное пособие по web-программированию (2013)

Основные элементы, с помощью которых строится JSP-страница

1. JSP-выражения

Формат: <%= Java-выражение %>

Пример: <%=Math.PI%>

2. Скриплеты

Формат: <% Фрагмент java-кода %> Пример:

<%

int x = 1; while(x < 100)

x *= x + 1; out.println("x! = " + x); %>

3. Определения

Формат: <%! Java-определение !%> Пример:

<%! int x = 5, y = 0; !%>

<%! private String value = "serge"; !%>

4. Комментарии Формат:

<%-- Комментарии --%> <!-- Комментарии --> Пример:

<%-- JSP-комментарии, которые не копируются в сервлет или в поток вывода --

%>

<!-- HTML-комментарии, которые видны на клиентской стороне →

5. Директивы page

<%@ page import="java.io.*,java.util.*" %>

позволяет использовать классы из пакетов (рисунок 7.2)

Рисунок 7.2.

-37-

Учебное пособие по web-программированию (2013)

include

<%@ include file="login.jsp" %>

позволяет «включить» страницу в страницу (рисунок 7.3)

Рисунок 7.3.

taglib

<%@ taglib uri="http://mytags.ru/tags" prefix="public" %>

определяет библиотеку тегов

6. Действия Перенаправление — forward <jsp:forward page="local url">

<jsp:forward page="/servlet/login">

Включение — include <jsp:include page="local url"> <jsp:include page="/login.jsp">

Дополнительную информацию можно найти по адресу: http://www.tutorialspoint.com/jsp/jsp_syntax.htm

Тема 8. Встроенные объекты JSP

Встроенные объекты JSP, обеспечивающие ввод-вывод информации, обработку запросов, работы с сессией, параметрами приложения, контекстом, конфигурацией, исключительными ситуациями.

Встроенные объекты загружаются внутри web-контейнера. Имена встроенных объектов — зарезервированные слова в JSP.

Типы встроенных объектов:

Объекты ввода-вывода: request, response, out

-38-

Учебное пособие по web-программированию (2013)

Объекты взаимодействия и управления

Объекты сервлета

Исключительные ситуации

exception

<%@ page isErrorPage="true"%>

Объект request (класс запроса тот же, что и в сервлете) поддерживает следующие методы:

String getParameter(String name)

-получение параметра по имени

Enumeration getParameterNames()

-получение имён всех параметров

void setAttribute(String name, Object value)

-установка значения атрибута

Object getAttribute(String name)

-получение значения атрибута

String getRemoteHost()

-получение имени удалённого компьютера

String getRemoteAddr()

-получение адреса удалённого компьютера

Объект response (класс запроса тот же, что и в сервлете) поддерживает следующие методы:

void addCookie(Cookie cookie)

-добавление Cookie

void sendRedirect(String url)

-перенаправление на URL

String encodeURL(String url)

-перекодировка URL

void encodeRedirectURL(String url)

-перекодировка и перенаправление на URL

Объект out поддерживает следующие методы:

void flush()

-закончить вывод информации в поток вывода (на страницу)

void clear()

-очистить

void close()

-закрыть поток вывода

void print(String text)

-вывести текст без перевода каретки

void println(String text)

-вывести текст с переводом каретки (обращаю Ваше внимание, что в HTML для отображения текста на новой строке необходимо использовать тег <br>, а обычный перевод каретки влияет только на читаемость HTML-кода)

В данном случае использование print или println — это забота о программисте, который будет искать ошибки в полученной на клиенте HTML-странице.

-39-

Учебное пособие по web-программированию (2013)

Объект session (класс запроса тот же, что и в сервлете) поддерживает следующие методы:

boolean isNew()

-проверка, что сессия является новой

void setAttribute(String name, Object value)

-установка значения атрибута в сессии

Object getAttribute(String name)

-получение значения атрибута из сессии

Enumeration getAttributeNames()

-получение всех имён атрибутов

void invalidate()

-деактивация сессии (используется для защиты данных, вводимых пользователем: когда пользователь прекращает работать с сессией её разумно деактивировать)

void removeAttribute(String name)

-удаление атрибута

Объект application (класс запроса тот же, что и в сервлете) поддерживает следующие методы:

Object getAttribute(String name)

-получение значения атрибута из приложения

void setAttribute(String name, Object value)

-установка значения атрибута в приложение

Enumeration getAttributeNames()

-получение имён всех атрибутов

void removeAttribute(String name)

-удаление атрибута

String getServerInfo()

-получение информации о сервере

void log(String message)

-вывод информации в журнал сервера

Объект pageContext (класс javax.servlet.jsp.PageContext) содержит следующие константы и методы:

Константы (не требуют комментариев)

PAGE_SCOPE

REQUEST_SCOPE

SESSION_SCOPE

APPLICATION_SCOPE

Методы

void setAttribute(String name, Object value, int scope)

-установка значения атрибута в заданной области видимости

Object getAttribute(String name, int scope)

-получение значения атрибута в заданной области видимости

Enumeration getAttributeNamesInScope(int scope)

-получение всех имён атрибутов в заданной области видимости

Объект config (класс javax.servlet.ServletConfig) поддерживает следующие методы:

-40-

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]