Главная » Web

Поддержание сессий

Добавлено Дата: 5 May, 2011 категория: Java, Web

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

?   Cookies.

Для хранения информации, которая служит для идентификации сессии и сбора данных при работе с сессиями, могут быть использованы cookie.

Читать »

Пакеты. Интерфейсы. Классы Пакет javax.servlet

Добавлено Дата: 5 May, 2011 категория: Java, Web

Пакет javax.servlet содержит классы и интерфейсы, определяющие взаимодействие между сервлетами (классами сервлетов) и окружением контейнера сервлетов (табл. П2.1).

Таблица П2.1. Интерфейсы пакета javax. servlet

Читать »

Сборщик мусора java

Добавлено Дата: 5 May, 2011 категория: Java, Web

Ранее мы познакомились с тем, как создаются объекты. А как можно уничтожить объект? В языке Java уничтожение объектов происходит автоматически. Объект существует в памяти, доступ к объекту может быть осуществлен с использованием переменных, в которых хранится ссылка на объект. Что делать с объектом, если не существует переменных, содержащих ссылку на этот объект? Рассмотрим две инструкции: Student std = new Student("John Smith"); std = null;

Читать »

Интерфейс EJBLocalHome

Добавлено Дата: 5 May, 2011 категория: Java, Web

public interface EJBLocalHome

На основе этого интерфейса создаются все локальные домашние интерфейсы компонентов EJB. Интерфейс содержит методы, с помощью которых клиент находит, создает и удаляет объекты компонентов EJB, а также использует домашние методы компонентов EJB. Интерфейс имплементируется в контейнере серверных компонентов EJB.

Читать »

Интерфейс SessionSynchronization

Добавлено Дата: 5 May, 2011 категория: Java, Web

public interface SessionSynchronization

Этот интерфейс используется контейнером компонентов EJB для поддержания сессий, для информирования о пределах распространения транзакций. Класс компонента EJB-сессии должен имплементировать этот интерфейс только в том случае, если требуется синхронизация работы компонента EJB в пределах транзакций.

Читать »

Работа с объектами java

Добавлено Дата: 5 May, 2011 категория: Java, Web

При программировании концепция объектной ориентированности может быть использована на различных уровнях. Наиболее распространенный подход состоит в том, что объектно-ориентированный метод используется на самых ранних этапах разработки программы, при этом применяется идея, состоящая в том, что все, что описывает программа, представляет собой объекты. Может быть использован и другой уровень применения объектно- ориентированной модели программирования. При этом ставится такая задача, решая которую, программист создает программное обеспечение, которое в дальнейшем может быть использовано во многих других проектах.

Читать »

Жизненный цикл сервлета

Добавлено Дата: 5 May, 2011 категория: Java, Web

Сервлет загружается сервером и выполняется в контексте сервера. Сервер может удалить сервлет. При загрузке сервлета сервер вызывает метод init о . Во время загрузки сервлета не используется возможность многопоточного выполнения задач, решаемых сервлетом, даже в обычных условиях многопоточного серверного окружения. Метод init () вызывается только один раз и может быть вызван вновь только при перезагрузке сервлета. Сервер не может перезагрузить сервлет до тех пор, пока сервлет не будет удален с сервера при помощи метода destroy (). Инициализация сервлета должна завершиться до того, как будет вызван метод service (). После инициализации сервлет способен принимать и обрабатывать клиентские запросы. Запросы обрабатываются методом service (). Каждый клиентский запрос приводит к вызову метода service (), который выполняется в отдельном для каждого запроса потоке. Метод получает клиентский запрос и посылает ответ. Сервлет может выполнять несколько методов service () одновременно. При этом важно иметь в виду, что метод service () должен быть создан так, чтобы его выполнение в нескольких потоках одновременно не приводило к ошибкам, в частности здесь будет полезным применение синхронизации. Если сервлет не должен производить многопоточные вычисления, то сервлет может имплементировать интерфейс singieThreadModei. При этом сервер не сможет вызвать несколько потоков выполнения метода service ().

Читать »

Серверные компоненты EJB и среда J2EE

Добавлено Дата: 4 May, 2011 категория: Java, Web

Серверные компоненты EJB Java — технология, реализованная в пакете J2EE (Java 2 Enterprise Edition — Java 2 для предприятий) от компании Sun. Серверные компоненты EJB предназначены для создания распределенных приложений. Их использование позволяет создавать надежные распределенные приложения, а также реализовывать механизмы быстрой обработки запросов, разрабатывать системы защиты пользователей от несанкционированного

Читать »

Метод разработки EJB

Добавлено Дата: 4 May, 2011 категория: Java, Web

