- •Основные спецификации Java: se, ee, me. Состав ядра системы программирования Java.
- •Арифметические операторы (cpp, c#)
- •Целочисленные битовые операторы (cpp, c#)
- •Операторы отношения (cpp, c#)
- •Булевы логические операторы (cpp, с#)
- •Оболочки простых типов.
- •Сравнение строк.
- •Классы Java. Конструкторы, методы, наследование классов, управление доступом к методам и переменным класса, ключевые слова this и supper. Классы.
- •Переменные (instance variables).
- •Оператор new.
- •Объявление методов.
- •Конструкторы.
- •Пакеты классов, понятие иерархии пакетов, переменная окружения classpath, инструкции package и import. Jarархивы. Состав jar-архивов. Применение jar-архивов.
- •Интерфейсы Java: назначение, принцип применения.
- •Метод get
- •Метод post
- •Метод opinions
- •Метод put
- •Метод delete
- •Коды состояний
- •Informational (русск. Информационный)
- •Строка запроса выглядит так:
- •Стартовая строка ответа сервера имеет следующий формат:
- •Язык html. Основные теги. Структура html-страницы. Основные теги. Каскадные таблицы стилей.
- •Язык JavaScript. Стандарты языка JavaScript. Назначение языка. Основные возможности. Понятие dhtml.
- •Стандарт языка:
- •Возможности языка JavaScript:
- •Модель dom. Назначение модели dom. Уровни модели dom. Основные спецификации.
- •Сетевые службы. Примеры сетевых служб. Служба www (Web-сервер). Примеры реализации службы www.
- •Архитектура Web-приложений
- •Структура спецификации Java Platform Enterprise Edition. Web-технологии.
- •Технология Java Applets. Назначение. Основные возможности.
- •Спецификация Servlet. Назначение. Основные возможности.
- •Переопределение и переадресация запросов. Формирование get и post запросов в сервлете. Переопределение
- •Генерация запросов
- •Переадресация
- •Спецификация jsp. Назначение. Основные возможности. Директивы, теги (определение, выполнение, скриплеты), предопределенные объекты.
- •Директивы jsp.
- •Объявления jsp
- •Выражения jsp
- •Скриплеты jsp
- •Библиотека тегов. Назначение основные возможности. Структура jsp-страницы при применении библиотеки тегов.
- •Дескриптор библиотеки тегов
- •Применение библиотечных тегов
- •Основные модели web-приложений на основе технологий сервлетов и jsp.
- •Основные системные объекты (контекст, сессия, запрос, ответ). Назначение и жизненный цикл объектов. Контекст
- •Сеанс связи (сессия)
- •Дескриптор развертывания web-приложения. Параметры инициализации web-приложения: назначение, принципы применения.
- •Атрибуты системных объектов. Назначение. Принципы применения. Атрибуты контекста
- •Атрибуты запроса
- •Атрибуты сессии
- •Заголовки http-запросов и ответов. Назначение. Принципы применения. Заголовки запроса
- •Заголовки ответа
- •Фильтры (JavaFilter). Назначение. Принципы применения.
- •Слушатели (JavaEventListener). Назначение. Принципы применения.
- •Технология jdbc. СоставJdbc. Структура jdbcприложения. Типы jdbc-драйверов.
- •Технология jaas. Назначение. Основные возможности. Роли, пользователи и их взаимосвязь.
- •Структура web-клиентов серверов smtp и pop3.
- •HelomailrcptdatasendquiTи другие команды.
- •Структура web-приложения пересылающего файлы.
- •Пример 1. Описания параметра инициации в дескрипторе приложения
- •Пример 2. Получения значения параметра инициации
- •Пример 3. Класс, используемый для выбора списка файлов
- •Пример 4. Формирование списка файлов (ссылок) в jsp-странице
- •Пример 5. Функция пересылающая клиенту Word-файл
- •Методология Ajax. Структура Ajax-приложения, принципы разработки и применения.
- •Понятие Application Server. Наиболее известные реализации.
- •Примеры реализации
Структура web-приложения пересылающего файлы.
Загрузка файла– перемещение копии файла с компьютера сервера на компьютер клиента с использованием протокола HTTP.
Для загрузки файла необходимо иметь следующую информацию: 1) имя директории на сервере с пересылаемым файлом; 2) имя пересылаемого файла; 3) тип пересылаемого файла и соответствующий типmime(тип контента) протокола HTTP.
Загрузка файлов может быть выполнена сервлетом.
Директорию клиента, в которую перемещается файл, определяет браузер с помощью дополнительного стандартного запроса.
Пример 1. Описания параметра инициации в дескрипторе приложения
<!- -------начало web.xml ------------------------ -->
<context-param>
<param-name>doc-dir</param-name>
<param-value>d:/File</param-value>
</context-param>
<!- --- продолжение web.xml --------------------- -->
Пример 2. Получения значения параметра инициации
// ---------- сервлет ------------------------------
protected void doGet(HttpServletRequest rq, HttpServletResponse rs)
throws ServletException, IOException {
String filename = rq.getParameter("file");
String doc dir= getServletContext().getInitParameter("doc-dir");
}
Пример 3. Класс, используемый для выбора списка файлов
package others;
import java.io.*;
import java.io.File;
import java.io.FileInputStream;
public class ChoiseXXX {
public String listxxx[];
protected class OnlyXXX implements FilenameFilter {
String xxx = null;
public OnlyXXX(String xxx) {
this.xxx = "." + xxx;
}
public boolean accept(File d, String name) {
return name.endsWith(xxx);
}
}
public ChoiseXXX(String d, String xxx) {
File dir = new File(d);
if (dir.exists()) {
listxxx = dir.list(new OnlyXXX(xxx));
}
}
}
Пример 4. Формирование списка файлов (ссылок) в jsp-странице
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" import="others.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
String d = (String) getServletContext().getInitParameter("doc-dir");
ChoiseXXX ch = new ChoiseXXX(d, "doc");
String ll = null;
for (int i = 0; i < ch.listxxx.length; i++) {
ll = ch.listxxx[i];
%>
<br />
<a href="Msdoc?file=<%=ll%>"> <%=ll%>
</a>
<%
}
%>
</body>
</html>
Пример 5. Функция пересылающая клиенту Word-файл
protected void OutputDoc(File doc, HttpServletResponse rs)
throws IOException {
rs.setContentType("application/msword");
rs.addHeader("Content-Disposition",
"attachment; filename=" + doc.getName());
rs.setContentLength((int) doc.length());
FileInputStream in = new FileInputStream(doc);
BufferedInputStream buf = new BufferedInputStream(in);
ServletOutputStream out = rs.getOutputStream();
int readBytes = 0;
while ((readBytes = buf.read()) != -1)
out.write(readBytes);
}
Методология Ajax. Структура Ajax-приложения, принципы разработки и применения.
Ajax – методология построения интерактивного пользовательского интерфейса webприложения.
Методология Ajax описывает способы разработки страниц сайта, которые могут динамически изменяться на основе данных поступающих с сервера, но без полной перезагрузки страницы.
В основе методологии Ajax лежат следующие технологии: язык HTML, язык JavaScript, язык XML, модель DOM, протокол HTTP, протокол JSON, объект XMLHttpRequest.
HTML– гипертекстовый язык разметки. Интерпретируется браузером. В Ajax динамически изменяется содержимое html-документа.
JavaScript– скриптовый язык, предназначенный для создания сценариев поведения браузера. Интерпретируется браузером. В Ajax html-документ динамически изменяется на стороне клиента с помощью сценариев написанных на языке JavaScript.
DOM – объектная модель, позволяющая сценариям JavaScript получить доступ (читать и изменять содержимое) к элементам html-документа (к атрибутам и содержимому тегов). В Ajax ответ сервера ―встраивается‖ с помощью JavaScript-сценария в загруженную ранее браузером страницу. При этом доступ к элементам html-документа осуществляется а соответствии с моделью DOM.
HTTP –сетевой протокол передачи гипертекста. Используется для обмена данными между двумя приложениями (клиентом и сервером). В Ajax обмен данными между JavaScript-сценарием на клиенте и серверным приложением (например, сервлетом) осуществляется по правилам HTTP.
XML – расширяемый язык разметки данных. Предназначен для структуризации данных с целью хранения или/и передачи. В Ajax язык XML является одним из форматов, который используется для структуризации данных пересылаемых между JavaScriptсценарием и серверным приложением.
JSON (JavaScript Object Notation) - текстовый формат обмена данными, применяемый обычно в сценариях JavaScript. В Ajax формат JSON является одним из форматов, который используется для структуризации данных пересылаемых между JavaScriptсценарием и серверным приложением. Формат JSON основывается на функцииeval()языка JavaScript.
XMLHttpRequest– специальный API (предопределенный объект), используемый в языке JavaScript для обмена данными между сценарием JavaScript и серверным приложением по протоколу HTTP. В Ajax методы объекта XMLHttpRequest используется для отправки и получения данных между JavaScript-сценарием и серверным приложением. Данные могут получены в виде XML-документа и виде обыкновенного текста (в частном случае могут быть представлены в формате JSON).