AWWW-1st3.6-w08.tresc-1.0-Slajd30
Znaczniki JSTL SQL
Znaczniki JSTL służące do komunikacji z bazą danych są najbardziej krytykowanym i atakowanym zestawem znaczników JSTL. Wiąże się to z tym, że znaczniki te promują bardzo złe praktyki programistyczne, w szczególności powodują wymieszanie kodu odpowiedzialnego za łączenie się z bazą danych (znaczniki JSTL SQL) z kodem odpowiedzialnym za generowanie warstwy prezentacji. Faktycznie, należy unikać stosowania tych znaczników w dużych i złożonych projektach. Natomiast w przypadku niewielkich projektów, składających się z kilku powiązanych ze sobą stron JSP, wykorzystanie znaczników JSTL SQL bardzo przyspiesza i ułatwia tworzenie aplikacji internetowych wykorzystujących bazę danych. Innym powszechnym zastosowaniem znaczników JSTL SQL jest tworzenie rozwiązań testowych lub prototypowych. W ramach kategorii JSTL SQL mamy do dyspozycji następujące znaczniki.
<sql:setDataSource>: służy do wprowadzenia danych potrzebnych do nawiązania połączenia z bazą danych (nazwa użytkownika, hasło, sterownik JDBC, adres serwera, nazwa bazy danych, adres URL JDBC)
<sql:query>: wykonuje zapytanie i zapisuje wynik zapytania do zmiennej
<sql:param>: umożliwia parametryzację zapytania SQL poprzez późne wiązanie zmiennych
<sql:dateParam>: analogicznie do poprzedniego znacznika, w odniesieniu do parametrów będących typu DATE
<sql:update>: wykonuje polecenie DML (INSERT, UPDATE, DELETE)
<sql:transaction>: służy do demarkacji granic transakcji