веб приложение для работы с базой данных java

Работа с базой данных

Подключение к MySQL

Для хранения данных, как правило, используются базы данных. В приложениях на Java мы можем использовать различные системы управления базами данных. Но так как, на сегодняшний день одной из наиболее используемых в приложениях на Java является СУБД MySQL, то основные моменты взаимодействия с БД будут рассматриваться преимущественно на примере MySQL.

Один из способов работы с базой данных представляет использование JDBC. JDBC (Java Database Connectivity) представляет специальный API, благодаря которому мы можем абстрагироваться от конкретной СУБД с ее особенностями и использовать единый интерфейс для работы с различными СУБД.

Для работы с базой данных в приложении на Java через JDBC необходим драйвер. Обычно разработчик каждой отдельной СУБД (MySQL, Oracle, PostgreSQL и т.д.) предоставляет специальный драйвер. Более подробно про аспекты работы в приложении Java можно посмотреть в соответствующем руководстве Java и базы данных. В данном же случае мы сосредосточимся непосредственно на работе с бд именно в JavaEE.

веб приложение для работы с базой данных java. mysql1. веб приложение для работы с базой данных java фото. веб приложение для работы с базой данных java-mysql1. картинка веб приложение для работы с базой данных java. картинка mysql1.

На странице загрузок выберем в поле «Select Operating System» пункт «Platform Independent» и затем загрузим zip-пакет с драйвером.

Распакуем загруженный пакет и найдем файл mysql-connector-java-8.0.12.jar (версия файла может отличаться).

веб приложение для работы с базой данных java. mysql2. веб приложение для работы с базой данных java фото. веб приложение для работы с базой данных java-mysql2. картинка веб приложение для работы с базой данных java. картинка mysql2.

Создадим в Eclipse новый проект по типу Dynamic Web Project и добавим в его папку WebContent/WEB-INF/lib :

веб приложение для работы с базой данных java. mysql3. веб приложение для работы с базой данных java фото. веб приложение для работы с базой данных java-mysql3. картинка веб приложение для работы с базой данных java. картинка mysql3.

Убедимся, что сервер MySQL запущен и сперва проверим, что мы можем подключаться к серверу базы данных. Вначале создадим на сервере MySQL пустую базу данных, которую назовем products и с которой мы будет работать в приложении на Java EE. Для создания базы данных применяется выражение SQL:

Эту команду можно выполнить либо из консольного клиента MySQL Command Line Client, либо из графического клиента MySQL Workbench, которые устанавливются вместе с сервером MySQL. Подробнее про создание базы данных можно прочитать в статье Создание и удаление базы данных.

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

Переменная url хранит строку подключения. В частности, здесь она указывает, что сервер MySQL запущен на локальной машине (localhost), а подключение идет к бд productdb. Переменные username и password указывают соответственно на логин и пароль к серверу MySQL. В каждом конкретном случае эти значения могут отличаться.

Затем идет загрузка драйвера:

И далее создается объект Connection для взаимодействия с базой данной:

В случае удачного подключения после запуска приложения мы увидим соответствующее сообщение в браузере:

веб приложение для работы с базой данных java. mysql4. веб приложение для работы с базой данных java фото. веб приложение для работы с базой данных java-mysql4. картинка веб приложение для работы с базой данных java. картинка mysql4.

Если же что-то установлено неправильно: строка подключения, логин, пароль, не загужен драйвер или что-то еще, то мы увидим сообщение об ошибке.

Источник

Apache NetBeans 12.5

Автор: Трой Джуниперо (Troy Giunipero)

В этом документе описана процедура создания простого веб-приложения, которое подключается к серверу базы данных MySQL. Здесь также рассмотрены основные идеи и технологии веб-разработки, такие какJavaServer Pages (JSP), библиотека стандартных тегов JavaServer Pages (JSTL), интерфейс API связи с базами данных Java (JDBC) и двухуровневая архитектура между клиентом и сервером. Этот учебный курс разработан для начинающих разработчиков, обладающих базовыми знаниями в области веб-разработок и желающих применить свои знания к базе данных MySQL.

MySQL является популярной системой управления базами данных с открытым кодом, которая обычно используется в веб-приложениях благодаря своей скорости, гибкости и надежности. MySQL использует SQL (язык структурированных запросов) для доступа к данным в базе данных и их обработки.

веб приложение для работы с базой данных java. netbeans stamp 80 74 73. веб приложение для работы с базой данных java фото. веб приложение для работы с базой данных java-netbeans stamp 80 74 73. картинка веб приложение для работы с базой данных java. картинка netbeans stamp 80 74 73.

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

7.2, 7.3, 7.4, 8.0, пакет Java EE

Драйвер JDBC MySQL Connector/J

GlassFish Server Open Source Edition 3.1.2.2

Примечания:

Комплект загрузки Java среды IDE NetBeans позволяет пользователям установить сервер GlassFish. Для работы с данным учебным курсом требуется сервер GlassFish.

Если необходимо сравнить проект с работающим решением, можно загрузить демонстрационное приложение.

Планирование структуры

