Средства на JAVA за достъп до бази данни. Потребителски JSP тагове

Стандарт JDBC

JDBC (Java DataBase Connectivity) е стандарт, осигуряващ платформено независим достъп до релационни бази данни посредством заявки, реализирани по стандарта SQL. Средствата на JDBC API нямат отношение към стандартизацията на SQL. Те могат да работят както с неговото основното ядро, така и с разширения, специфични за конкретната платформа за база данни. При това логиката на JAVA-кода остава неизменна.
Със средствата на JDBC стандарта JAVA приложенията могат да получат достъп до всяка платформа за управление на база данни. При това може да се подходи по два начина. Единият е JAVA-приложението да осъществи връзка със сървъра на системата за управление на базата данни, като се използват специфични за конкретния сървър параметри. Другият начин е базата данни да се публикува на даден хост като източник на данни (data source) със средствата на стандарта ODBC (Open DataBase Connectivity). Този стандарт позволява унифициран достъп в Internet до разнотипни бази данни, при което спецификата на конкретната база данни остава скрита за клиентските приложения.

Драйвери за достъп до бази данни

И при двата подхода JAVA приложението реализира връзка с конкретна база данни, като зарежда специален клас, наречен драйвер. JDBC-драйверът е специфичен за всяка база данни и се разработва от нейния производител. По тази причина драйверите за различните бази данни не са част от стандартния JAVA API. Те се предоставят безплатно от съответния производител и могат да бъдат свободно изтеглени от Internet. Така например за достъп до Oracle база е необходимо да бъде изтеглен пакетът с Oracle-специфични JAVA-класове. Квалифицираното име на Oracle-драйвера е oracle.jdbc.driver.OracleDriver. Името на драйвера за достъп до MySQL база данни пък е org.gjt.mm.mysql.Driver. След изтеглянето на jar-файла, съдържащ необходимия драйвер, той трябва да бъде съхранен  на диска и пътят до него да бъде включен в CLASSPATH, за да може компилаторът и интерпретаторът да имат достъп до него.
Стандартният JAVA API включва драйвер за достъп до ODBC източници на данни, т.е. осигурява средствата за втория подход. Квалифицираното име на драйвера за достъп до ODBC източници на данни е sun.jdbc.odbc.JdbcOdbcDriver.

URL за достъп до база данни

Свързването с коя да е база данни в Internet изисква указването на нейния URL. При различните бази данни има специфични различия в оформянето на URL, но във всички случай JDBC стандартът изисква той да има следния общ вид:

  • протокол:субпротокол:идентификатор_на_БД

Протоколът в съответствие с JDBC стандарта е винаги един: jdbc. Тази ключова дума указва кой стандарт се използва.

Субпротоколът показва с какъв тип драйвер се осъществява връзката. Например при свързване с ODBC източници на данни субпротоколът е odbc, с Oracle база данни е oracle и т.н.

Организация на достъпа до база данни

Достъпът до една база данни със средствата на JDBC се осъществява по стандартна процедура,  която включва седем стъпки:

  1. Зареждане на JDBC драйвера;
  2. Дефиниране на URL адреса на желаната база данни;
  3. Установяване на връзка с базата данни;
  4. Създаване на Statement обект, който съдържа конкретните SQL заявки към базата данни;
  5. Изпълняване на формираната заявка;
  6. Обработка на резултатите;
  7. Затваряне на връзката с базата данни.

Изпълнението на всяка от изброените стъпки става с помощта на средствата, дефинирани в класовете на JDBC  API.

Интерфейс Connection

Този интерфейс дефинира методи за работа с конекции към бази данни. В стандартния JAVA API не са реализирани класове, имплементиращи Connection. Единственият начин за създаване на инстанция на такъв клас е използването на метода DriverManager.getConnection().

Интерфейс Statement

Този интерфейс дава базовите средства за представяне и изпълнение на SQL заявки. Създаването на обекти от клас, имплементирал Statement става единствено с разгледаните методи на интерфейса Connection.

Интерфейс ResultSet

Този интерфейс дефинира средства за обработка на резултата от заявки от тип SELECT, стартирани с метода executeQuery(). Това е единствения начин за получаване на обекти от клас, имплементирал интерфейса ResultSet.

