- •Основные спецификации Java: se, ee, me. Состав ядра системы программирования Java.
 - •Классы Java. Конструкторы, методы, наследование классов, управление доступом к методам и переменным класса, ключевые слова this и super.
 - •Пакеты классов, понятие иерархии пакетов, переменная окружения classpath, инструкции package и import. Jar-архивы. Состав jar-архивов. Применение jar-архивов.
 - •Интерфейсы Java: назначение, принцип применения.
 - •Протокол http. Стандарты http. Основные методы (get, post, option, put, delete). Коды статуса ответа. Структура http-сообщений. Понятие о протоколе https.
 - •Язык html. Основные теги. Структура html-страницы. Основные теги. Каскадные таблицы стилей.
 - •Язык JavaScript. Стандарты языка JavaScript. Назначение языка. Основные возможности. Понятие dhtml.
 - •Модель dom. Назначение модели dom. Уровни модели dom. Основные спецификации.
 - •Сетевые службы. Примеры сетевых служб. Служба www (Web-сервер). Примеры реализации службы www.
 - •Структура спецификации Java Platform Enterprise Edition. Основные технологии.
 - •Основные спецификации Java. Структура спецификации Java Platform Micro Edition. Спецификации cdlc, midp. Технология wtk.
 - •Технология Java Applets. Назначение. Основные возможности.
 - •Спецификация Servlet. Назначение. Основные возможности.
 - •Переопределение и переадресация запросов. Формирование get и post запросов в сервлете.
 - •Спецификация jsp. Назначение. Основные возможности. Директивы, теги (определение, выполнение, скриплеты), предопределенные объекты.
 - •Библиотека тегов. Назначение основные возможности. Структура jsp-страницы при применении библиотеки тегов.
 - •Основные модели web-приложений на основе технологий сервлетов и jsp.
 - •Основные системные объекты (контекст, сессия, запрос, ответ). Назначение и жизненный цикл объектов.
 - •Дескриптор развертывания web-приложения. Параметры инициализации web-приложения: назначение, принципы применения.
 - •Атрибуты системных объектов. Назначение. Принципы применения.
 - •Заголовки http-запросов и ответов. Назначение. Принципы применения.
 - •Фильтры (Java Filter). Назначение. Принципы применения.
 - •Слушатели (Java Event Listener). Назначение. Принципы применения.
 - •Технология jdbc. Состав jdbc. Структура jdbc-приложения. Типы jdbc-драйверов.
 - •Технология jaas. Назначение. Основные возможности. Роли, пользователи и их взаимосвязь.
 - •Структура web-клиентов серверов smtp и pop3.
 - •Структура web-приложения пересылающего файлы.
 - •Методология Ajax. Структура Ajax-приложения, принципы разработки и применения.
 - •Понятие Application Server. Наиболее известные реализации.
 - •Понятие технологии ejb.
 
