ИСПОЛЬЗОВАНИЕ JAVA STANDARD TAG LIBRARY (JSTL) - Студенческий научный форум

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

ИСПОЛЬЗОВАНИЕ JAVA STANDARD TAG LIBRARY (JSTL)

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

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

Зачем нужна стандартная библиотека тегов JSP? Ответ прост: потому что написание собственных специализированных действий – это кропотливая работа, отнимающая много времени.

Спецификация JSP 1.1 породила механизм для создания библиотеки тегов. Вначале этот механизм назывался пользовательскими тегами (custom tags), теперь этот механизм носит название пользовательских действий (custom actions). Оба термина, пользовательские теги и пользовательские действия, относятся к одной и той же технологии JSTL.

1. ЗАЧЕМ ИСПОЛЬЗОВАТЬ JSTL?

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

  • библиотеку легко изучить и она предоставляет широкий спектр функциональности;

  • разработчики JSP – страниц, а также используемые ими средства разработки могут легко генерировать страницы во всех JSP – совместимых контейнерах, используя стандартные теги;

  • стандартные теги отвечают запросам множества сообществ разработчиков;

  • теги уже тщательно оттестированы и готовы к применению;

  • уменьшение стоимости обучения достигается путем предоставления целевых учебных материалов, а также упрощенной переносимости и сопровождаемости JSP – страниц и приложений;

  • как только специализированные реализации библиотеки будут доступны, контейнеры смогут предоставить и переносимость, и более высокую производительность.

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

Кроме выгод, связанных с процессом разработки, которые будут получены при использовании JSTL, функциональность, заключенная в JSTL, уже сама по себе впечатляет.

2. НЕОБХОДИМОСТЬ ИНКАПСУЛЯЦИИ И ФУНКЦИОНАЛЬНЫЙ ОБЗОР

Большинство контейнеров JSP 1.1 (и выше) уже предоставляют библиотеку тегов, которую могут использовать их клиенты. В сообществе JSP – разработчиков существовало понимание необходимости инкапсуляции функциональности. Причины очень просты. Если функциональность инкапсулирована, JSP – разработчики могут использовать специализированные теги, не обладая большими познаниями в Java и не прилагая каких – либо иных усилий по программированию. Инкапсуляция также позволяет повторно использовать общую функциональность внутри одного приложения или нескольких приложений. Каждый пользовательский тег пишется, тестируется и отлаживается только однажды.

JSTL – это набор пользовательских действий, которые базируются на спецификациях JSP 1.2 и Servlet 2.3. Хотя JSTL повсеместно называется одной библиотекой тегов, на самом деле она составлена из четырех различных библиотек:

  • ядра;

  • манипуляций с XML;

  • SQL;

  • интернационализации и форматирования.

Эти библиотеки определяются файлами TLD (Tag Library Descriptiors – описателями библиотеки тегов). Использование отдельных TLD позволяется каждой библиотеке иметь свое собственное пространство имен.

3. СЕРВЛЕТЫ ПРИХОДЯТ НА ПОМОЩЬ.

Сервлеты – это базирующееся на технологии Java решение, которое работает внутри виртуальной Java-машины(JVM). Как результат, сервлеты переносимы. Сервлеты представляют собой основополагающие серверные расширения, которые могут динамически загружаться веб-сервером по мере надобности. Их преимуществом, по сравнению с более ранними серверными технологиями, такими как CGI (или FastCGI), является то, что они обрабатываются отдельными процессами внутри веб-сервера. Это является намного более эффективным подходом, чем наличие отдельных системных процессов, и это улучшает всю картину, когда дело касается масштабируемости приложения. Будучи написаны на Java, сервлеты переносимы между операционными системами, а также веб-серверами, которые поддерживают сервлеты.

Технология сервлетов поддерживается корпорацией Sun Microsystems и является часть пакеты javax. Используя Java-классы и контейнер сервлетов, вы можете писать сервлеты для самой сердевины своего контента.

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

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

Будучи написанными на Java, сервлеты могут пользоваться всеми преимуществами, предоставляемыми всеми Java API (За исключением Abstarct Window Toolkit). Поскольку не происходить никакого порождения системых процессов, связанных с работой сервлетов, и за исключением снижения производительности в тот момент, когда сервлет загружается в первый раз, вызов сервлетов осуществляется чрезвычайно быстро.

После загрузки сервлет будет оставаться в памяти, позволяя управлять состоянием других ресурсов, например, таких, как подсоединения к базе данных. Модель сервлета показана на рисунке 1.

Рисунок 1 - модель сервлета

4. БИБЛИОТЕКИ ТЕГОВ JSTL

4.1 Основная библиотека

Основная библиотека (Core library) предоставляет действия общего назначения, которые устанавливают и извлекают значения переменных, пишут в JSPWriter и обрабатывают пойманные исключения. Действия в Основной библиотеке также используют возможности языковых выражений. В Основную библиотеку включены действия, относящиеся к условному выполнению, обработке итераций и обращению с URL – ресурсами.

Пример:

3.1.1 Часто использующиеся теги Основной библиотеки

Тег

Описание

 

Используется для вывода в текущий JSPWriter. Может осуществлять перекодирование символов , &, “ и ‘ в символьные сущности XML.

 

Используется для установки значения контекстной переменной в любой области видимости JSP, а также он может использоваться для установки значения специфицированного целевого объекта.

 

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

 

Используется для обработки исключений внутри JSP – страниц.

 

Простое условие.

 

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

 

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

 

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

Таблица 1 – часто использующиеся теги Основной библиотеки.

4.2 Библиотека XML

Библиотека XML предназначена для удовлетворения нужд разработчиков, которым нужно манипулировать в XML на своих страницах. Действия в этой библиотеке относятся к синтаксическому разбору записи XML – контента, контролю над ходом выполнения и осуществлению транзакций.

Пример:

XML – документ-->

XML данные после выражения XPath-->

присвоить данные переменной-->

Этот пример показывает, как программист может импортировать XML – документ, разобрать его, присвоить DOM – объект переменной doc, получить доступ к информации, содержащейся в этом документе, используя XPath, а затем сохранить данные в другой переменной для дальнейшего использования.

4.2.1 Часто использующиеся теги библиотеки XML

Тег

Описание

 

XML – версия тега .

 

XML – версия тега .

 

XML – версия тега .

 

XML – версия тега .

 

XML – версия тега .

 

XML – версия тега .

 

Разбор XML – документа.

 

Трансформация XML – документа с применением XSLT – преобразования.

Таблица 2 – часто использующиеся теги библиотеки XML.

4.3 Библиотека SQL

SQL – библиотека предоставляет средства для взаимодействия с базами данных, что включает в себя взаимодействие с источниками данных, выполнение запросов, обновлений и транзакций. Использование SQL – действий в комбинации с итерационными действиями делает более легким обработку результирующего множества (result set) внутри циклов.

Пример:

SELECT * FROM books WHERE title = ‘JSTL’ ORDER BY author

 

 

 

 

 

 

 

 

4.3.1 Часто использующиеся теги библиотеки SQL

   

Тег

Описание

 

Используется для экспорта переменной, которая определяет источник данных.

 

Используется для выполнения запросов к базе данных.

 

Используется для обновления базы данных.

 

Используется для установления транзакционного контекста для выполнения запросов и обновлений.

 

Используется для присвоения значений вместо меток параметров (“?”), используемых в SQL – инструкциях.

 

Используется для установки в SQL – инструкциях значений типа java.util.Date вместо меток параметров (“?”).

 

Таблица 3 – часто использующиеся теги библиотеки SQL.

4.4 Интернационализационная и Форматирующая библиотека

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

Пример:

В этом примере используется Locale по умолчанию и перебираются в цикле все ключи ресурсного пакета (ResourseBundle) данного приложения по умолчанию. Также в примере показано, насколько легко можно параметризовать содержимое ресурсов сообщений.

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

ЗАКЛЮЧЕНИЕ

Использование JSTL намного легче и эффективнее, по сравнению с отладкой кодов скриплетов, распределенных по всем страницам.

JSTL имеет поддержку общих, структурных задач, таких как итерации и условные выражения, теги для манипулирования XML-документов, интернационализация теги и теги SQL. Она также обеспечивает основу для интеграции существующих пользовательских тегов с JSTL тегами.

JSTL SQL-библиотека тегов содержит теги для взаимодействия с реляционными базами данных (СУБД), таких как Oracle, MySQL или Microsoft SQL Server.

Теги JSTL XML обеспечивают JSP-ориентированный способ создания и манипулирования XML-документов.

JSTL включает в себя ряд стандартных функций, большинством из которых являются общие функции манипулирования строками.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1) Шпильман, Сью. JSTL: Практическое руководство для JSP – программистов/ Пер. с англ. –М.: КУДИЦ, 2004

2) Википедия – свободная энциклопедия [Электронный ресурс]. – http://wikipedia.org. – (дата обращения: 29.11.2016)

3) Code-Live.ru – портал о программировании [Электронный ресурс]. – code-live.ru – (дата обращения: 04.12.2016)

4) JavaServer Pages Standard Tag Library- [Электронный ресурс]. – https://jstl.java.net/ – (дата обращения: 02.12.2016)

5) TutorialsPoint - [Электронный ресурс]. – https://www.tutorialspoint.com/jsp/– (дата обращения: 03.12.2016)

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