Создатели пакетов для работы с J2EE предлагают схемы работы, упрощающие процесс создания и поддержания работоспособности приложений. Спецификация серверных компонентов EJB определяет модель серверных компонентов EJB и программный интерфейс Java-серверов. Разработчик создает компоненты EJB, которые содержат функциональную логику приложения, реализуемую предприятием, для которого создается приложение. Серверный компонент EJB работает в контейнере серверных компонентов EJB, контейнер предоставляет набор сервисов, например, таких, как обработка транзакций, обеспечение безопасности компонентов EJB. Разработчик не будет касаться деталей устройства этих сервисов, требующих решения задач низкоуровневого программирования. Разработчику необходимо решить задачи организации предоставляемых контейнером средств внутри компонента EJB, компоновки системы компонента EJB в целом, принимая во внимание то, что при необходимости использования того или иного сервиса контейнера, всегда можно воспользоваться этим сервисом. Популярная в свое время архитектура клиент-сервер может хорошо работать только в том случае, когда ею пользуется не очень большое количество клиентов. Управление такой системой достаточно неэффективно. Серверные компоненты EJB решают задачу эффективности как управления системой, так и эффективности использования системы. Упрощается разработка приложения за счет распределения задач между различными группами разработчиков, специализирующихся в той или иной области разработки приложений. Распределение ролей при разработке приложений может быть осуществлено, например, таким способом, как предлагают разработчики системы J Builder, когда каждая часть работы выполняется узким специалистом в этой области. Вся задача делится в общем случае на шесть частей (в том числе две задачи, предназначенные для разработчиков приложения). Каждый разработчик должен в деталях представлять то, как будет работать приложение. Первый разработчик — это разработчик компонентов EJB. Он (один или группа разработчиков) разрабатывает код компонентов EJB, создает функциональную логику компонентов EJB, описывает методы, используемые компонентами EJB, создает эти методы. Помимо этого разработчик описывает удаленный домашний интерфейс (или локальный домашний интерфейс), а также удаленный и локальный интерфейсы (при необходимости). При этом разработчик компонентов EJB может не знать о том, как будут использоваться компоненты EJB, как они будут размещены. Он создает компоненты EJB, интерфейсы, имплементирует (реализует) методы.

Читать »

Апплеты AWT и апплеты Java 2

Добавлено Дата: 4 May, 2011 категория: Java, Web

В примерах, рассмотренных выше, мы использовали пакет j ava. awt. *. Недостатки, обнаруженные в этом пакете, привели к созданию пакета Swing, явившегося составной частью версии Java 2 начиная с jdkl.2. Существует возможность создания апплетов на основе пакета Swing. Однако при этом нужно иметь в виду, что некоторые версии браузеров не будут поддерживать такие апплеты, к тому же апплеты, основанные на пакете swing, отнимают большие ресурсы, чем апплеты, основанные на AWT (Abstract Window Toolkit, абстрактный оконный интерфейс).

Читать »

Пример приложения с использованием компонента EJB

Добавлено Дата: 3 May, 2011 категория: Java, Web

Приложение работает на сервере Tomcat. Структура каталогов приложения выглядит следующим образом (табл. 5.20).

Таблица 5.20. Структура каталогов приложения

Читать »

События мыши

Добавлено Дата: 3 May, 2011 категория: Java, Web

В предыдущем разделе были рассмотрены основные понятия и методы создания графического пользовательского интерфейса. Этот раздел посвящен основам работы с событиями, которые возникают при использовании мыши. В качестве примеров мы создадим четыре апплета. Первый апплет выводит текст, как это делалось в предыдущем разделе, с той разницей, что при щелчке мышью меняются параметры выводимого текста (размер, стиль, цвет, местоположение). Второй апплет выводит прямоугольник в месте щелчка мышью. Третий апплет показывает в окне текущие координаты мыши, и наконец, четвертый апплет будет использоваться для рисования.

Читать »

Размещение компонентов EJB

Добавлено Дата: 3 May, 2011 категория: Java, Web

При создании серверного компонента EJB автоматически создается файл ejb-jar.xml. Для последнего примера этот файл выглядит так, как показано ниже. Это файл описания размещения компонента EJB (листинг 5.18).

Листинг 5.18. Файл ejb-jar.xml

<?xml version="l.0"?>

Читать »

Интерфейс MessageDrivenContext

Добавлено Дата: 2 May, 2011 категория: Java, Web

public interface MessageDrivenContext

Создан на основе EjBContext. Контекст, предоставляемый контейнером экземпляру компонента EJB, основанного на сообщениях, возникающих после создания экземпляра компонента EJB. Контекст связан с экземпляром компонента EJB в течение всего жизненного цикла компонента EJB.

Читать »

Методы НТТР

Добавлено Дата: 2 May, 2011 категория: Java, Web

Ниже приведены методы, описанные в спецификации протокола НТТР/1.1.

Безопасные и идемпотентные методы

Имплементация методов осуществляется таким образом, что методы get и head могут быть использованы только для получения ответов ресурсов. Такие методы являются безопасными. Методы post, put и delete принципиально могут быть потенциально небезопасными, поскольку могут выполнять действия, которые в некотором смысле могут содержать угрозу безопасности. Конечно, нельзя быть полностью уверенным в том, что реализация даже того же метода get не приведет к небезопасным действиям. Важным здесь является то, что безопасные методы не могут вызвать небезопасных "побочных" эффектов при обработке соответствующих им клиентских запросов.

Читать »