JavaServer Pages – Wikipedia, wolna encyklopedia

JSP (ang. JavaServlet Pages) – 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.
Elementy strony JSP
[edytuj | edytuj kod]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
Przykładowa strona JSP
[edytuj | edytuj kod] <%@ page language="java" contentType="text/html; charset=ISO-8859-2" pageEncoding="ISO-8859-2"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%! int k=5; %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2"/> <title>Przykładowa strona JSP</title> </head> <body> Aktualny czas: <%=java.util.Calendar.getInstance().getTime()%> <% for (int i=0; i<k; ++i) { %> Liczba: <%=i%> <br /> <% } %> </body> </html>
- Wiersze 1-2 - dyrektywa ustawiająca typ zawartości, kodowanie itp.
- Wiersz 5 - skryplet deklarujący zmienną języka Java
- Wiersz 12 - skryplet zwracający wartość zmiennej języka Java
- Wiersze 13-15, 16 i 17-19 - skryplety sterujące generowaniem dokumentu
Pozostałe linie zawierają czysty kod HTML.
Kolejny przykład
[edytuj | edytuj kod]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} <br /> </c:forEach> ...