| // |
| // Licensed to the Apache Software Foundation (ASF) under one |
| // or more contributor license agreements. See the NOTICE file |
| // distributed with this work for additional information |
| // regarding copyright ownership. The ASF licenses this file |
| // to you under the Apache License, Version 2.0 (the |
| // "License"); you may not use this file except in compliance |
| // with the License. You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, |
| // software distributed under the License is distributed on an |
| // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| // KIND, either express or implied. See the License for the |
| // specific language governing permissions and limitations |
| // under the License. |
| // |
| |
| = Учебная карта по Java EE и веб-приложениям Java |
| :jbake-type: tutorial |
| :jbake-tags: tutorials |
| :jbake-status: published |
| :icons: font |
| :syntax: true |
| :source-highlighter: pygments |
| :toc: left |
| :toc-title: |
| :description: Учебная карта по Java EE и веб-приложениям Java - Apache NetBeans |
| :keywords: Apache NetBeans, Tutorials, Учебная карта по Java EE и веб-приложениям Java |
| |
| |
| == Общее представление о веб-приложении Java |
| |
| Веб-приложение Java создает интерактивные веб-страницы, содержащие различные типы языков разметки (HTML, XML и т.д.), а также динамическое содержимое. Это содержимое обычно формируется веб-компонентами, например страницами JavaServer (JSP), сервлетами и компонентами JavaBean, которые позволяют изменять данные и осуществлять их временное хранение, взаимодействовать с базами данных и веб-службами, а также отображать содержимое в ответ на запросы клиентов. |
| |
| Так как многие задачи разработки веб-приложения могут повторяться или требовать наличия избыточного шаблонного кода, то для уменьшения количества общих действий следует применять веб-платформы. Многие платформы (например, JavaServer Faces) предоставляют библиотеки для создания шаблонов страниц и управления сеансами, а также часто обеспечивают повторное использование кода. |
| |
| |
| == *Общие сведения о Java EE* |
| |
| Java EE (Enterprise Edition) представляет собой широко используемую платформу, содержащую набор взаимосвязанных технологий, которые существенно сокращают стоимость и сложность разработки, развертывания многоуровневых серверных приложений, а также управления ими. Платформа Java EE основана на платформе Java SE и предоставляет набор интерфейсов API (интерфейсов разработки приложений) для разработки и запуска портируемых, надежных, масштабируемых и безопасных серверных приложений. |
| |
| Java EE в числе прочих содержит следующие компоненты: |
| |
| * Enterprise JavaBeans (EJB): управляемая серверная архитектура компонентов, используемая для инкапсуляции бизнес-логики приложения. Технология EJB позволяет осуществлять быструю и упрощенную разработку распределенных, транзакционных, безопасных и переносимых приложений, основанных на технологии Java. |
| * Интерфейс API сохранения состояния Java (Java Persistence API, JPA): инфраструктура, позволяющая разработчикам управлять данными с помощью объектно-реляционного сопоставления (ORM) в приложениях, созданных на платформе Java. |
| |
| |
| == Разработка на JavaScript и Ajax |
| |
| JavaScript представляет собой объектно-ориентированный язык сценариев и в основном используется в клиентских интерфейсах веб-приложений. Ajax (асинхронный JavaScript и XML) является технологией Web 2.0, позволяющей выполнять изменения веб-страницы без ее обновления. Для реализации компонентов и функций Ajax на веб-страницах можно использовать наборы инструментов JavaScript. |
| |
| |
| |
| image::../../images_www/v6/trails/trails-box-tr.png[] image::../../images_www/v6/trails/trails-box-tl.png[] |
| |
| == Начало работы |
| |
| * link:../docs/web/quickstart-webapps.html[+Введение в разработку веб-приложений+] |
| * link:../docs/javaee/javaee-intro.html[+Введение в технологию Java EE +] |
| * link:../docs/javaee/javaee-gettingstarted.html[+Начало работы с приложениями Java EE+] |
| * link:../docs/web/jsf20-intro.html[+Введение в JavaServer Faces 2.x+] |
| * link:../docs/web/ajax-quickstart.html[+Введение в Ajax+] |
| image::../../images_www/v6/trails/trails-box-br.png[] image::../../images_www/v6/trails/trails-box-bl.png[]image::../../images_www/v6/trails/trails-box-tr.png[] image::../../images_www/v6/trails/trails-box-tl.png[] |
| |
| == Учебные курсы и статьи |
| |
| *Учебный курс по электронной коммерции в среде NetBeans* |
| |
| * link:../docs/javaee/ecommerce/intro.html[+Введение+] |
| * link:../docs/javaee/ecommerce/design.html[+Проектирование приложения+] |
| * link:../docs/javaee/ecommerce/setup-dev-environ.html[+Настройка среды разработки+] |
| * link:../docs/javaee/ecommerce/data-model.html[+Проектирование модели данных+] |
| * link:../docs/javaee/ecommerce/page-views-controller.html[+Подготовка представлений страниц и сервлета контроллера+] |
| * link:../docs/javaee/ecommerce/connect-db.html[+Подключение приложения к базе данных+] |
| * link:../docs/javaee/ecommerce/entity-session.html[+Добавление классов сущностей и сеансных компонентов+] |
| * link:../docs/javaee/ecommerce/manage-sessions.html[+Управление сеансами+] |
| * link:../docs/javaee/ecommerce/transaction.html[+Интеграция транзакционной бизнес-логики+] |
| * link:../docs/javaee/ecommerce/language.html[+Добавление поддержки языков+] |
| * link:../docs/javaee/ecommerce/security.html[+Обеспечение безопасности приложений+] |
| * link:../docs/javaee/ecommerce/test-profile.html[+Тестирование и профилирование+] |
| * link:../docs/javaee/ecommerce/conclusion.html[+Заключение+] |
| |
| *Внедрение контекстов и зависимостей* |
| |
| * link:../docs/javaee/cdi-intro.html[+Начало работы с Contexts and Dependency Injection и JSF 2.x+] |
| * link:../docs/javaee/cdi-inject.html[+Работа с внедрением и квалификаторами в CDI+] |
| * link:../docs/javaee/cdi-validate.html[+Применение аннотации @Alternative и аннотаций жизненного цикла+] |
| * link:../docs/javaee/cdi-events.html[+Обработка событий в CDI+] |
| * link:../docs/javaee/maven-osgiservice-cdi.html[+Использование CDI для внедрения пакетов OSGi в качестве служб +] |
| |
| *Разработка веб-приложений на Java* |
| |
| * link:../docs/javaee/maven-websocketapi.html[+Использование WebSocket API в веб-приложении+] |
| * link:../docs/web/jsf-jpa-weblogic.html[+Разработка приложений уровня предприятия для Oracle WebLogic Server+] |
| * link:../docs/web/mysql-webapp.html[+Создание простого веб-приложения, использующего базу данных MySQL+] |
| * link:../docs/web/jsf20-crud.html[+Создание приложения CRUD JavaServer Faces 2.0 из базы данных+] |
| * link:../docs/web/applets.html[+Интеграция апплета в веб-приложение+] |
| * link:../docs/web/security-webapps.html[+Обеспечение безопасности веб-приложения+] |
| * link:../docs/java/profile-loadgenerator.html[+Использование генератора нагрузки в IDE NetBeans+] |
| |
| *Поддержка облаков* |
| |
| * link:../docs/web/oracle-cloud.html[+Запуск веб-приложений в Oracle Cloud+] |
| * link:https://blogs.oracle.com/javatraining/entry/oracle_cloud_development_with_netbeans[+Разработка Oracle Cloud с помощью NetBeans и Eclipse (OEPE)+] (блог Java Training Beat) |
| * Страница wiki NetBeans: link:http://wiki.netbeans.org/AmazonBeanstalkSupport[+Поддержка Amazon Beanstalk+] |
| |
| *Технология EJB и сохранение состояния объектов Java* |
| |
| * link:../docs/javaee/javaee-entapp-junit.html[+Использование встроенного контейнера EJB для тестирования приложений уровня предприятия+] |
| * link:../docs/javaee/javaee-entapp-ejb.html[+Создание приложения уровня предприятия с помощью EJB 3.1+] |
| * link:../docs/javaee/maven-entapp.html[+Создание приложения уровня предприятия с помощью Maven+] |
| * link:../docs/javaee/maven-entapp-testing.html[+Тестирование приложения Maven уровня предприятия+] |
| * link:../docs/javaee/entappclient.html[+Создание и выполнение клиента приложения на сервере GlassFish+] |
| * link:../docs/javaee/secure-ejb.html[+Создание безопасных компонентов уровня предприятия+] |
| * link:../docs/javaee/profiler-javaee.html[+Профилирование приложения уровня предприятия+] |
| * link:http://wiki.netbeans.org/WebLogicJMS[+Использование JMS WebLogic из IDE NetBeans+] |
| |
| *Веб-платформы* |
| |
| * link:../docs/web/jsf20-intro.html[+Введение в JavaServer Faces 2.x+] |
| * link:../docs/web/jsf20-support.html[+Поддержка JSF 2.x+] |
| * link:../docs/web/quickstart-webapps-spring.html[+Веб-модель MVC Spring+] |
| * link:../docs/web/quickstart-webapps-struts.html[+Struts+] |
| * link:../docs/web/grails-quickstart.html[+Grails+] |
| * link:../docs/web/quickstart-webapps-wicket.html[+Wicket+] |
| * link:../docs/web/framework-adding-support.html[+Добавление поддержки веб-платформы+] |
| |
| *Разработка на JavaScript и Ajax* |
| |
| * link:../docs/web/ajax-quickstart.html[+Введение в Ajax+] |
| * link:../docs/web/js-toolkits-jquery.html[+Использование jQuery для улучшения внешнего вида веб-страницы и упрощения работы с ней+] |
| * link:../docs/web/js-toolkits-dojo.html[+Подключение дерева Dojo к списку ArrayList с помощью JSON+] |
| image::../../images_www/v6/trails/trails-box-br.png[] image::../../images_www/v6/trails/trails-box-bl.png[]image::../../images_www/v6/trails/trails-box-tr.png[] image::../../images_www/v6/trails/trails-box-tl.png[] |
| |
| == Экранные демонстрации |
| |
| * link:../docs/javaee/maven-primefaces-screencast.html[+Разработка PrimeFaces с помощью Maven+] |
| * link:../docs/javaee/javaee-gettingstarted-js-screencast.html[+Разработка клиентов JavaScript в Java EE+] |
| * link:../docs/javaee/javaee-gettingstarted-pf-screencast.html[+Разработка на Java EE с использованием PrimeFaces+] |
| * link:../docs/javaee/weblogic-javaee-m1-screencast.html[+Видео развертывания веб-приложения на сервере Oracle WebLogic+] |
| * link:../docs/javaee/javaee-gettingstarted-screencast.html[+Видеоролик о начале работы с приложениями для Java EE 6+] |
| * YouTube: link:http://www.youtube.com/watch?v=0hHkV04JPxo[+WebLogic Server 12c – пятиминутное видео о поддержке дескрипторов в GlassFish+] |
| * YouTube: link:https://www.youtube.com/watch?v=_PDIxHyaWy4[+Начало работы с разработкой PrimeFaces+] |
| * YouTube: link:http://www.youtube.com/watch?v=Uvt1byURZrw[+Разблокирование платформы Java EE6+] |
| * YouTube: link:http://www.youtube.com/watch?v=vaOpJJ-Xm70[+Корректное по отношению к типам внедрение динамических служб OSGi при помощи GlassFish 3.1 и CDI +] |
| * YouTube: link:http://www.youtube.com/watch?v=wcg2SCgTL-4[+HTML5 и веб-сокеты в Glassfish+] |
| * YouTube: link:http://www.youtube.com/watch?v=zdYxdx3FuX0[+Java EE 6 с использованием языков Java 7 на базе GlassFish 3.1.1+] |
| |
| *Видеоролики о приложении Java EE с поддержкой OSGi, подготовленные Аруном Гупта (Arun Gupta)* (YouTube) |
| |
| * YouTube: link:http://www.youtube.com/watch?v=X7GwN4XSzfU[+Вышестоящий проект POM (часть 1 из 6) +] |
| * YouTube: link:http://www.youtube.com/watch?v=eBdLqdvOF_8[+Интерфейс API и пакет OSGi для службы (часть 2 из 6) +] |
| * YouTube: link:http://www.youtube.com/watch?v=TWRt_cFDRHE[+Пакет OSGi для клиента, вызывающий службу OSGi (часть 3 из 6) +] |
| * YouTube: link:http://www.youtube.com/watch?v=bSX89JjQoRM[+Клиент WAB, вызывающий службу OSGi (часть 4 из 6) +] |
| * YouTube: link:http://www.youtube.com/watch?v=6WexZAUeFWM[+Пакет OSGi для клиента, вызывающий службу EJB (часть 5 из 6) +] |
| * YouTube: link:http://www.youtube.com/watch?v=IU4UMTnifhw[+Заключение и другие возможные расширения (часть 6 из 6) +] |
| |
| *Учебный видеокурс по Java EE 6, представленный Аруном Гупта (Arun Gupta)* (YouTube) |
| |
| * link:http://www.youtube.com/watch?v=pwBNmAhtqk8[+ JSP + сервлеты + EJB: Java EE 6 и GlassFish 3 на платформе NetBeans 6.9 (часть 1 из 5) +] |
| * link:http://www.youtube.com/watch?v=_D_vphsAM-Y[+ Java Persistence API 2: Java EE 6 и GlassFish 3 на платформе NetBeans 6.9 (часть 2 из 5) +] |
| * link:http://www.youtube.com/watch?v=-Q25P-oSUJ8[+ Facelets и JSF 2: Java EE 6 и GlassFish 3 на платформе NetBeans 6.9 (часть 3 из 5) +] |
| * link:http://www.youtube.com/watch?v=D1fyKOTO5rw[+ CDI и JSF 2: Java EE 6 и GlassFish 3 на платформе NetBeans 6.9 (часть 4 из 5) +] |
| * link:http://www.youtube.com/watch?v=qf2Jxwpbsuo[+Веб-службы RESTful и JAX-RS: Java EE 6 и GlassFish 3 на платформе NetBeans 6.9 (часть 5 из 5) +] |
| |
| image:::../../images_www/v6/arrow-button.gif[role="left", link="../docs/screencasts.html"]image::../../images_www/v6/trails/trails-box-br.png[] image::../../images_www/v6/trails/trails-box-bl.png[]image::../../images_www/v6/trails/trails-box-tr.png[] image::../../images_www/v6/trails/trails-box-tl.png[] |
| |
| == Примеры приложений |
| |
| * link:../samples/pet-catalog.html[+Pet Catalog – пример приложения на Java EE 6+] |
| * link:../samples/scrum-toys.html[+Scrum Toys – полный пример приложения JSF 2.0+] |
| * link:../samples/jsfjpa.html[+Проверка подлинности пользователя веб-приложения при помощи Java EE+] |
| * link:../samples/webjpa.html[+Использование интерфейса API сохранения состояния объектов Java в автономном веб-приложении +] |
| * link:../samples/javaee-crud.html[+Веб-приложение CRUD на базе JSF с интерфейсом API сохранения состояния объектов Java+] |
| * link:../samples/javaee-stateless.html[+Учет зависимостей при работе с сеансными компонентами без сохранения состояния+] |
| |
| image:::../../images_www/v6/arrow-button.gif[role="left", link="../samples/index.html"]image::../../images_www/v6/trails/trails-box-br.png[] image::../../images_www/v6/trails/trails-box-bl.png[]image::../../images_www/v6/trails/trails-box-tr.png[] image::../../images_www/v6/trails/trails-box-tl.png[] |
| |
| == Документы от сообщества |
| |
| * link:http://netbeans.dzone.com/nb-hierarchical-web-services[+Иерархическая разработка веб-служб с помощью IDE NetBeans+] (автор Джайсурая Венуг (Jayasurya Venug)) (дополнение к учебному курсу по электронной коммерции в NetBeans) |
| * link:http://blog.mueller-bruehl.de/en/tutorial-web-development/[+Учебный курс по веб-разработке (с помощью JSF)+], Майкл Мюллер (Michael Muller) |
| * link:http://wiki.netbeans.org/DevelopJavaEE6App[+Разработка приложения JavaEE 6 с помощью JSF2, EJB3 и JPA+]link:http://netbeans.dzone.com/articles/develop-java-ee-6-app-jsf2[+, Кристофер Лэм (Christopher Lam)+] |
| * link:http://wiki.netbeans.org/SecureJavaEE6App[+Обеспечение безопасности приложения JavaEE 6 с помощью функций безопасности JavaEE+], Кристофер Лэм (Christopher Lam) |
| * link:http://wiki.netbeans.org/CreateReverseAjaxWebAppsWithDWR[+Создание веб-приложений обратного Ajax с помощью DWR, GlassFish и среды NetBeans+], Зигфрид Болз (Siegfried Bolz) |
| * link:http://wiki.netbeans.org/wiki/view/MavenAndNetBeansForGlassFish[+Разработка приложений уровня предприятия для GlassFish с помощью Maven и NetBeans+], Вутер Ван Ривен (Wouter van Reeven) |
| * link:http://wiki.netbeans.org/SpringMVConNetBeansGlassFish[+Разработка приложения шаблона "модель-представление-контроллер" на платформе Spring с помощью GlassFish+], Арулази Дхесиасилан (Arulazi Dhesiaseelan) |
| * link:http://wiki.netbeans.org/MavenSpringEJBsOnGlassfish[+Разработка EJB для Glassfish при помощи Maven2 и Spring+], Кристиан Ринк (Kristian Rink) |
| * link:http://www.adam-bien.com/roller/abien/entry/simplest_possible_ejb_3_13[+Простейший компонент EJB 3.1/REST (JSR 311) +], Эдам Бьен (Adam Bien) |
| * link:http://wiki.netbeans.org/DevelopAjaxJSF2App[+Разработка приложений JSF2 с использованием Ajax в Netbeans 6.8 и PrimeFaces+], Кристофер Лэм (Christopher Lam) |
| |
| image:::../../images_www/v6/arrow-button.gif[role="left", link="http://wiki.netbeans.org/CommunityDocs_Contributions"]image::../../images_www/v6/trails/trails-box-br.png[] image::../../images_www/v6/trails/trails-box-bl.png[]image::../../images_www/v6/trails/trails-box-tr.png[] image::../../images_www/v6/trails/trails-box-tl.png[] |
| |
| == Другие источники |
| |
| *_Разработка приложений в IDE NetBeans_ - Руководство пользователя* |
| |
| * link:http://www.oracle.com/pls/topic/lookup?ctx=nb7400&id=NBDAG1216[+Разработка корпоративных приложений+] |
| * link:http://www.oracle.com/pls/topic/lookup?ctx=nb7400&id=NBDAG1349[+Разработка с использованием Java Persistence+] |
| * link:http://www.oracle.com/pls/topic/lookup?ctx=nb7400&id=NBDAG1035[+Разработка веб-приложений+] |
| * link:http://www.oracle.com/pls/topic/lookup?ctx=nb7400&id=NBDAG1261[+Разработка с использованием корпоративных компонентов+] |
| * link:http://www.oracle.com/pls/topic/lookup?ctx=nb7400&id=NBDAG1649[+Работа с веб-серверами и серверами приложений+] |
| * link:http://www.oracle.com/pls/topic/lookup?ctx=nb7400&id=NBDAG1138[+Работа с платформами веб-приложений+] |
| |
| *Часто задаваемые вопросы* |
| |
| * link:http://wiki.netbeans.org/NetBeansUserFAQ#section-NetBeansUserFAQ-WebFrameworks[+Часто задаваемые вопросы по веб-структурам NetBeans+] |
| * link:http://wiki.netbeans.org/NetBeansUserFAQ#section-NetBeansUserFAQ-JavaEEDevelopment[+Часто задаваемые вопросы по разработке в Java EE+] |
| |
| *Учебные курсы и другие документы* |
| |
| * link:http://docs.oracle.com/javaee/7/tutorial/doc/[+Учебный курс по Java EE 7+] |
| * link:http://docs.oracle.com/javaee/6/tutorial/doc/[+Учебный курс по Java EE 6+] |
| * link:https://glassfish.java.net/[+Присоединяйтесь к сообществу GlassFish! +] |
| * link:http://www.mysql.com/why-mysql/java/[+Материалы по MySQL и Java+] |
| * link:https://weblogs.java.net/blog/caroljmcdonald/archive/2013/09/16/example-backbonejs-jax-rs-jpa-application[+Примеры приложений Backbone.js, JAX-RS, JPA+] |
| * link:http://www.andygibson.net/blog/index.php/2009/12/16/getting-started-with-jsf-2-0-and-cdi-in-jee-6-part-1/[+ Введение в JSF 2.0 и CDI в JEE 6, Часть 1+], link:http://www.andygibson.net/blog/index.php/2009/12/22/getting-started-with-cdi-part-2-injection/[+Часть 2+] |
| * link:http://technology.amis.nl/blog/?p=2613[+Интеграция Seam с Maven, NetBeans и GlassFish +] |
| * link:http://technology.amis.nl/blog/?p=2610[+Совместное использование библиотеки "Hibernate" и компонентов "Facelet" с Maven, NetBeans и GlassFish+] |
| |
| *Блоги* |
| |
| * link:http://www.java.net/blogs/edburns/[+Эд Бернс (Ed Burns)+] |
| * link:https://blogs.oracle.com/arungupta/[+Арун Гупта (Arun Gupta)+] |
| * link:http://www.java.net/blog/6034[+Кей Хорстманн (Cay Horstmann)+] |
| * link:http://blogs.oracle.com/vkraemer/[+Винс Крэмер (Vince Kraemer)+] |
| * link:http://www.java.net/blogs/caroljmcdonald/[+Кэрол Макдонадлд (Carol McDonald)+] |
| * link:http://blogs.oracle.com/geertjan/[+Гиртжан Виленга (Geertjan Wielenga)+] |
| * link:http://blogs.oracle.com/theaquarium/[+Aquarium+] |
| * link:http://buttso.blogspot.com/[+Buttso Blathers+] |
| image::../../images_www/v6/trails/trails-box-br.png[] image::../../images_www/v6/trails/trails-box-bl.png[] |