JavaServer Pages

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