Основные спецификации Java: se, ee, me. Состав ядра системы программирования Java.
На сегодняшний день имеется три семейства Java-технологий (и соответственно JSR-спецификаций):
Java Platform, Standard Edition (Java SE);
Java Platform, Enterprise Edition (Java EE);
Java Platform, Micro Edition Specification (Java ME).
В составе Java SE содержится два основных продукта: Java Runtime Environment (JRE) и Java Development Kit (JDK). JRE представляет собой библиотеки, виртуальную Java-машину (JVM) и другие компоненты для исполнения приложений, разработанных на языке Java. Кроме того, в JRE включены технологии Java Plug-In (для запуска апплетов в web-браузерах) и Java Web Start (для разворачивания внешних приложений из сети Internet). JDK включает в себя все, что содержится в JRE, а также компиляторы языка Java, отладчик и дополнительные библиотеки. Спецификация Java SE определяет Java SE Application Interface (Java SE API) – программный интерфейс, позволяющий вызывать методы Java-ядра и стандартные функции, для создания настольных (desktop) и клиентских приложений, использовать графику.
Java Micro Edition представляет собой набор технологий применяемых для устройств с ограниченной вычислительной мощностью. Исторически эта технология является самой молодой и испытывает сейчас бурное развитее. Java ME применяется, как правило, для программирования контроллеров, средств связи (например, мобильных телефонов) и встроенных систем (программирование бытовых приборов, пультов управления и т.п.).
Наибольший интерес для нас представляет семейство технологий Java EE – в состав этого семейства включены технологии, позволяющие создавать web-приложения, которые являются частным случаем Java EE – приложений. В основе технологии Java EE лежит четыре основных документа:
Java EE Platform Specification (спецификация платформы Java EE);
Java EE Reference Implementation (образцовые реализации платформы Java EE);
Java EE Blueprints (модель приложений Java EE);
Java Compatibility Test Suite (набор тестов на совместимость платформы Java EE).
Спецификация Java EE Platform определяет компонентную структуру Java EE-приложения и содержит минимальный набор свойств, которыми должен обладать сервер приложений (Application server), поддерживающий эту платформу. Сервер приложений – это сервер, умеющий исполнять прикладные программы, специальным образом установленные на нем. Если говорят о Java EE-сервере приложений (далее просто Java EE-сервер), то подразумевается, что он соответствует некоторой версии спецификации Java EE и может исполнять Java EE-приложения. Существует достаточно много различных Java EE-серверов: Sun GlassFish Enterprise Server (ранее Sun Java System Application Sever), IBM WebSphere Application Server, Oracle Application Sever, JBOSS, BEA WebLogic и т. д. Важным является, то что, если любые два сервера приложений соответствуют спецификации Java EE Platform, то любое Java EE-приложение которое может быть исполнено на одном сервере без перекомпиляции может быть исполнено и на другом (с учетом соответствия версий спецификаций). Разница может заключаться только в процедурах установки и настройки приложения. При этом приложение остается нейтральным относительно программно-аппаратной среды, в которой работает сервер приложений.
Составной частью любого сервера приложений является web-сервер (его часто называют web-контейнером). В некоторых случаях это может быть отдельный продукт, который встраивается в сервер приложений (например, в JBOSS используется web-сервер Apache Tomcat), в других случаях web-сервер может являться неотделимой составной частью сервера приложений (например, GlassFish) или вообще могут использоваться, как несколько различных web-серверов, так и собственный встроенный (WebSphere).
Образцовые реализации платформы Java EE – это практические указания по разработке программных продуктов соответствующих спецификации этой платформы, а также сами действующие программные продукты, которые могут быть использованы в качестве образца. Компания Sun Microsystems Inc. предлагает в качестве образцовой реализации платформы Java EE свой продукт – сервер приложений Sun GlassFish Enterprise Server, который поддерживает весь спектр технологий, описанных в спецификации Java EE. С помощью этого модельного сервера, разработчики серверов приложений могут проверить переносимость приложений между собственной реализаций сервера и образцовой реализацией, а разработчики Java EE-приложений для разработки прототипов приложений.
Модель приложений Java EE предназначена прикладным программистам, разрабатывающим приложения для этой платформы. В этом документе содержатся практические рекомендации по разработке Java EE- приложений и примеры, которые могут служить в качестве образцов реализации.
Набор тестов на совместимость платформы Java EE, предназначен, в основном, для разработчиков серверов приложений, реализующих платформу Java EE. С помощью, предложенных здесь тестов, можно проверить, разработанный продукт на соответствие спецификациям (иногда говорят стандартам) платформы Java EE. Перечень программных продуктов, успешно прошедших проверку на наборе тестов и получивших от Sun Microsystems Inc. сертификат соответствия публикуются на сайте компании.
Перечень технологий, предлагаемых платформой Java EE, достаточно большой и при этом постоянно пополняется. Каждая из технологий развивается, как правило, независимо от других и имеет собственную траекторию версий. В документации любого Java EE-сервера всегда можно найти перечень поддерживаемых им технологий с указанием версий.
В этом пособии, рассматривается только некоторая часть технологий, входящий в состав платформы Java EE, которые применяются для разработки web-приложений. Основными web-технологиями являются технологии JavaServlet (технология сервлетов) и Java ServerPages.
Общая характеристика языка программирования Java: основные типы, оболочки, перечисления, операторы, операции и языковые конструкции. Сравнительный анализ с языком C++. Принципы сравнение строк.
byte - знаковый 8-битовый тип; диапазон — от -128 до 127; лучше всего подходит для хранения произвольного потока байтов, загружаемого из сети или из файла;
short - знаковый 16-битовый тип; диапазон — от -32768 до 32767;
int - служит для представления 32-битных целых чисел со знаком; диапазон -2147483648 до 2147483647; используется для хранения обычных целых чисел со значениями, достигающими двух миллиардов; всякий раз, когда в одном выражении фигурируют переменные типов byte, short, int и целые литералы, тип всего выражения перед завершением вычислений приводится к int;
long - предназначен для представления 64-битовых чисел со знаком;
float - для хранения вещественного значения используется 32 бита;
double-для хранения вещественного значения используется 64 бита; Все трансцендентные математические функции, такие, как sin, cos, sqrt, возвращают результат типа double.
Тип boolean - простой тип boolean, используемый для хранения логических значений, переменные этого типа могут принимать всего два значения — true (истина) и false (ложь); значения типа boolean возвращаются в качестве результата всеми операторами сравнения, например (а < b); кроме того, boolean — это тип, требуемый всеми условными операторами управления — такими, как if, while, do.
Арифметические операторы (CPP, C#)
Оператор  | 
			Результат  | 
			Оператор  | 
			Результат  | 
		
+  | 
			Сложение  | 
			+ =  | 
			сложение с присваиванием  | 
		
-  | 
			вычитание (также унарный минус)  | 
			-=  | 
			вычитание с присваиванием  | 
		
*  | 
			Умножение  | 
			* =  | 
			умножение с присваиванием  | 
		
/  | 
			Деление  | 
			/=  | 
			деление с присваиванием  | 
		
%  | 
			деление по модулю  | 
			%=  | 
			деление по модулю с присваиванием  | 
		
++  | 
			Инкремент  | 
			--  | 
			декремент  | 
		
Целочисленные битовые операторы (CPP, C#)
Оператор  | 
			Результат  | 
			Оператор  | 
			Результат  | 
		
~  | 
			побитовое унарное отрицание (NOT)  | 
			
  | 
			
  | 
		
&  | 
			побитовое И (AND)  | 
			&=  | 
			побитовое И (AND) с присваиванием  | 
		
|  | 
			побитовое ИЛИ (OR)  | 
			|=  | 
			побитовое ИЛИ (OR) с присваиванием  | 
		
^  | 
			побитовое исключающее ИЛИ (XOR)  | 
			^=  | 
			побитовое исключающее ИЛИ (XOR) с присваиванием  | 
		
>>  | 
			сдвиг вправо  | 
			>> =  | 
			сдвиг вправо с присваиванием  | 
		
>>>  | 
			сдвиг вправо с заполнением нулями  | 
			>>>=  | 
			сдвиг вправо с заполнением нулями с присваиванием  | 
		
<<  | 
			сдвиг влево  | 
			<<=  | 
			сдвиг влево с присваиванием  | 
		
Операторы отношения (CPP, C#)
Оператор  | 
			Результат  | 
		
==  | 
			равно  | 
		
!=  | 
			не равно  | 
		
>  | 
			больше  | 
		
<  | 
			меньше  | 
		
>=  | 
			больше или равно  | 
		
<=  | 
			меньше или равно  | 
		
Булевы логические операторы (CPP, С#)
Оператор  | 
			Результат  | 
			Оператор  | 
			Результат  | 
		
&  | 
			логическое И (AND)  | 
			&=  | 
			И (AND) с присваиванием  | 
		
|  | 
			логическое ИЛИ (OR)  | 
			=  | 
			ИЛИ (OR) с присваиванием  | 
		
^  | 
			логическое исключающее ИЛИ (XOR)  | 
			^=  | 
			исключающее ИЛИ (XOR) с присваиванием  | 
		
||  | 
			оператор OR быстрой оценки выражений (short circuit OR)  | 
			==  | 
			равно  | 
		
&&  | 
			оператор AND быстрой оценки выражений (short circuit AND)  | 
			!=  | 
			не равно  | 
		
!  | 
			логическое унарное отрицание (NOT)  | 
			?:  | 
			тернарный оператор if-then-else  | 
		
О
  
болочки
простых типов. Простые
типы int,
float,
double,
long,
 char,
byte
применяются
в Java
в виду их эффективности. Эти типы не
являются частью объектной иерархии
(класс Object
не является их потомком). Однако при
java-программировании
 может потребоваться работать с объектами.
Например, при передаче параметров  все
простые типы передаются только по
значению, для передачи их по ссылке от
программиста потребуются дополнительные
усилия (их необходимо поместить в класс
и передать в параметре объект этого
класса). Для устранения подобных неудобств
 в Java
введены классы-оболочки: Number
(абстрактный класс, который реализуется
другими оболочками для представления
чисел),Float,
Double,
Byte,
Short,
Integer,
Long,
Character,
Boolean,
Void.
Сравнение строк. Строки сравниваются как ссылки: если они указывают на один и тот же объект то они равны, иначе нет. Для сравнения содержимого строк применяется метод equals.
  
