corner imagecorner image
IDEPlatformPluginsDocs & SupportCommunityPartners

Введение в разработку веб-приложений

В этом документе представлены базовые аспекты разработки веб-приложений в среде IDE NetBeans. Также здесь рассматриваются способы создания простого веб-приложения, его развертывания на сервере и просмотра в обозревателе. В этом приложении будет создана страница JavaServer Pages™ (JSP) с запросом на ввод имени пользователя. Для сохранения введенного имени в рамках сеанса HTTP и повторения имени на другой странице JSP будет применяться компонент JavaBeans™.

Содержание

Содержимое этой страницы относится к среде IDE NetBeans 6.7

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

Программное обеспечение или ресурс Требуемая версия
Среда IDE NetBeans версия Java 6.5 или 6.7
Комплект для разработчика на языке Java (JDK) версия 6 или версия 5
Сервер приложений GlassFish
или
Контейнер сервлетов Tomcat
2.1 или 3.0.1
 
версия 6.x

Примечания

  • Вариант установки "Web and Java EE" позволяет дополнительно установить сервер приложений GlassFish 2.1 и контейнер сервлетов Apache Tomcat 6.0.x. Для продолжения работы с этим учебным курсом следует установить один из этих продуктов.
  • Для использования функциональных возможностей Java EE 5 в среде IDE NetBeans используйте сервер приложений, который является полностью совместимым со спецификацией Java EE 5, например, сервер приложений GlassFish 2.1 UR2. В случае использования другого сервера ознакомьтесь с разделами Заметки о выпуске и Часто задаваемые вопросы для получения сведений об известных проблемах и их решениях. Для получения подробной сведений о поддерживаемых серверах и платформе Java EE см. заметки к выпуску.
  • Если необходимо сравнить проект с рабочим решением, можно загрузить демонстрационное приложение.

Настройка проекта веб-приложения

  1. Выберите в главном меню "File" > "New Project" (Ctrl+Shift+N). В области "Categories" выберите "Java Web". В области "Projects" выберите "Web Application" и нажмите кнопку "Next".
  2. В экране 2 введите HelloWeb в текстовом поле "Project Name".
  3. В поле "Project Location" укажите любой каталог на компьютере. В данном учебном курсе этот каталог будет называться $PROJECTHOME.
  4. (Дополнительно) Установите флажок "Use Dedicated Folder for Storing Libraries" и укажите местоположение папки библиотек. Для получения дополнительных сведений об этой возможности обратитесь к разделу Совместное использование библиотек проекта.
  5. Нажмите кнопку "Next". Откроется панель сервера и параметров настройки. Выберите версию Java EE, которую требуется использовать для приложения.
  6. Выберите сервер, на котором требуется выполнить развертывание приложения. В списке представлены только те серверы, которые зарегистрированы в среде IDE. Обратите внимание, что для поля "Context Path" (например, на сервере) устанавливается значение /HelloWeb в основе которого находится имя проекта, указанное при выполнении предыдущего действия.
  7. Нажмите кнопку "Далее". На экране "Frameworks" нажмите кнопку "Finish" для создания проекта.

    В среде IDE будет создана папка проекта $PROJECTHOME/HelloWeb. Папка проекта содержит все исходные файлы и метаданные проекта, например сценарий сборки Ant. После этого проект "HelloWeb" откроется в среде IDE. В главном окне редактора исходного кода будет представлена страница приветствия index.jsp. Структуру файлов проекта можно просмотреть в окне "Files" (Ctrl+2), а его логическую структуру – в окне "Projects" (Ctrl+1).

    Логическая структура проекта "HelloWeb" в окне "Projects"

Создание и изменение исходных файлов веб-приложения

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

Создание пакета Java и исходного файла Java

  1. В окне "Projects" разверните узел "Source Packages". Обратите внимание, что узел "Source Packages" содержит только пустой узел пакета по умолчанию.
  2. Щелкните узел "Source Packages" правой кнопкой мыши и выберите "New" > "Java Class". Введите NameHandler в текстовом поле "Class Name" и org.mypackage.hello в поле списка "Package". Нажмите кнопку "Finish". Новый файл NameHandler.java будет открыт в редакторе исходного кода.
  3. Объявите в редакторе исходного кода переменную String, введя непосредственно под объявлением класса следующую строку:
    String name;
  4. Добавьте следующий конструктор к классу:
    public NameHandler()
  5. Добавьте следующую строку в конструктор NameHandler():
    name = null;

