JavaServer Pages
World Wide Web |
Struktura stron WWW Generowanie dynamicznych stron WWW Active Server Pages, ASP.NET, JavaServer Pages, PHP Po stronie użytkownika kaskadowe arkusze stylów, JavaScript, AJAX, kolory w Internecie Przesyłanie danych Hypertext Transfer Protocol, HTTPS, HTTP referrer, serwer WWW, VoiceXML, XMLHttpRequest Pojęcia web design, architektura informacji, użyteczność, dostępność |
JSP (ang. JavaServer Pages) to technologia umożliwiająca tworzenie dynamicznych dokumentów WWW w formatach HTML, XHTML, DHTML oraz XML z wykorzystaniem języka Java, wplecionego w kod HTML danej strony. W tym aspekcie, jest to rozwiązanie podobne do PHP.
Strona JSP w procesie translacji jest zamieniana na serwlet (z reguły mała aplikacja napisana w Javie uruchamiana po stronie serwera w kontenerze serwletów). Każde wywołanie strony JSP z poziomu klienta (przeglądarki) wykonywane jest przez skompilowany serwlet. Jeśli użyta zostanie prekompilacja (kompilacja wstępna) to już podczas uruchamiania aplikacji wszystkie strony JSP zostaną przetłumaczone na serwlety.
Spis treści |
[edytuj] Elementy strony JSP
Strony JSP składają się z następujących elementów:
- treść statyczna - przepisywana bez modyfikacji do generowanego dokumentu
- dyrektywy JSP - informacje kontrolujące proces generowania dokumentu
- elementy skryptowe - skryplety (kod w języku Java kontrolujący proces generowania dokumentu) oraz elementy składniowe tzw. Expression Language
- akcje JSP - tagi XML wywołujące określone metody serwerowe
[edytuj] Przykładowa strona JSP
01. <%@ page language="java" contentType="text/html; charset=ISO-8859-2" 02. pageEncoding="ISO-8859-2"%> 03. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 04. "http://www.w3.org/TR/html4/loose.dtd"> 05. <%! int k=5; %> 06. <html> 07. <head> 08. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2"> 09. <title>Przykładowa strona JSP</title> 10. </head> 11. <body> 12. Aktualny czas: <%=java.util.Calendar.getInstance().getTime()%> 13. <% 14. for (int i=0; i<k; ++i) { 15. %> 16. Liczba: <%=i%>
17. <% 18. } 19. %> 20. </body> 21. </html>
- Wiersze 01-02 - dyrektywa ustawiająca typ zawartości, kodowanie itp.
- Wiersz 05 - skryplet deklarujący zmienną języka Java
- Wiersz 12 - skryplet zwracający wartość zmiennej języka Java
- Wiersze 13-15 i 17-19 - skryplety sterujące generowaniem dokumentu
Pozostałe linie zawierają czysty kod HTML.
[edytuj] Kolejny przykład
Powyższa pętla (linia 13-19). zapisana prościej przy wykorzystaniu biblioteki core ze zbioru JSTL i języka wyrażeń EL (ang. Expression Language).
... <c:forEach var="i" begin="0" end="4" step="1"> Liczba: ${i}
</c:forEach> ...