W tym artykule dokładnie zbadamy JavaServer Pages i jego wpływ na różne aspekty życia codziennego. JavaServer Pages był przedmiotem debaty i zainteresowania w różnych dziedzinach nauki, od psychologii po ekonomię, a jego wpływ rozciąga się na różne czasy i kultury. Na tych stronach przyjrzymy się różnym aspektom JavaServer Pages i temu, jak ukształtował on nasz świat w sposób, który często pozostaje niezauważony. Od roli w podejmowaniu decyzji po wpływ na społeczeństwo, JavaServer Pages okazał się tematem o ogromnym znaczeniu i zainteresowaniu zarówno badaczy, jak i ciekawskich. Przygotuj się więc na zanurzenie się w fascynującym świecie JavaServer Pages i odkrycie jego wielu aspektów.

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.
Strony JSP składają się z następujących elementów:
<%@ 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>
Pozostałe linie zawierają czysty kod HTML.
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>
...