Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Java_Промышленное программирование1.doc
Скачиваний:
175
Добавлен:
13.04.2015
Размер:
5.58 Mб
Скачать

Задания к главе 18 Вариант а

Создать сервлет и взаимодействующие с ним пакеты Java-классов и JSP-страницы, выполняющие следующие действия:

  1. Генерация таблиц по переданным параметрам: заголовок, количество строк и столбцов, цвет фона.

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

  3. Поиск слова, введенного пользователем. Поиск и определение частоты встречаемости осуществляется в текстовом файле, расположенном на сервере.

  4. Вычисление объемов тел (параллелепипед, куб, сфера, тетраэдр, тор, шар, эллипсоид и т.д.) с точностью и параметрами, указываемыми пользователем.

  5. Поиск и (или) замена информации в коллекции по ключу (значению).

  6. Выбор текстового файла из архива файлов по разделам (поэзия, проза, фантастика и т.д.) и его отображение.

  7. Выбор изображения по тематике (природа, автомобили, дети и т.д.) и его отображение.

  8. Информация о среднесуточной температуре воздуха за месяц задана в виде списка, хранящегося в файле. Определить:

а) среднемесячную температуру воздуха; б) количество дней, когда температура была выше среднемесячной; в) количество дней, когда температура опускалась ниже 0ºC; г) три самых теплых дня.

  1. Игра с сервером в “21”.

  2. Реализация адаптивного теста из цепочки в 3–4 вопроса.

  3. Определение значения полинома в заданной точке. Степень полинома и его коэффициенты вводятся пользователем.

  4. Вывод фрагментов текстов шрифтами различного размера. Размер шрифта и количество строк задаются на стороне клиента.

  5. Информация о точках на плоскости хранится в файле. Выбрать все точки, наиболее приближенные к заданной прямой. Параметры прямой и максимальное расстояние от точки до прямой вводятся на стороне клиента.

  6. Осуществить сортировку введенного пользователем массива целых чисел. Числа вводятся через запятую.

  7. Реализовать игру с сервером в крестики-нолики.

  8. Осуществить форматирование выбранного пользователем текстового файла, так чтобы все абзацы имели отступ ровно 3 пробела, а длина каждой строки была ровно 80 символов и не имела начальными и конечными символами пробел.

Вариант b

Для заданий варианта В главы 4 на основе сервлетов разработать механизм аутентификации и авторизации пользователя. Сервлет должен сгенерировать приветствие с указанием имени, роли пользователя, а также указать текущую дату и IP-адрес компьютера пользователя.

Тестовые задания к главе 18

Вопрос 18.1.

Каким образом в методе init() сервлета получить параметр инициализации сервлета с именем “URL”? (выберите два)

  1. ServletConfig.getInitParameter("URL");

  2. getServletConfig().getInitParameter("URL");

  3. this.getInitParameter("URL");

  4. HttpSerlet.getInitParameter("URL");

  5. ServletContext.getInitParameter("URL").

Вопрос 18.2.

Какой метод сервлета FirstServlet будет вызван при активизации ссылки следующего HTML-документа?

<html><body>

<a href="/FirstProject/FirstServlettest">OK!</a>

</body><html>

Соответствующий сервлету тег <url-pattern> в файле web.xml имеет вид:

<url-pattern>/FirstServlettest</url-pattern>

  1. doGet();

  2. doGET();

  3. performTask();

  4. doPost();

  5. doPOST().

Вопрос 18.3.

Контейнер вызывает метод init() экземпляра сервлета…

  1. при каждом запросе к сервлету;

  2. при каждом запросе к сервлету, при котором создается новая сессия;

  3. при каждом запросе к сервлету, при котором создается новый поток;

  4. только один раз за жизненный цикл экземпляра;

  5. когда сервлет создается впервые;

  6. если время жизни сессии пользователя, от которого пришел запрос, истекло.

Вопрос 18.4.

Каковы типы возвращаемых значений методов getResource() и getResourceAsStream() интерфейса ServletContext?

  1. ServletContext не имеет таких методов;

  2. String и InputStream;

  3. URL и InputStream;

  4. URL и StreamReader.

