JavaServer Pages

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj
World Wide Web

Struktura stron WWW
HTML, XHTML, XML, XSL


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 referer, 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.

Elementy strony JSP[edytuj]

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]

 1  <%@ page language="java" contentType="text/html; charset=ISO-8859-2" 
 2           pageEncoding="ISO-8859-2"%>
 3  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
 4            "http://www.w3.org/TR/html4/loose.dtd">
 5  <%! int k=5; %>
 6  <html>
 7    <head>
 8      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2"/>
 9      <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%> <br />
17  <%
18       } 
19  %>
20    </body>
21  </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]

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> ...

Zobacz też[edytuj]

Linki zewnętrzne[edytuj]