ГлавнаяРегистрацияВход
Мой сайт Приветствую Вас Гость | RSS
Меню сайта

Мини-чат

Наш опрос
Оцените мой сайт
Всего ответов: 1

Статистика

Онлайн всего: 7
Гостей: 7
Пользователей: 0

Форма входа

Главная » 2013 » Июль » 5 » Создание приложения J2EE с помощью EJB 3.1
18:18
 

Создание приложения J2EE с помощью EJB 3.1

Создание приложения J2EE с помощью EJB 3.1

В этом руководстве представлены базовые аспекты разработки приложений Java EE 6 и некоторые возможности технологии EJB 3.1, добавленные в спецификацию Java EE 6. В рамках этого руководства будет создано приложение J2EE, позволяющее пользователю отправлять и получать сообщения из базы данных.

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

Перед изучением этого руководства необходимо ознакомиться со следующей документацией.

Упражнения по темам руководства

Содержимое на этой странице применимо к IDE NetBeans 7.1, 7.2 и 7.3

Для работы с этим учебным курсом требуется следующее программное обеспечение и ресурсы.

Программное обеспечение или материал Требуемая версия IDE NetBeans Версия 7.0, 7.1, 7.2 или 7.3 Java EE Комплект для разработчика на языке Java (JDK) версия 6 GlassFish Server Open Source Edition 3.1.2.2 3.x

Предпосылки

Предполагается, что читатель обладает базовыми знаниями по следующим технологиям или опытом программирования с их использованием:

  • Программирование на Java
  • IDE NetBeans

Можно загрузить готовый проект в виде архива ZIP.