Вопрос 18.5.

Какие интерфейсы находятся в пакете javax.servlet?

  1. ServletRequest;

  2. ServletOutputStream;

  3. PageContext;

  4. Servlet;

  5. ServletContextEvent;

  6. ни один из перечисленных.

Вопрос 18.6.

Как можно получить всю информацию из запроса, посланного следующей формой? (выберите два варианта ответа)

<HTML><BODY>

<FORM action="/com/MyServlet">

<INPUT type="file" name="filename">

<INPUT type="submit" value="Submit">

</FORM></BODY></HTML>

  1. request.getParameterValues("filename");

  2. request.getAttribute("filename");

  3. request.getInputStream();

  4. request.getReader();

  5. request.getFileInputStream().

Г

лава 19

Java Server Pages

Технология Java Server Pages (JSP) была разработана компанией Sun Microsystems, чтобы облегчить создание страниц с динамическим содержанием.

В то время как сервлеты наилучшим образом подходят для выполнения контролирующей функции приложения в виде обработки запросов и определения вида ответа, страницы JSP выполняют функцию формирования текстовых документов типа HTML, XML, WML и некоторых других.

под терминами “динамическое/статическое содержание” обычно понимаются не части JSP, а содержание Web-приложения:

  1. динамические ресурсы, изменяемые в процессе работы: сервлеты, JSP, а также java-код;

  2. статические ресурсы, не изменяемые в процессе работы – HTML, JavaScript, изображения и т.д.

Смысл разделения динамического и статического содержания в том, что статические ресурсы могут находиться под управлением HTTP-сервера, в то время как динамические нуждаются в движке (Servlet Engine) и в большинстве случаев в доступе к уровню данных.

Рекомендуется разделить и разрабатывать параллельно две части приложения: Web-приложение, состоящее только из динамических ресурсов, и Web-приложение, состоящее только из статических ресурсов.

Некоторые преимущества использования JSP-технологии над другими методами создания динамического содержания страниц:

      1. Разделение динамического и статического содержания.

Возможность разделить логику приложения и дизайн Web-страницы снижает сложность разработки Web-приложений и упрощает их поддержку.

  1. Независимость от платформы.

Так как JSP-технология, основанная на языке программирования Java, не зависит от платформы, то JSP могут выполняться практически на любом Web-сервере. Разрабатывать JSP можно на любой платформе.

  1. Многократное использование компонентов.

Использование JavaBeans и Enterprise JavaBeans (EJB) позволяет мно­гократно использовать компоненты, что ускоряет создание Web-сайтов.

  1. Скрипты и теги.

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

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

Содержимое Java Server Pages (теги HTML, теги JSP и скрипты) переводится в сервлет код-сервером. Этот процесс ответствен за трансляцию как динами­ческих, так и статических элементов, объявленных внутри файла JSP. Об архитектуре сайтов, использующих JSP/Servlet-технологии, часто говорят как о thin-client (использование ресурсов клиента незначительно), потому что большая часть логики выполняется на сервере.

JSP составляется из стандартных HTML-тегов, JSP-тегов, action-тегов, JSTL и пользовательских тегов. В спецификации JSP 2.0 существует пять основных тегов:

<%@ директива %> используются для установки параметров серверной страницы JSP.

<%! объявление %> содержит переменные Java и методы, которые вызываются в expression-блоке и являются полями генерируемого сервлета. Объявление не должно производить запись в выходной поток out страницы, но может быть использовано в скриптлетах и выражениях.

<% скриптлет %> вживление Java-кода в JSP-страницу. Скриптлеты обыч­но используют маленькие блоки кода и выполняются во время обработки запроса клиента. Когда все скриптлеты собираются воедино в том порядке, в котором они записаны на странице, они должны представлять собой правильный код языка программирования. Контейнер помещает код Java в метод _jspService() на этапе трансляции.

<%= вычисляемое выражение %> операторы языка Java, которые вычисляются, после чего результат вычисления преобразуется в строку String и посылается в поток out.

<%-- JSP-комментарий --%> комментарий, который не отображается в исходных кодах JSP-страницы после этапа выполнения.