Интерфейс Tag

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

Клас TagSupport

Този клас имплементира Tag интерфейса и се използва от приложенията като базов клас за дефиниране на собствени тагове. Класът TagSupport добавя към средствата на Tag две полета – pageContext, даващо достъп до контекста на JSP страницата, и id атрибутът, който дефинира идентификатор за всеки потребителски таг. Методът findAncestorWithCalss() е изключително полезен при сложни конструкции, включващи няколко вложени разнотипни тагове. С негова помощ в тага може да се получи достъп до най-близкия родителски таг, който е от определен тип.

Интерфейс BodyTag

Това е базовият интерфейс за всички тагове, които могат да  манипулират съдържанието на тялото си. Той наследява Tag и допълва възможностите му, като използва и средствата на интерфейса IterationTag от същия пакет.

Клас BodyTagSupport

Този клас имплементира BodyTag интерфейса и се използва от приложенията като базов клас за дефиниране на собствени тагове, обработващи тялото си. Методът clearBody() изчиства съдържанието на обекта bodyContent, а getString() го връща във вид на стринг.

Клас TagExtraInfo

Това е помощен клас, инстанциите на който предоставят допълнителна информация за даден таг. Методите на този клас позволяват експортирането от таг класа към JSP страницата на скрипт променливи и дефинирането на правила за валидиране на стойностите на атрибутите на тага на етап компилация.

Клас TagData

Това е помощен клас, инстанциите на който осигуряват информация за атрибутите на тага и техните стойности.
Инстанция на TagData се създава автоматично от JSP машината и тя се подава на методите на класа TagExtraInfo при извикването им.

Клас VariableInfo

Това е помощен клас, всяка инстанция на който съдържа информация за една скрипт-променлива.

Описание на библиотеката тагове

Файлът с описание на библиотеката от потребителски тагове е структуриран от специални елементи по стандарта XML. Задачата на този файл е да асоциира всеки таг клас от библиотеката със съответния му потребителски таг и да представи този клас на сървъра. Името на файла е произволно, а разширението му трябва да бъде .tld – от Tag Library Descriptor.

  • Елемент DOCTYPE – описва типа на документа, оформян от tld файловете. Няма отношение към броя и параметрите на таговете, описани в библиотеката;
  • Елемент taglib – това е основният елемент в дескрипторния файл. Той е контейнер за всички останали елементи. От представените по-долу елементи непосредствено в taglib се съдържат tlibversion, jsp-version и tag;
  • Елемент tlibversion – указва използваната версия на библиотеката. Стойност по подразбиране: 1.0 ;

Сходни статии:

  1. Програмиране на Java, основи на Java Йерархия на класовете за събития Моделът на делегиране за събития дефинира голям брой класове за събития. йерархия: Повечето от класовете за събития се намират в пакета java.awt.event Най горния клас...
  2. Архитектура на База Данни. Етапи на проектиране. Модели бази данни Понятие за архитектура на База Данни Архитектурата на База Данни включва 3 нива Информационни връзки. Модели на данни. При проектирането на база данни се преминава през няколко етапа. Най напред...
  3. Разпределени бази данни. Предимства и недостатъци на работата с база данни Осигурява икономия при използването на персоналните компютри, намалява грешките от централизацията на данните и нараства отговорностите към мениджърските нужди. Данните могат да бъдат разделени на части и базирани на регионален,...
  4. Общ модел за достъп на данни чрез ADO.NET Какво представлява ADO.NET ADO.NET е: Еволюционен, по-гъвкав наследник на ADO Система предназначена за несвързани среди Модел за програмиране със съвременна поддръжка на XML Множество от класове, интерфейси, структури и списъци,...
  5. IBM ABLE Java софтуерна среда IBM ABLE e разпределена софтуерна среда, базирана на Java. Характеристиките на Java го правят подходящ за създаване на агенти. По- важните му особености са: преносимост на кода, поддръжка на обектно-ориентирани...

Студио за уеб дизайн услуги, изработка на сайтове, SEO оптимизация и Интернет реклама Seven Web Design представя своите професионални уеб дизайн умения на високо ниво. Seven Web Design е продукт на Уеб Дизайн България Груп ООД ®
Comments are closed.