С помощью двухуровневой архитектуры, в которой клиент взаимодействует с сервером напрямую, можно создать простое веб-приложение. В рамках данного учебного курса веб-приложение Java взаимодействует напрямую с базой данных MySQL с использованием API связи с базами данных Java. В сущности, именно драйвер MySQL Connector/J JDBC обеспечивает обмен данными между кодом Java, распознанным сервером приложения (GlassFish), и любым содержимым на SQL, языке, понятном для сервера базы данных (MySQL).

Для реализации описанного выше сценария необходимо разработать простое приложение для организации IFPWAFCAD Международной ассоциации по консультированию и развитию для бывших профессиональных борцов.

index.jsp

веб приложение для работы с базой данных java. index page. веб приложение для работы с базой данных java фото. веб приложение для работы с базой данных java-index page. картинка веб приложение для работы с базой данных java. картинка index page.

response.jsp

веб приложение для работы с базой данных java. response page. веб приложение для работы с базой данных java фото. веб приложение для работы с базой данных java-response page. картинка веб приложение для работы с базой данных java. картинка response page.

Создание нового проекта

Сначала необходимо создать новый веб-проект в среде IDE:

Выберите «Файл > Новый проект» (CTRL+SHIFT+N; &#8984+SHIFT+N в Mac ОС) в главном меню. Выберите категорию «Java Web», а затем выберите «Веб-приложение». Нажмите кнопку «Далее».

веб приложение для работы с базой данных java. new project. веб приложение для работы с базой данных java фото. веб приложение для работы с базой данных java-new project. картинка веб приложение для работы с базой данных java. картинка new project.

С помощью этого мастера можно создать пустое веб-приложение в стандартном проекте IDE. В стандартном проекте для компиляции, развертывания и выполнения приложения используется созданный в среде IDE сценарий сборки проекта Ant.

В поле «Имя проекта» введите «IFPWAFCAD». Также укажите местоположение проекта на компьютере. По умолчанию проекты в среде IDE помещаются в папку NetBeansProjects в домашнем каталоге. Нажмите кнопку «Далее».

В панели «Сервер и параметры» укажите сервер GlassFish в качестве сервера, на котором будет запускаться приложение.

*Примечание.*Сервер GlassFish отображается в раскрывающемся списке ‘Сервер’, если установлена версия Java IDE NetBeans. Поскольку сервер GlassFish включен в загрузку, он регистрируется в среде IDE автоматически. Для использования в проекте другого сервера нажмите кнопку «Добавить» рядом с полем с раскрывающимся списком «Сервер» и зарегистрируйте другой сервер в среде IDE. Работа с другими серверами, помимо GlassFish в рамках данного учебного курса не рассматривается.

В поле «Версия Java EE» выберите Java EE 5.

веб приложение для работы с базой данных java. server settings. веб приложение для работы с базой данных java фото. веб приложение для работы с базой данных java-server settings. картинка веб приложение для работы с базой данных java. картинка server settings.

Для веб-проектов Java EE 6 и Java EE 7 использование дескриптора развертывания web.xml не требуется. Шаблон проекта NetBeans не содержит файл web.xml в проектах Java EE 6 и Java EE 7. Однако в данном учебном курсе рассматривается процесс объявления источника данных в дескрипторе развертывания. Функции, характерные только для Java EE 6 или Java EE 7, не требуются, поэтому в качестве версии проекта можно указать Java EE 5.

Нажмите кнопку «Завершить». Создается шаблон проекта для всего приложения и в редакторе открывается пустая страница JSP ( index.jsp ). Файл `index.jsp`служит в приложении страницей приветствия.

Подготовка веб-интерфейса

Начните с подготовки страницы приветствия ( index.jsp ) и страницы ответов ( response.jsp ). На странице приветствия реализована форма HTML для сбора пользовательских данных. На обеих страницах для просмотра структурированных данных используется таблица HTML. В этом разделе также рассматривается процесс создания таблицы стилей, которая расширяет внешний вид обеих страниц.

Настройка страницы приветствия

Убедитесь, что страница index.jsp открыта в редакторе. Если файл еще не открыт, дважды щелкните index.jsp под узлом «Веб-страницы» проекта IFPWAFCAD в окне «Проекты».

Измените текст между тегами

на Добро пожаловать в IFPWAFCAD, Международную ассоциацию по консультированию и развитию для бывших профессиональных борцов!

Откройте палитру среды IDE, выбрав в главном меню «Окно» > «Палитра» (CTRL+SHIFT+8; &#8984+SHIFT+8 в ОС Mac). Наведите курсор на значок «Таблица» в категории «HTML» и обратите внимание на то, что отображается фрагмент кода для элемента по умолчанию.

веб приложение для работы с базой данных java. palette. веб приложение для работы с базой данных java фото. веб приложение для работы с базой данных java-palette. картинка веб приложение для работы с базой данных java. картинка palette.

Установите курсор сразу же после тегов

. (Именно в этом месте будет внедрена новая таблица HTML). Далее в окне «Палитра» дважды щелкните значок «Таблица».

В появившемся диалоговом окне «Вставка таблицы» укажите следующие значения и затем нажмите кнопку «ОК»:

Рядов: 2

Столбцов: 1

Размер границы: 0 Код таблицы HTML создан и добавлен на страницу.

Добавьте следующее содержимое в заголовок таблицы и ячейку первой строки таблицы (новое содержимое выделено полужирным шрифтом):

веб приложение для работы с базой данных java. insert form. веб приложение для работы с базой данных java фото. веб приложение для работы с базой данных java-insert form. картинка веб приложение для работы с базой данных java. картинка insert form.

Нажмите клавишу Enter, чтобы добавить пустую строку после добавленного содержимого, затем дважды щелкните «Список» в палитре, чтобы открыть диалоговое окно «Вставить список».

В диалоговом окне «Вставить список» ведите subject_id для текстового поля «Имя» и нажмите «OK». Обратите внимание на то, что к форме добавляется фрагмент кода для раскрывающегося списка.

Количество параметров для раскрывающегося списка не имеет значения. Позже в этом учебном курсе будет показано добавление тегов JSTL для динамического создания на основе данных, полученных из таблицы базы данных «Subject».

Для форматирования кода щелкните правой кнопкой мыши в редакторе и выберите ‘Формат’ (Alt-Shift-F; Ctrl-Shift-F в Mac). Код автоматически форматируется и должен теперь выглядеть следующим образом:

Для просмотра этой страницы в браузере щелкните правой кнопкой мыши в редакторе и выберите ‘Запустить файл’ (Shift-F6; Fn-Shift-F6 в Mac). После этого страница JSP будет автоматически скомпилирована и развернута на сервере. Открывается браузер по умолчанию, и в нем выводится страница из местоположения, где она развернута.

веб приложение для работы с базой данных java. browser output. веб приложение для работы с базой данных java фото. веб приложение для работы с базой данных java-browser output. картинка веб приложение для работы с базой данных java. картинка browser output.

Создание страницы ответов

Для подготовки интерфейса для страницы response.jsp сначала необходимо создать файл в проекте. Обратите внимание на то, что большая часть содержимого, отображаемого на странице, создана динамически с помощью технологии JSP. Поэтому в следующих шагах будет необходимо добавить метки-заполнители, которые позже будут заменены кодом JSP.

Щелкните правой кнопкой мыши узел проекта «IFPWAFCAD» в окне «Проекты» и выберите «Создать > JSP». Откроется диалоговое окно «Новый файл JSP».

веб приложение для работы с базой данных java. response jsp node. веб приложение для работы с базой данных java фото. веб приложение для работы с базой данных java-response jsp node. картинка веб приложение для работы с базой данных java. картинка response jsp node.

Hello World!

Для просмотра этой страницы в браузере щелкните правой кнопкой мыши в редакторе и выберите ‘Запустить файл’ (Shift-F6; Fn-Shift-F6 в Mac). Выполняется компиляция и развертывание страницы на сервере GlassFish с последующим открытием в браузере по умолчанию.

веб приложение для работы с базой данных java. browser response. веб приложение для работы с базой данных java фото. веб приложение для работы с базой данных java-browser response. картинка веб приложение для работы с базой данных java. картинка browser response.

Создание таблицы стилей

Откройте мастер создания файлов, нажав кнопку ‘Создать файл’ ( веб приложение для работы с базой данных java. new file btn. веб приложение для работы с базой данных java фото. веб приложение для работы с базой данных java-new file btn. картинка веб приложение для работы с базой данных java. картинка new file btn.) на главной панели инструментов IDE. Выберите категорию «Web», а затем выберите «Каскадная таблица стилей» и нажмите кнопку «Далее».

В редакторе добавьте следующее содержимое к файлу style.css :

Для быстрого перехода между открытыми в редакторе файлами нажмите CTRL+TAB, а затем выберите требуемый файл.

Подготовка средств обмена данными между приложениями и базой данных

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

*Примечание. *Для дальнейшей работы необходимо убедиться в том, что база данных MySQL с именем MyNewDatabase настроена корректно и содержит данные примера из ifpwafcad.sql. Этот файл SQL создает две таблицы Subject и Counselor и затем заполняет их данными для примера. Если это не было выполнено ранее, или с этим заданием возникли сложности, то прежде чем продолжить учебный курс, обратитесь к разделу Подключение к базе данных MySQL.

Помимо этого для создания источника данных и работы с сервером GlassFish в рамках данного учебного курса необходимо защитить базу данных паролем. При использовании учетной записи MySQL root по умолчанию с пустым паролем с помощью командной строки можно установить другой пароль.

Дополнительные сведения приведены в официальном справочном руководстве по работе с MySQL: Защита исходных учетных записей MySQL.

Источник

Работаем с базами данных в Java (на примере Microsoft SQL Server)

Практически ни одно серьёзное современное приложение не обходится без баз данных. Поэтому на сегодняшний день практически все основные языки программирования поддерживают работу с ними. Java не исключение.

Рассмотрим работу с базами данных в Java на примере Microsoft SQL Server.

В Java для доступа к базам данных используется технология JDBC. Это платформенно-независимый стандарт, который поддерживает большинство современных СУБД.

Работа с базами данных с помощью JDBC строится по следующему алгоритму:

Подключение драйвера СУБД к проекту

Драйвер СУБД для JDBC, если он не входит в состав JDK, как правило, можно скачать с официального веб ресурса её разработчика. В частности, JDBC драйвер для Microsoft SQL Server можно скачать здесь.

Драйвер СУБД представляет собой обычный jar файл. Его подключение к проекту ничем не отличается от подключения любой другой библиотеки.

Подключение приложения к базе данных

Вначале требуется сформировать строку подключения. Для Microsoft SQL Server она имеет следующий вид.

Рассмотрим подробнее шаблон строки подключения (переменная connectionUrl). Он начинается с двух ключевых параметров отделённых друг от друга и остальной части строки подключения двоеточиями:

После идентификатора драйвера следует описание параметров подключения в соответствии с требованиями той или иной конкретной СУБД.

В случае Microsoft SQL Server имя сервера необходимо указывать в формате имя_хоста\имя_экземпляра. Например: ServerDB\SQLSERVER_1. При этом не играет роли, откуда осуществляется подключение, локально с самого хоста или по сети.

На это необходимо обратить особе внимание, так как даже в статье на TechNet строка подключения приведена с ошибкой. По крайней мере, с новым драйвером, который поддерживает последние версии Microsoft SQL Server и Java, приведённая в ней строка подключения по факту не работает.

После формирования строки подключения следует зарегистрировать драйвер СУБД.

Источник

Веб приложение для работы с базой данных java

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

Сервер баз данных

Сама идея сервера баз данных и СУБД в виде отдельной программы появилось по совершенно очевидным причинам. Базы данных мгновенно стали МНОГОПОЛЬЗОВАТЕЛЬСКИМИ. Данные нужны всем и возможность одновременного доступа к ним является очевидной. Проблема базы данных в виде обычного файла заключается в том, что к этому файлу будет обращаться сарзу много программ, каждая из которых захочет внести изменения или получить данные. Организовать такой доступ на уровне файловой системы — по сути, невыполнимая задача.
Во-первых — файл должен быть доступен всем пользователям, что требует перекачку данных по сети и хранение этого файла где-то на сетевом диске. Большие объемы данных по сети (пусть даже с высокой скоростью) — кроме слова “отвратительно” у меня ничего не приходит на ум.
Во-вторых — попытка одновременной записи в файл несколькими программами обречена на провал. Для организации такого доступа обычной файловой системы явно не достаточно.
В-третьих — организация прав доступа к тем или иным данным тоже становится непосильной задачей.
В-четвертых — надо “разруливать” конфликты при одновременном доступе к одним и тем же данным.
После небольшого анализа, кроме этих вопросов, можно увидеть еще немалое количество проблем, которые надо решить при мультипользовательском доступе к данным.
В итоге было принято (и реализовано) вполне здравое решение — написать специальную программу, которая имеет несколько названий — Система Управления Базами Данных (СУБД), сервер баз данных и т.д. Я буду называть ее СУБД.
Суть и цель этой программы — организовать централизованный доступ к данным. Т.е. все запросы на получение или изменение данных от клиентских приложений (клинетов) посылаются (обычно по сети и по протоколу TCP/IP) именно в эту программу. И уже эта программа будет заниматься всеми вышеупомянутыми проблемами:

В итоге мы получаем достаточно ясную архитектуру — есть СУБД, которая сосредоточена на работе с данными и есть клиенты, которые могут посылать запросы к СУБД.

веб приложение для работы с базой данных java. database 001. веб приложение для работы с базой данных java фото. веб приложение для работы с базой данных java-database 001. картинка веб приложение для работы с базой данных java. картинка database 001.

При работе с СУБД клиенты должны решить достаточно четкие задачи:

SQL базы данных

JDBC — Java Database Connectivity — архитектура

Если попробовать определить JDBC простыми словами, то JDBC представляет собой описание интерфейсов и некоторых классов, которые позволяют работать с базами данных из Java. Еще раз: JDBC — это набор интерфейсов (и классов), которые позволяют работать с базами данных.
И вот с этого момента я попробую написать более сложное и в тоже время более четкое описание архитектуры JDBC. Главным принципом архитектуры является унифицированный (универсальный, стандартный) способ общения с разными базами данных. Т.е. с точки зрения приложения на Java общение с Oracle или PostgreSQL не должно отличаться. По возможности совсем не должно отличаться.
Сами SQL-запросы могут отличаться за счет разного набора функций для дат, строк и других. Но это уже строка запроса другая, а алгоритм и набор команд для доставки запроса на SQL-сервер и получение данных от SQL-сервера отличаться не должны.

Думаю, что вы уже догадались — типичный полиморфизм через интерфейсы. Именно на этом и строится архитектура JDBC. Смотрим рисунок.

веб приложение для работы с базой данных java. database 002. веб приложение для работы с базой данных java фото. веб приложение для работы с базой данных java-database 002. картинка веб приложение для работы с базой данных java. картинка database 002.

Как следует из рисунка, приложение работает с абстракцией JDBC в виде набора интерфейсов. А вот реализация для каждого типа СУБД используется своя. Эта реализация называется “JDBC-драйвер”. Для каждого типа СУБД используется свой JDBC-драйвер — для Oracle свой, для MySQL — свой. Как приложение выбирает, какой надо использовать, мы увидим чуть позже.
Что важно понять сейчас — система JDBC позволяет загрузить JDBC-драйвер для конкретной СУБД и единообразно использовать компоненты этого драйвера за счет того, что мы к этим компонентам обращаемся не напрямую, а через интерфейсы.
Т.е. наше приложение в принципе не различает, обращается оно к Oracle или PostgreSQL — все обращения идут через стандартные интерфейсы, за которыми “прячется” реализация.

Пока я предлагаю отметить несколько важных интерфейсов, которые мы будем рассматривать позже, но мне бы хотелось, чтобы у вас этот список уже был, чтобы вы могли по мере прочтения отмечать — “да, вот он важный интерфейс/класс и я теперь знаю, куда он встраивается”. Вот они:

Теперь давайте рассмотрим несложный пример и поймем, как работает JDBC.

JDBC — пример соединения и простого вызова

Попробуем посмотреть на несложном примере, как используется JDBC-драйвер. В нем же мы познакомимся с некоторыми важными интерфейсами и классами.

Предварительно нам необходимо загрузить JDBC-драйвер для PostgreSQL. На данный момент это можно сделать со страницы PostgreSQL JDBC Download

Если вы не нашли эту страницу, то просто наберите в поисковике “PostgreSQL JDBC download” и в первых же строках найдете нужную страницу.
Т.к. я пишу эти статьи для JDK 1.7 и 1.8, то я выбрал строку “JDBC41 Postgresql Driver, Version 9.4-1208” — может через пару-тройку лет это будет уже не так.
Если вы выполнили SQL-скрипт из раздела Установка PostgreSQL, который создавал таблицу JC_CONTACT и вставил туда пару строк, то эта программа позволит вам “вытащить” эти данные и показать их на экране. Это конечно же очень простая программа, но на ней мы сможем посмотреть очень важные моменты. Итак, вот код:

Для запуска этой програмы необходимо подключить JDBC-драйвер для PostgreSQL. Прочитайте раздел Что такое JAR-файлы для того, чтобы подключить нужный JAR с JDBC-драйвером к проекту в NetBeans.
Для запуска нашей программы из командной строки достаточно собрать этот код (причем здесь не надо подключать JAR на этапе компиляции — только на момент запуска).
Итак, команда для сборки:

И теперь команда для запуска:

Для запуска проекта в NetBeans предлагаю вам самостоятельно разобраться, как подключить JAR-файл — пример этого указан в статье Что такое JAR-файлы

Начнем разбор нашей программы с самого начала. Итак, в чем же заключается набор вызовов для создания соединения с базой

Вызов Class.forName() мы уже встречали, когда разговаривали о рефлексии. Если вы этого не сделали — обязательно прочитайте, иначе многое будет непонятно. Так вот наш вызов загружает один из ключевых классов JDBC, который реализует очень важный интерфейс java.sql.Driver. Почему этот класс так важен, мы разберем чуть ниже.
Следующим важным вызовом явлется DriverManager.getConnection(url, login, password);.
Думаю, что параметры login и password достаточно оччевидны — это логин и пароль для подключения к СУБД. А вот первый параметр — url надо рассмотреть подробно.
Параметр url является строкой и я люблю его разбивать на две части. Первая часть jdbc:postgresql: позволяет идентифицировать, к какому типу СУБД вы подключаетесь — Oracle, MySQL, PostgreSQL, IBM DB2, MS SQL Server. В нашем случае тип базы данных — PostgreSQL.
Вторая часть — //localhost:5432/contactdb — определяет конкретный экземпляр выбранной базы данных. Т.е. если первая часть url указывает, что мы хотим работать с PostgreSQL, то вторая часть указывает на каком хосте и на каком порту (опять вспоминаем основы TCP/IP) работает конкретный экземпляр PostgreSQL. Еще раз — первая часть поределяет только тип, вторая часть — параметры оединения с конкретным экземпляром СУБД.
Как вы можете видеть, вторая часть включает помимо IP-адреса и порта (localhost:3306) включает имя базы данных, с которой вы будете соединяться.

Источник

Руководство по Создание веб-приложения Java с использованием Azure Cosmos DB и API SQL

ПРИМЕНИМО К: веб приложение для работы с базой данных java. yes. веб приложение для работы с базой данных java фото. веб приложение для работы с базой данных java-yes. картинка веб приложение для работы с базой данных java. картинка yes.API SQL

В этом руководстве по разработке веб-приложения Java показано, как использовать службу Microsoft Azure Cosmos DB для хранения данных и обеспечения доступа к ним из приложения Java, размещенного в Azure при помощи функции «Веб-приложения службы приложений». В этой статье вы узнаете следующее:

В данном руководстве рассказывается о том, как создать веб-приложение для управления задачами, с помощью которого можно создавать и извлекать задачи, а также помечать их как завершенные, как показано на рисунке ниже. Каждая задача из списка ToDo будет храниться в виде документов JSON в службе Azure Cosmos DB.

веб приложение для работы с базой данных java. image1. веб приложение для работы с базой данных java фото. веб приложение для работы с базой данных java-image1. картинка веб приложение для работы с базой данных java. картинка image1.

В данном учебнике по разработке приложения предполагается, что у вас имеется некоторый опыт использования Java. Если вы никогда не работали с Java или необходимыми инструментами, мы рекомендуем скачать полный учебный проект todo с портала GitHub и создать его, следуя инструкциям, приведенным в конце этой статьи. После создания ознакомьтесь со статьей, чтобы разобраться в коде этого проекта.

Необходимые условия для изучения этого учебника по разработке веб-приложения Java

Для работы с этим учебником необходимы:

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись, прежде чем начинать работу.

При первой установке этих средств воспользуйтесь пошаговыми инструкциями, представленными в разделе «Быстрый запуск» статьи Tutorial: Installing TomCat7 and Using it with Eclipse (Руководство по установке TomCat7 и его использованию с Eclipse) на сайте coreservlets.com.

Создание учетной записи Azure Cosmos DB

Давайте сначала создадим учетную запись Azure Cosmos DB. Если у вас уже есть учетная запись или вы используете эмулятор Azure Cosmos DB для работы с этим руководством, можно перейти к разделу Шаг 2. Создание приложения Java JSP.

На домашней странице или в меню портала Azure выберите Создать ресурс.

На странице Создание найдите и выберите Azure Cosmos DB.

На странице Azure Cosmos DB выберите Создать.

На странице создания учетной записи Azure Cosmos DB введите основные параметры для новой учетной записи Azure Cosmos.

ПараметрЗначениеОписание
Подпискаимя подписки;Выберите подписку Azure, которую нужно использовать для этой учетной записи Azure Cosmos.
Группа ресурсовИмя группы ресурсовВыберите группу ресурсов или Создать, затем введите уникальное имя для новой группы ресурсов.
Имя учетной записиУникальное имяВведите имя для идентификации учетной записи Azure Cosmos. Так как элемент documents.azure.com добавляется к указанному вами имени для создания URI, используйте уникальное имя.

Имя может содержать только строчные буквы, цифры и знак дефиса (-). Длина — от 3 до 44 знаков.

APIТип учетной записи, которую нужно создать.Выберите Core (SQL) для создания базы данных документов и запроса с использованием синтаксиса SQL.

API определяет тип учетной записи, которую нужно создать. Azure Cosmos DB предоставляет пять API: Core (SQL) и MongoDB для данных документа, Gremlin для данных графа, таблица Azure и Cassandra. Сейчас для каждого API требуется создавать отдельную учетную запись.

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

РасположениеБлижайший к пользователям регионВыберите географическое расположение для размещения учетной записи Azure Cosmos DB. Используйте ближайшее к пользователям расположение, чтобы предоставить им максимально быстрый доступ к данным.
Режим емкости«Подготовленная пропускная способность» или «Бессерверный»Выберите Подготовленная пропускная способность, чтобы создать учетную запись в режиме подготовленной пропускной способности. Выберите Бессерверный, чтобы создать учетную запись в режиме Бессерверный.
Применение скидки на основе категории «Бесплатный» для Azure Cosmos DBПрименить или не применятьВ категории «Бесплатный» Azure Cosmos DB для учетной записи бесплатно предоставляются первые 1000 единиц запросов в секунду и 25 ГБ свободного места. Ознакомьтесь с дополнительными сведениями о категории «Бесплатный».

Вы можете использовать не более одной учетной записи Azure Cosmos DB категории «Бесплатный» на подписку Azure. При создании учетной записи нужно зарегистрироваться. Если параметр подачи заявки на скидку на основе категории «Бесплатный» не отображается, это означает, что в подписке уже включена другая учетная запись категории «Бесплатный».

веб приложение для работы с базой данных java. azure cosmos db create new account detail. веб приложение для работы с базой данных java фото. веб приложение для работы с базой данных java-azure cosmos db create new account detail. картинка веб приложение для работы с базой данных java. картинка azure cosmos db create new account detail.

На вкладке Глобальное распределение настройте следующие сведения. При работе с этим кратким руководством можно оставить значения по умолчанию.

ПараметрЗначениеОписание
ГеоизбыточностьОтключитьВключает или отключает глобальное распределение в вашей учетной записи, связывая ваш регион с парным регионом. В дальнейшем в учетную запись можно добавить дополнительные регионы.
Операции записи с поддержкой нескольких регионовОтключитьПоддержка записи в несколько регионов позволяет использовать подготовленную пропускную способность для баз данных и контейнеров по всему миру.

Следующие параметры недоступны, если вы выбрали значение Бессерверный для параметра Режим емкости:

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

Выберите Review + create (Просмотреть и создать).

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

веб приложение для работы с базой данных java. azure cosmos db account created. веб приложение для работы с базой данных java фото. веб приложение для работы с базой данных java-azure cosmos db account created. картинка веб приложение для работы с базой данных java. картинка azure cosmos db account created.

Выберите Перейти к ресурсу, чтобы перейти на страницу учетной записи Azure Cosmos DB.

веб приложение для работы с базой данных java. azure cosmos db account created 2. веб приложение для работы с базой данных java фото. веб приложение для работы с базой данных java-azure cosmos db account created 2. картинка веб приложение для работы с базой данных java. картинка azure cosmos db account created 2.

Перейдите на страницу учетной записи Azure Cosmos DB и нажмите на кнопку Ключи. Скопируйте значения, которые понадобятся в создаваемом веб-приложении.

веб приложение для работы с базой данных java. copy keys. веб приложение для работы с базой данных java фото. веб приложение для работы с базой данных java-copy keys. картинка веб приложение для работы с базой данных java. картинка copy keys.

Создание приложения Java JSP

Для создания приложения JSP:

Сначала необходимо создать проект Java. В меню Eclipse выберите File (Файл), щелкните New (Создать), а затем выберите Dynamic Web Project (Динамический веб-проект). Если элемента Dynamic Web Project (Динамический веб-проект) нет в списке доступных проектов, откройте меню File (Файл), щелкните пункт New (Создать), а затем выберите Project (Проект), разверните список Web (Интернет), выберите Dynamic Web Project (Динамический веб-проект) и нажмите кнопку Next (Далее).

веб приложение для работы с базой данных java. image10. веб приложение для работы с базой данных java фото. веб приложение для работы с базой данных java-image10. картинка веб приложение для работы с базой данных java. картинка image10.

Введите имя проекта в соответствующем поле и в раскрывающемся меню Target Runtime (Целевая среда выполнения). Если необходимо, выберите значение (например, Apache Tomcat v7.0), а затем нажмите кнопку Finish (Готово). Выбор целевой среды выполнения позволит вам запустить локальный проект через Eclipse.

В обозревателе проектов Eclipse разверните проект. Щелкните правой кнопкой мыши WebContent, выберите Создать, затем щелкните JSP File (JSP-файл).

В диалоговом окне New JSP File (Новый JSP-файл) укажите для файла имя index.jsp. Сохраните родительскую папку с именем WebContent, как показано на следующей иллюстрации, и нажмите кнопку Next (Далее).

веб приложение для работы с базой данных java. image11. веб приложение для работы с базой данных java фото. веб приложение для работы с базой данных java-image11. картинка веб приложение для работы с базой данных java. картинка image11.

В диалоговом окне Select JSP Template (Выбор шаблона JSP) в целях обучения выберите New JSP File (html) (Новый JSP-файл (html)) и нажмите кнопку Finish (Готово).

Сохраните файл index.jsp.

Если вы задали целевую среду выполнения в рамках шага 2, можете щелкнуть Project (Проект), а затем Run (Запуск) для локального запуска приложения JSP:

веб приложение для работы с базой данных java. image12. веб приложение для работы с базой данных java фото. веб приложение для работы с базой данных java-image12. картинка веб приложение для работы с базой данных java. картинка image12.

Установка пакета Java SDK для SQL

Самый простой способ извлечь данные из пакета Java SDK для SQL и его зависимости — использовать Apache Maven. Для этого необходимо преобразовать проект в проект Maven, выполнив приведенные ниже действия.

Щелкните правой кнопкой мыши проект в обозревателе проектов, выберите Configure (Настроить) и щелкните Convert to Maven Project (Преобразовать в проект Maven).

В окне Create new POM (Создать новый POM) примите параметры по умолчанию и нажмите кнопку Finish (Готово).

В обозревателе проектов откройте файл pom.xml.

На вкладке Dependencies (Зависимости) в соответствующей колонке щелкните Add (Добавить).

В окне Select Dependency (Выбор зависимости) выполните следующие действия.

Либо можно добавить зависимость XML для идентификаторов группы и артефакта непосредственно в файл pom.xml:

Нажмите кнопку OK, и Maven установит пакет Java SDK для SQL или сохранит файл pom.xml.

Использование службы Azure Cosmos DB в приложении Java

Теперь мы добавим в веб-приложение модели, представления и контроллеры.

Добавление модели

Сначала определим модель в новом файле TodoItem.java. Класс TodoItem определяет схему элемента вместе с методами получения и задания:

Добавление классов объекта доступа к данным (DAO)

Создайте объект доступа к данным (DAO) для абстрагирования сохранения элементов ToDo в Azure Cosmos DB. Для сохранения элементов ToDo в коллекции клиент должен знать, какие базы данных и коллекции необходимо связать (с помощью самостоятельных ссылок). Как правило, лучше всего кэшировать базы данных и коллекции, если это возможно для того, чтобы избежать дополнительных обращений к базе данных.

Создайте файл TodoDao.java и добавьте класс TodoDao для создания, обновления, чтения и удаления элементов ToDo:

Добавление контроллера

Добавьте в приложение контроллер TodoItemController. В этом проекте вы используете проект Lombok для создания конструктора, получателя, задания и построителя. Кроме того, можно написать следующий код вручную либо создать его в IDE.

Создание сервлета

Далее создайте сервлет, чтобы перенаправлять запросы HTTP к контроллеру. Создайте файл ApiServlet.java и определите в нем приведенный ниже код.

Подключение другой части приложения Java

Теперь нам необходимо создать пользовательский интерфейс и привязать его к нашему объекту DAO.

Вам потребуется пользовательский веб-интерфейс, который будет отображаться для пользователя. Повторно напишем файл index.jsp, созданный ранее, использовав следующий код:

Наконец, запишем несколько сценариев Javascript на стороне клиента, чтобы связать пользовательский веб-интерфейс и сервлет.

Теперь осталось протестировать приложение. Запустите приложение локально и добавьте несколько элементов Todo, заполнив имя элемента и категории и нажав кнопку Add Task(Добавить задачу). После появления элемента вы можете проверить его завершение, отметив флажком и щелкнув команду Обновить задачи.

Развертывание приложения Java на веб-сайтах Azure

Веб-сайты Azure упрощают развертывание приложений Java с помощью простого экспорта приложения в виде WAR-файла либо с помощью загрузки через систему управления версиями (например, GIT) или через клиент FTP.

Чтобы экспортировать приложение в виде WAR-файла, щелкните правой кнопкой мыши проект в обозревателе проектов, выберите Export (Экспорт) и щелкните WAR File (WAR-файл).

В окне WAR Export (Экспорт WAR-файла) выполните следующие действия:

Теперь, когда вы создали WAR-файл, можно просто передать его на веб-сайт Azure в каталог webapps. Инструкции по передаче файла см. в статье Добавление приложения Java в веб-приложения службы приложений Azure. После загрузки WAR-файла в каталог веб-приложения среда выполнения обнаруживает, что вы добавили его, и автоматически его загрузит.

Чтобы оценить готовый продукт, перейдите к http://YOUR\_SITE\_NAME.azurewebsites.net/azure-cosmos-java-sample/ и приступайте к добавлению задач.

Получение проекта из GitHub

Установите проект Lombok. Lombok используется для формирования конструкторов, получателей и заданий в проекте. Дважды щелкните загруженный файл lombok.jar для установки или установите его из командной строки.

Если открыта рабочая область Eclipse, закройте ее и запустите снова для загрузки проекта Lombok.

В Eclipse откройте меню File (Файл) и щелкните Import (Импорт).

В окне Import (Импорт) щелкните Git, а затем выберите Projects from Git (Проекты из Git) и нажмите кнопку Next (Далее).

На экране Select Repository Source (Выбрать источник репозитория) щелкните Clone URI (Клон URI).

На экране исходного репозитория Git в поле URI введите https://github.com/Azure-Samples/azure-cosmos-java-sql-api-todo-app, а затем нажмите кнопку Далее.

На экране Branch Selection (Выбор ветви) выберите значение main и нажмите кнопку Next (Далее).

На экране Local Destination (Локальная папка назначения) нажмите кнопку Browse (Обзор), выберите папку, в которую можно копировать репозитории, и нажмите кнопку Next (Далее).

Проверьте, установлен ли на экране Select a wizard to use for importing projects (Выбор мастера для импорта проектов) флажок Import existing projects (Импортировать существующие проекты), и нажмите кнопку Next (Далее).

На экране Import Projects (Импорт проектов) снимите флажок возле проекта DocumentDB и нажмите кнопку Finish (Готово). В проекте DocumentDB содержится пакет Java SDK для Azure Cosmos DB, который будет добавлен в качестве зависимости.

В обозревателе проектов перейдите в расположение azure-cosmos-java-sample\src\com.microsoft.azure.cosmos.sample.dao\DocumentClientFactory.java и замените значения HOST и MASTER_KEY значениями URI и первичного ключа своей учетной записи Azure Cosmos DB, а затем сохраните файл. Дополнительные сведения см. в инструкции Шаг 1. Создание учетной записи базы данных Azure Cosmos.

В обозревателе проектов щелкните правой кнопкой элемент azure-cosmos-java-sample, а затем выберите Build Path (Путь сборки) и щелкните Configure Build Path (Настроить путь сборки).

На экране Java Build Path (Путь сборки Java) в правой области откройте вкладку Libraries (Библиотеки) и щелкните Add External JAR (Добавить внешние JAR-файлы). Перейдите в расположение файла lombok.jar, щелкните Open (Открыть), а затем нажмите кнопку ОК.

Используйте инструкцию из шага 12, то есть снова откройте окно Properties (Свойства), а затем в левой области щелкните Targeted Runtimes (Целевые среды выполнения).

На экране Targeted Runtimes (Целевые среды выполнения) щелкните New (Создать), выберите Apache Tomcat v7.0 и нажмите кнопку ОК.

Используйте инструкцию из шага 12, то есть снова откройте окно Properties (Свойства), а затем в левой области щелкните Project Facets (Аспекты проекта).

На экране Project Facets (Аспекты проекта) выберите Dynamic Web Module (Динамический веб-модуль) и Java, а затем нажмите кнопку ОК.

На вкладке Servers (Серверы) в нижней части экрана щелкните правой кнопкой мыши Tomcat v7.0 Server at localhost (Tomcat v7.0 Server на localhost), а затем нажмите кнопку Add and Remove (Добавить или удалить).

В окне Add and Remove (Добавление и удаление) переместите элемент azure-cosmos-java-sample в поле Configured (Настроено), а затем нажмите кнопку Finish (Готово).

На вкладке Server (Сервер) щелкните правой кнопкой мыши Tomcat v7.0 Server at localhost (Сервер Tomcat версии 7.0 на localhost), а затем нажмите кнопку Restart (Перезапуск).

В браузере перейдите к http://localhost:8080/azure-cosmos-java-sample/ и приступите к добавлению задач в список. Обратите внимание, что в случае изменения заданных по умолчанию значений портов необходимо изменить значение 8080 выбранным вами значением.

Инструкции по развертыванию проекта на веб-сайтах Azure см. в пункте Шаг 6. Развертывание приложений на веб-сайтах Azure.

Дальнейшие действия

Пытаетесь выполнить планирование ресурсов для миграции на Azure Cosmos DB? Можете использовать для этого сведения о существующем кластере базы данных.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *