ОБЗОР И ИСПОЛЬЗОВАНИЕ ТЕХНОЛОГИИ STRUTS, JSP И СОЗДАНИЕ ВЕБ-ПРИЛОЖЕНИЙ НА JAVA - Студенческий научный форум

IX Международная студенческая научная конференция Студенческий научный форум - 2017

ОБЗОР И ИСПОЛЬЗОВАНИЕ ТЕХНОЛОГИИ STRUTS, JSP И СОЗДАНИЕ ВЕБ-ПРИЛОЖЕНИЙ НА JAVA

Андреев А.В. 1
1Балаковский инженерно-технологический институт – филиал федерального государственного автономного образовательного учреждения высшего образования «Национальный исследовательский ядерный университет (МИФИ)»
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
Введение

Недостатки платформ приложений серверной стороны, такие как низкая функциональность, отсутствие визуальных средств управления, трудности с масштабированием привели к тому, что практически каждая компания создает свой инструментарий для получения более эффективной среды разработки. Также существует достаточное количество свободно распространяемых разработок и опубликованных исследований. Все подобные системы спроектированы для облегчения управления и изменения сайта (или сайтов, в зависимости от архитектуры системы), оперативного внесения изменений в содержание и дизайн, то есть то, чего не хватает базовым технологиям, хотя можно выделить два основных направления развития таких систем: простое построение сайта для непрофессиональных пользователей, и предоставление платформы для построения сложных Web – систем [1].

В связи с развитием Internet из клиент-серверных ИС в последнее время выделяют особый класс информационных систем – Web-базированные ИС. В таких системах используются технологии динамической генерации ответа в виде HTML-страниц на запрос клиента и отправки ему таких страниц с помощью Internet. Такие системы являются наиболее популярными в последнее время из-за своей удобности, надежности и простоты. Web-базированные системы не ограничены масштабами локальной сети предприятия, поэтому они все чаще используются и являются наиболее перспективными. Для построения Web-базированных систем существует много различных технологий, но лидерами среди них, безусловно, являются JSP (Java Server Pages) от Java и ASP (Active Server Pages) от .Net [2].

Цель данной работы – рассмотрение технологий Struts, JSP и их использование в разработке WEB-приложений.

Задачи:

  1. Обзор технологии Struts и её использование в разработке веб-приложений;

  2. Обзор технологии JSP и её использование в разработке веб-приложений;

  3. Рассмотрения понятия «Веб-приложения» и обзор создания веб-приложений на языке Java.

  1. Технологии Struts

Framework Struts - это среда Open Source для разработки Web-приложений с помощью технологий Java Servlet and Java Server Pages (JSP). Struts способствует разработке приложений с архитектурой, базирующейся на парадигме Model-View-Controller, известной как Model 2. Cледующие составные части фреймворка и их функции определены в Struts :

  1. Сервлет-контролер (controller servlet) координирует запросы к соответствующим классам-действиям (action), созданным разработчиками приложения.

  2. Библиотеки JSP тэгов поддерживаются сервлетом-контроллером, что помогает разработчикам в создании интерактивных Web-приложений, основанных на шаблонах.

  3. Вспомогательные классы для поддержки разбора (parsing) XML, автоматического управления свойствами JavaBeans класса-действия, и интернационализации сообщений и запросов [3].

Struts был создан для того, чтобы чётко разделить модель (бизнес-логику), представление (HTML-страницы) и контроллер(отвечающий за передачу данных от модели к представлению и обратно). Struts предоставляет стандартный контроллер — сервлет под именем ActionServlet и различные средства для создания страниц представления. Разработчик веб-приложения отвечает за написание кода модели и создание конфигурационного файла struts-config.xml, который связывает воедино модель, представление и контроллер.

Запросы от клиента передаются контроллеру в виде «Actions» (действий), определённых в конфигурационном файле. Когда контроллер получает такой запрос, он передаёт его соответствующему Action классу. Последний взаимодействует с кодом Модели и возвращает контроллеру «ActionForward», строку, определяющую страницу для отправления клиенту. Информация передаётся между моделью и представлением в виде особых JavaBeans. Богатая библиотека тегов позволяет получать данные из бинов и записывать их без Java-кода.

Struts также поддерживает i18n (интернационализацию), облегчает валидацию данных полученных из веб-формы и предоставляет механизм создания шаблонов под названием «Tiles», который, кроме всего прочего, позволяет наследовать веб-страницы [4].

  1. Технологии JSP

JavaServer Page (JSP) – это расширение технологии Java servlet, являющееся удобным методом для отображения веб-страниц с динамическим содержанием. Технология позволяет внедрять Java-код, а также EL (Expression Language) в статичное содержимое страницы. Могут использоваться библиотеки JSP-тегов для внедрения их в JSP-страницы. Страницы компилируются JSP-компилятором в сервлеты, представляющие собой Java-классы, которые выполняются на сервере. Сервлеты могут быть написаны разработчиком, не используя JSP-страницы. Эти технологии дополняют друг друга.

Основным отличием от других подобных технологий, например ASP и PHP, является то, что код, находящийся внутри специальных тэгов не интерпретируется при обращении к странице, а предварительно компилируется в Java Servlet. Технология JSP удачно объединяет шаблонный подход к построению сайтов и все преимущества Java-платформы.

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

JSP не привязана к конкретной платформе благодаря использованию Java. Кроссплатформенность является одним из основных преимуществ этой технологии. Также к достоинствам JSP следует отнести простоту разработки, наличие большого количества библиотек и легкость их использования, мощные и разнообразные среды разработки.

Пример программного кода на JSP, который выбирает из базы данных информацию о торговых марках:

 

 

Этот пример демонстрирует комбинацию Java-кода и статического HTML на JSP-странице.

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

Сервлет, полученный после преобразования JSP-страницы, функционирует в рамках стандартного контейнера сервлетов и использует строго регламентированный интерфейс. Поэтому эта технология не зависит от каких-либо особенностей той или иной аппаратной платформы. С другой стороны, поскольку JSP-технология строится на базе интерпретируемого объектно-ориентированного языка Java, то это дает гарантию переноса приложений, построенных на технологии JSP, на любую платформу, где можно установить виртуальную Java машину [2].

  1. WEB-приложения

Веб-приложение — клиент-серверное приложение, в котором клиентом выступает браузер, а сервером — веб-сервер. Логика веб-приложения распределена между сервером и клиентом, хранение данных осуществляется, преимущественно, на сервере, обмен информацией происходит по сети. Одним из преимуществ такого подхода является тот факт, что клиенты не зависят от конкретной операционной системы пользователя, поэтому веб-приложения являются кроссплатформенными сервисами. Веб-приложения стали широко популярными в конце 1990-х — начале 2000-х годов.

Существенное преимущество построения веб-приложений для поддержки стандартных функций браузера заключается в том, что функции должны выполняться независимо от операционной системы данного клиента. Вместо того, чтобы писать различные версии для Microsoft Windows, Mac OS X, GNU/Linux и других операционных систем, приложение создаётся один раз для произвольно выбранной платформы и на ней разворачивается. Однако различная реализация HTML, CSS, DOM и других спецификаций в браузерах может вызвать проблемы при разработке веб-приложений и последующей поддержке. Кроме того, возможность пользователя настраивать многие параметры браузера (например, размер шрифта, цвета, отключение поддержки сценариев) может препятствовать корректной работе приложения.

Другой (менее универсальный) подход заключается в использовании Adobe Flash, Silverlight или Java-апплетов для полной или частичной реализации пользовательского интерфейса. Поскольку большинство браузеров поддерживает эти технологии (как правило, с помощью плагинов), Flash- или Java-приложения могут выполняться с легкостью. Так как они предоставляют программисту больший контроль над интерфейсом, они способны обходить многие несовместимости в конфигурациях браузеров, хотя несовместимость между Java- или Flash-реализациями на стороне клиента может приводить к различным осложнениям [6].

Формально каждое web-приложение можно разбить на 3 взаимно независимые части:

  1. Модуль, который исполняется WEB-браузером. Это приложение может быть написано на любом языке, который поддерживает браузер. Чаще всего используется язык JavaScript, как наиболее поддерживаемый и имеющий большую библиотечную поддержку. Это очень важно, так как позволяет существенно экономить бюджеты проектов.

  2. Модуль, исполняемый на серверной стороне под управлением web-сервера. Это приложение может быть написано на любом языке, интерпретацию которого поддерживает выбранный Вами web-сервер. Последнее время, часто, в качестве языка программирования выбирается язык Java. Этот язык также имеет серьезную библиотечную поддержку.

  3. База данных. В этой области так же существует достаточно широкий выбор. Есть промышленные базы данных, такие как Oracle, DB2, PostgreSQL. Есть легкие базы данных, такие как MySQL. База данных выбирается основываясь на целях и области решаемых задач [7].

Веб-приложение состоит из клиентской и серверной частей, тем самым реализуя технологию «клиент-сервер».

Клиентская часть реализует пользовательский интерфейс, формирует запросы к серверу и обрабатывает ответы от него.

Серверная часть получает запрос от клиента, выполняет вычисления, после этого формирует веб-страницу и отправляет её клиенту по сети с использованием протокола HTTP.

Само веб-приложение может выступать в качестве клиента других служб, например, базы данных или другого веб-приложения, расположенного на другом сервере. Ярким примером веб-приложения является система управления содержимым статей Википедии: множество её участников могут принимать участие в создании сетевой энциклопедии, используя для этого браузеры своих операционных систем (будь то Microsoft Windows, GNU/Linux или любая другая операционная система) и не загружая дополнительных исполняемых модулей для работы с базой данных статей.

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

Также в последнее время набирает большую популярность технология WebSocket, которая не требует постоянных запросов от клиента к серверу, а создает двунаправленное соединение, при котором сервер может отправлять данные клиенту без запроса от последнего. Таким образом появляется возможность динамически управлять контентом в режиме реального времени.

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

Заключение

Основной особенностью Web-службы является способность участников взаимодействовать друг с другом даже при использовании ими различных информационных систем. XML обеспечивает легкую переносимость данных, что является ключевой технологией, предназначенной для обеспечения такой способности. Также Web-службы зависят от способности предприятий использовать различные вычислительные платформы для взаимодействия друг с другом. Это требование делает платформу Java™, программы в которой являются переносимыми, естественным выбором для разработки Web-служб [5].

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
  1. Библиофонд: электронная библиотека студента [Электронный ресурс] URL: http://bibliofond.ru/view.aspx?id=67005

  2. X-referat [Электронный ресурс] URL: http://xreferat.com/33/2974-1-vybor-i-ispol-zovanie-programmnyh-tehnologiiy-jsp-i-asp-net-pri-razrabotke-web-bazirovannyh-informacionnyh-sistem.html

  3. Всё о Java и SQL [Электронный ресурс] URL: http://java-online.ru/struts2.xhtml

  4. Википедия - свободная энциклопедия :Apache Struts [Электронный ресурс] URL: https://ru.wikipedia.org/wiki/Apache_Struts

  5. Allbest [Электронный ресурс] URL: http://knowledge.allbest.ru/programming/2c0a65625b3ad68b4d53a89521206d27_0.html

  6. Википедия - свободная энциклопедия :Веб-приложение [Электронный ресурс] URL: https://ru.wikipedia.org/wiki/Веб-приложение

  7. Хабрахабр [Электронный ресурс] URL: https://habrahabr.ru/post/249863/

Просмотров работы: 915