Создание методов получения и установки

  1. Щелкните правой кнопкой мыши поле name в редакторе исходного кода и выберите "Refactor" > "Encapsulate Fields". Откроется диалоговое окно "Encapsulate Fields", в котором имеется поле name. Обратите внимание, что для параметра "Visibility" полей по умолчанию установлено значение "private", а для средств доступа – значение "public", что указывает на то, что модификатор доступа для объявления переменной класса будет определен как "private", в то время как методы получения и установки будут созданы с модификаторами public и private, соответственно.
    Диалоговое окно инкапсуляции полей
  2. Нажмите кнопку "Refactor". Для поля name создаются методы получения и установки. Модификатор для переменной класса определяется как private, в то время как методы получения и установки создаются с модификаторами "public". Класс Java должен теперь выглядеть следующим образом.
    package org.mypackage.hello;
    
    /**
     *
     * @author nbuser
     */
    
    public class NameHandler {
    
        private String name;
    
        /** Creates a new instance of NameHandler */
        public NameHandler() {
           name = null;
        }
    
        public String getName() {
           return name;
        }
    
        public void setName(String name) {
           this.name = name;
        }
    
                        }

Изменение файла JavaServer Pages по умолчанию

  1. Активируйте файл index.jsp, перейдя на вкладку, отображаемую в верхней части редактора исходного кода.
  2. В палитре (Ctrl+Shift+8), расположенной справа от редактора исходного кода, разверните узел "HTML Forms" и перетащите элемент "Form" в позицию, находящуюся в редакторе исходного кода непосредственно после тегов <h1>.

    Появится диалоговое окно "Insert Form".

  3. Установите следующие значения:
    • Action: response.jsp;
    • Method: GET;
    • Name: Name Input Form.

    Нажмите кнопку "OK". К файлу index.jsp добавляется форма HTML.

    Диалоговое окно "Input Form"
  4. Перетащите элемент "Text Input" в позицию непосредственно перед тегом </form>, затем установите следующие значения:
    • Name: name;
    • Type: text.
    Нажмите кнопку "OK". Между тегами <form> будет добавлен тег HTML <input>.
  5. Перетащите элемент "Button" в позицию непосредственно перед тегом </form>. Установите следующие значения:
    • Label: OK;
    • Type: submit.
    Нажмите кнопку "OK". Между тегами <form> будет добавлена кнопка HTML.
  6. Введите Enter your name: непосредственно перед первым тегом <input>, затем измените текст по умолчанию Hello World!, расположенный между тегами <h1>, на Entry Form.
  7. Щелкните правой кнопкой мыши в редакторе исходного кода и выберите "Format" (Alt+Shift+F) для переформатирования кода. Файл index.jsp должен теперь выглядеть следующим образом:
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>Страница JSP</title>
        </head>
        <body>
            <h1>Форма ввода</h1>
    
            <form name="Name Input Form" action="response.jsp">
                Введите имя:
                <input type="text" name="name" />
                <input type="submit" value="OK" />
            </form>
        </body>
    </html>

Создание файлов JavaServer Pages

  1. В окне "Projects" щелкните правой кнопкой мыши узел проекта "HelloWeb" и выберите "New" > "JSP". Откроется мастер "New JSP File". Назовите файл response и нажмите кнопку "Finish". Обратите внимание на то, что узел файла response.jsp отображается в окне "Projects" под файлом index.jsp, а новый файл открывается в редакторе исходного кода.
  2. На палитре справа от редактора исходного кода разверните узел "JSP" и поместите элемент "Use Bean" непосредственно под тегом <body> в редакторе исходного кода. Откроется диалоговое окно "Insert Use Bean". Укажите значения, как показано на следующем рисунке.

    Диалоговое окно "Insert Use Bean", содержащее указанные поля
    • ID: mybean;
    • Class: org.mypackage.hello.NameHandler;
    • Scope: session.
    Нажмите кнопку "OK". Обратите внимание на то, что под тегом <body> добавляется тег <jsp:useBean>.
  3. Перетащите элемент "Set Bean Property" из палитры и поместите его непосредственно перед тегом <h1>. Нажмите кнопку "OK". В появившемся теге <jsp:setProperty> удалите пустой атрибут value и измените его следующим образом: Eсли средой IDE был создан атрибут value = "", удалите его. В противном случае значение name, введенное в форме index.jsp, будет перезаписано.
    <jsp:setProperty name="mybean" property="name" />
    Как указано в документации <jsp:setProperty>, значение свойства можно установить различными способами. В этом случае вводимые пользователем данные из index.jsp становятся парой имя/значение, передаваемой в объект request. При установке свойства с помощью тега <jsp:setProperty> можно указать значение в соответствии с именем свойства, содержащегося в объекте request. Поэтому при определении property в качестве name можно получить значение, указанное пользователем при вводе.
  4. Измените текст между тегами <h1> следующим образом:
    <h1>Hello, ! </h1>
  5. Перетащите элемент "Get Bean Property" из палитры в позицию непосредственно после запятой между тегами <h1>. Укажите следующие значения в диалоговом окне "Insert Get Bean Property":
    • Bean Name: mybean;
    • Property Name: name.
    Нажмите кнопку "OK". Обратите внимание на то, что между тегами <h1> теперь добавлен тег <jsp:getProperty>.
  6. Щелкните правой кнопкой мыши редактор исходного кода и выберите команду "Format" (Alt+Shift+F) для переформатирования кода. Теперь теги <body> файла response.jsp должны выглядеть следующим образом:
    <body>
        <jsp:useBean id="mybean" scope="session" class="org.mypackage.hello.NameHandler" />
        <jsp:setProperty name="mybean" property="name" />
        <h1>Привет, <jsp:getProperty name="mybean" property="name" />!</h1>
    </body>

Выполнение проекта веб-приложения

Для сборки и выполнения веб-приложений в среде IDE используется сценарий сборки Ant. Сценарий сборки создается средой на основе параметров, определенных в мастере создания проекта, а также в диалоговом окне проекта "Project Properties" (в окне "Projects" выберите "Properties" в контекстном меню узла проекта).

  1. В окне "Projects" щелкните правой кнопкой мыши узел проекта "HelloWeb" и выберите "Run" (F6).

    Примечание. По умолчанию проект создается с включенной функцией компиляции при сохранении, поэтому для выполнения приложения в среде IDE его предварительная компиляция не требуется. Для получения дополнительных сведений о функции компиляции при сохранении обратитесь к разделу "Компиляция при сохранении" учебного курса Создание, импорт и настройка проектов Java.

    В обозревателе по умолчанию открывается страница index.jsp

    Страница "index.jsp" в обозревателе
  2. Введите имя в текстовом поле и нажмите кнопку "OK". На экране появится страница response.jsp с простым приветствием.

    Страница "response.jsp" в обозревателе

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

Я создал и запустил проект. При нажатии кнопки "OK" для index.jsp на экране появляется страница ошибки, указывающая на то, что файл response.jsp недоступен.

Убедитесь в том, что используется версия пакета JDK 5 или выше. В главном меню выберите "Help" > "About" и проверьте версию пакета JDK, используемую в среде IDE. Убедитесь в том, что используется версия Tomcat 5.x или выше. Выберите "Tools" > "Servers" в главном меню. Выберите сервер, используемый проектом, и проверьте запись "Server Type", отображаемую в верхней части диалогового окна. Кроме того, можно загрузить демонстрационный проект и сравнить его с собственным проектом.

Я создал и выполнил проект, но имя не выводится на экран, отображается только "Привет, !"

В теге <jsp:setProperty> содержится атрибут value = ""? Он перезаписывает значение, введенное в форме index.jsp и заменяет его пустой строкой. Удалите атрибут value.


Дополнительные сведения

Это заключительный раздел учебного курса "Введение в разработку веб-приложений". В этом документе описано создание простого веб-приложения с использованием среды IDE NetBeans, его развертывание на сервере и просмотр в обозревателе. В нем также рассматривается использование технологий JavaServer Pages и JavaBeans в приложении для сбора, сохранения и вывода пользовательских данных.

Для получения более подробной информации о разработке веб-приложений в среде IDE NetBeans см. приведенные ниже материалы: