русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Развертывание Библиотеки Тэга


Дата добавления: 2015-07-09; просмотров: 494; Нарушение авторских прав


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

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

Наиболее простой способ сделать это такой:

Поместите файл дескриптора библиотеки, или .tld файл, на сервер в директорий WEB-INF, в каталог вашего web приложения, например, ../webroot/tijtags/WEB-INF, используя символы-разделители пути, наиболее подходящие для вашей операционной системы.

Укажите расположение вашего .tld файла в вашей JSP странице, используя директиву taglib, например, <%@ taglib uri="/WEB-INF/tijtags.tld" prefix="tijtags" %>. Атрибут uri указывает относительный путь к файлу дескриптора библиотеки тэга.

Поместите ваш JSP файл, где он должен быть, а именно в jsp директорий.

Поместите ваши классы в директорий classes вашего каталога WEB-INF, например, ../webroot/tijtags/WEB-INF/classes/, убедившисть, что вы используете подкаталог с именем пакетов, как это делается для любого Java приложения.

Вот и все, что вам нужно сделать. Когда вы перезапустите ваш сервер, и обратитесь к JSP странице, например, набрав http://localhost/tijtags/index.jsp, здесь предполагается, что вы запускаете сервер локально, страница будет способна получить доступ к дескриптору библиотеки тэга и классам.



Это хорошо для тестирования, но более типичным случаем является хранения ваших классов в jar файле в директории /WEB-INF/lib. Если ваш файл дескриптора библиотеки находится в jar файле вместе с классами-обработчиками, то контейнер способен найти его, и будет различать тэги во время трансляции и работы.

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

Чтобы сделать это, вы можете использовать второй подход, который реализуется посредством использования элемента <taglib> в файле web.xml вашего web приложения путем добавления строк:

<taglib>
<taglib-uri>http://www.eckelobjects.com/tagtut/tags1.0</taglib-uri>
<taglib-location>tijtags.tld</taglib-location>
</taglib>


Здесь создается связка между URI и расположением файла дескриптора библиотеки тэга. Если такая связка существует, ваша JSP страница может ссылаться на библиотеку тэга по ее URI, а не через файл Дескриптора Библиотеки Тэга:

<%@ taglib uri="http://www.eckelobjects.com/tagtut/tags1.0" prefix="tijtags" %>


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

Помните, для URI нет необходимости использовать форму HTTP URL, как это сделано выше, но это хороший способ гарантировать уникальность.

В приведенном выше примере вы заметите, что отображение между .tld файлом и URI указано в файле web.xml. Если ваши классы библиотеки тэга находятся в jar файле, это означает, что существует дескриптор библиотеки, который располагается вне jar файла. Это может быть неудобно, поэтому спецификация контейнера для тэгов определяет автоматическое связывание напрямую с jar файлом, содержащим дескриптор библиотеки тэга.

Чтобы использовать это, вам необходимо убедиться, что ваш дескриптор библиотеки тэга есть в файле, имеет название taglib.tld, и что он находится в jar файле библиотеки тега в директории META-INF. Если это так, то вы можете определить связывание в вашем web.xml файле следующим образом:

<taglib>
<taglib-uri>

http://www.eckelobjects.com/tagtut/tags1.0

</taglib-uri>
<taglib-location>tijtags.jar</taglib-location>
</taglib>


Обратите внимание, что jar файл указывается в качестве места расположения библиотеки тэга. Это, вероятно, лучший способ разворачивания библиотек тэга, он позволит вам разделять библиотеки между приложениями, обращаясь к библиотеке тэга по уникальному URI и храня файл дескриптора библиотеки тэга аккуратно упакованным вместе с классами.

На самом деле спецификация того, как JSP контейнер должен обрабатывать связку с библиотекой тэга, невероятно гибка. Контейнер будет пробовать и строить неявное связывание, если он найдет дескриптор вашей библиотеки тэга и не найдет явного связывания в вашем файле web.xml. Хотя, не рекомендуется, чтобы вы оставляли очень много работы контейнеру. Чем больше вы оставляете серверу, тем больший риск получаете в виде потери портируемости, когда, скажем, попробуете перенести ваше приложение на другой сервер приложений, вы также можете быть озабочены преодолением различия в поведении на разных платформах.



<== предыдущая лекция | следующая лекция ==>
Повторный Обзор Дескриптора Библиотеки | Использование Библиотек Тэга от Третьих Производителей


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.846 сек.