out.println("</body>");
  • Добавьте следующий код (выделено полужирным шрифтом) для получения и отображения количества пользователей/открытых сеансов. out.println("<a href='PostMessage'>Add new message</a>"); out.println("<br><br>"); out.println(sessionManagerBean.getActiveSessionsCount() + " user(s) reading the news."); out.println("</body>");
  • Нажмите сочетание клавиш Ctrl+Shift+I для создания обязательных операторов импорта для класса. При создании операторов импорта может потребоваться импортировать библиотеки java.util.
  • Сохраните измененный файл.
  • Создание сервлета PostMessage

    В этом упражнении будет создан сервлет PostMessage, используемый для отправки сообщений. Для добавления созданных ресурсов JMS непосредственно в сервлет используются аннотации с указанием имени переменной и имени, на которое она отображается. Затем необходимо написать код для отправки сообщения JMS и код для формы HTML, предназначенной для добавления сообщения.

    1. Щелкните проект веб-модуля правой кнопкой мыши и выберите "Создать" > "Сервлет".
    2. В поле "Имя класса" введите PostMessage.
    3. Для имени параметра "Пакет" введите web и нажмите "Завершить".

    При нажатии кнопки "Готово" в редакторе исходного кода будет открыт класс PostMessage.java. В редакторе исходного кода выполните следующие шаги.

    1. Используйте аннотации для ввода ресурсов ConnectionFactory и Queue путем добавления следующих объявлений полей (выделено полужирным шрифтом): @WebServlet(name="PostMessage", urlPatterns={"/PostMessage"}) public class PostMessage extends HttpServlet { @Resource(mappedName="jms/NewMessageFactory") private ConnectionFactory connectionFactory; @Resource(mappedName="jms/NewMessage") private Queue queue;
    2. Теперь создадим код для передачи сообщения JMS путем добавления в метод processRequest следующих строк кода, выделенных полужирным шрифтом: response.setContentType("text/html;charset=UTF-8"); // Add the following code to send the JMS message String title=request.getParameter("title"); String body=request.getParameter("body"); if ((title!=null) && (body!=null)) { try { Connection connection = connectionFactory.createConnection(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); MessageProducer messageProducer = session.createProducer(queue); ObjectMessage message = session.createObjectMessage(); // here we create NewsEntity, that will be sent in JMS message NewsEntity e = new NewsEntity(); e.setTitle(title); e.setBody(body); message.setObject(e); messageProducer.send(message); messageProducer.close(); connection.close(); response.sendRedirect("ListNews"); } catch (JMSException ex) { ex.printStackTrace(); } } PrintWriter out = response.getWriter();
    3. Добавьте следующие строки (выделены жирным шрифтом) к методу processRequest, чтобы добавить веб-форму добавления сообщения. (При необходимости, уберите знак комментария для вывода кода HTML) out.println("Servlet PostMessage at " + request.getContextPath() + "</h1>"); // The following code adds the form to the web page out.println("<form>"); out.println("Title: <input type='text' name='title'><br/>"); out.println("Message: <textarea name='body'></textarea><br/>"); out.println("<input type='submit'><br/>"); out.println("</form>"); out.println("</body>");
    4. Нажмите сочетание клавиш Ctrl+Shift+I для создания обязательных операторов импорта для класса.

      Примечание. При выборе библиотек для импорта для Connection, ConnectionFactory, Session и Queue, убедитесь, что импортируются библиотеки javax.jms.

      снимок диалогового окна 'Исправить все выражения импорта'
    5. Сохраните измененный файл.

    Теперь проект можно выполнить. При выполнении проекта страница с сервлетом ListNews должна открыться в браузере. Для этого в диалоговом окне "Свойства" для приложения J2EE вводится URL-адрес. Это относительный URL-адрес, связанный с контекстным путем к приложению. После ввода относительного URL-адреса приложение можно собрать, развернуть и запустить в окне "Проекты".

    Для указания относительного URL-адреса и запуска приложения необходимо выполнить следующие действия:

    1. В окне 'Проекты' щелкните правой кнопкой мыши узел приложения корпоративного уровня NewsApp и выберите во всплывающем меню 'Свойства'.
    2. В панели "Категории" выберите "Выполнить".
    3. В текстовое поле "Относительный URL-адрес" введите /ListNews.
    4. Нажмите кнопку "ОК".
    5. В окне 'Проекты' щелкните правой кнопкой мыши узел приложения корпоративного уровня NewsApp и выберите 'Выполнить'.

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

    Страница сервлета ListNews

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

    Загрузка проекта решения

    Решение для данного учебного курса в виде проекта можно загрузить несколькими способами.

    • Загрузите архив завершенного проекта в формате zip.
    • Выполните проверку исходных файлов проекта на выходе из примеров NetBeans, выполнив перечисленные ниже действия.
      1. Выберите в главном меню "Группа > Subversion > Проверить".
      2. В диалоговом окне "Проверка" введите следующий URL-адрес репозитория:
        https://svn.netbeans.org/svn/samples~samples-source-code
        Нажмите кнопку "Далее".
      3. Нажмите кнопку Browse ("Обзор") для открытия диалогового окна Browse Repository Folders ("Обзор папок репозитория").
      4. Разверните корневой узел и выберите samples/javaee/NewsAppEE6. Нажмите кнопку "ОК".
      5. Укажите локальную папку для исходных файлов (папка должна быть пустой).
      6. Нажмите кнопку "Завершить".

        После нажатия кнопки "Готово" среда IDE инициализирует локальную папку в качестве репозитория Subversion и выполняет проверку исходных файлов проекта на выходе.

      7. Щелкните команду "Открыть проект" в диалоговом окне, которое появится после завершения проверки.

      Примечания.

      • Для получения исходных файлов на редактирование требуется клиент Subversion. For more about installing Subversion, see the section on Setting up Subversion in the Guide to Subversion in IDE NetBeans.

    Устранение проблем

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

    Проблема с ресурсами JMS

    При создании ресурсов JMS с помощью мастера в окне вывода может появиться следующее сообщение об ошибке сервера:

    [com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created : jms/Queue]

    Это сообщение указывает на то, что ресурс JMS не создан или не зарегистрирован на сервере приложений. Для проверки, создания и изменения ресурсов JMS используйте консоль администратора сервера приложений.

    Для вызова консоли администратора необходимо выполнить следующие действия.

    1. Убедитесь в том, что сервер приложений запущен. Для этого разверните узел "Серверы" в окне "Службы" среды IDE. Работающий сервер обозначается зеленой стрелкой рядом с узлом сервера приложений.
    2. Щелкните правой кнопкой мыши узел сервера приложений и выберите "Просмотр консоли администратора" для открытия в браузере окна входа в систему.
    3. Выполните вход в систему сервера. По умолчанию используется имя пользователя admin и пароль adminadmin.
    4. Разверните узлы "Ресурсы" и "Ресурсы JMS" в левом поле консоли администратора в браузере.
    5. Щелкните ссылки "Фабрики подключений" и "Ресурсы адресатов" в левом поле и проверьте, зарегистрированы ли ресурсы на сервере; при необходимости внесите требуемые изменения. Если ресурсы не существуют, их можно создать при помощи консоли администратора.

    Необходимо убедиться в том, что ресурс фабрики подключений JMS в сервлете PostMessage связан с правильным именем JNDI ресурса фабрики подключений JMS, зарегистрированного на сервере приложений Sun Java System Application Server.

    • ресурс адресата с именем JNDI jms/NewMessage и типом javax.jms.Queue;
    • ресурс фабрики подключений с именем JNDI jms/NewMessageFactory и типом javax.jms.QueueConnectionFactory.


    For more information about using IDE NetBeans to develop Java EE applications, see the following resources:

    Дополнительные сведения по использованию компонентов уровня предприятия EJB 3.1 см. в руководстве по Java EE 6.

    To send comments and suggestions, get support, and keep informed on the latest developments on the IDE NetBeans Java EE development features, join the nbj2ee mailing list.

    Просмотров: 308 | Добавил: goodidealk | Рейтинг: 0.0/0
    Всего комментариев: 0
    Поиск

    Календарь
    «  Июль 2013  »
    Пн Вт Ср Чт Пт Сб Вс
    1234567
    891011121314
    15161718192021
    22232425262728
    293031

    Архив записей

    Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Copyright MyCorp © 2025
    Бесплатный хостинг uCoz