JSP

Implementując servlety osadzamy niejako fragmenty strony HTML w kodzie Javy. Jeśli kodu w Javie jest dużo, a generowanego kodu HTML niewiele, to jest to podejście wystarczająco dobre, by je stosować, natomiast gdy sytuacja jest wprost przeciwna, tj. Javy jest niewiele za to generowana strona HTML obszerna, wówczas przydałoby się podejście przeciwne, tj. możliwość osadzania fragmentów Javy wewnątrz strony HTML. Taka możliwość jest i nazywa się JSP.

JSP to technologia, która pozwala osadzać fragmenty Javy na stronach HTML. Strony HTML to pliki z rozszerzeniem .html, natomiast strony JSP to analogiczne pliki z rozszerzeniem .jsp. Poniżej przykład strony JSP wyświetlającej aktualną datę i czas:

<%@page contentType="text/html" import="java.util.Date"%>

<html>

<head>

<title>Aktualna data i czas</title>

</head>

<body>

<% out.println(new Date()); %>

</body>

</html>

 

 

Powyższy kod różni się od standardowej strony HTML dwoma elementami. Są to elementy charakterystyczne dla technologii JSP. Elementem JSP jest pierwsza linia pliku oraz fragment <% out.println(new Date()); %>. Pierwsza linia to nic innego jak deklaracja, że plik zawierający ten kod to właśnie strona JSP. Przy okazji importujemy w tej deklaracji klasę java.util.Date. Import tej klasy jest potrzebny, aby skompilował się fragment kodu umieszczony między znacznikami <% %>. To, co widzimy pomiędzy tymi znacznikami to nic innego jak instrukcje języka Java. Kod Javy umieszczamy na stronach JSP właśnie w ten sposób, tzn. ujmujemy go w znaczniki <% %>. Taki fragment kodu nazywamy skryptletem.

Skopiujmy teraz w ramach ćwiczenia powyższą stronę JSP do pliku o nazwie date.jsp i umieśćmy ten plik w katalogu głównym naszej testowej aplikacji. Wyślijmy teraz do serwera żądanie HTTP typu GET skierowane do tego pliku, tj. pod adres {adres aplikacji}/date.jsp. Zauważmy, że w odpowiedzi otrzymamy nie tyle ten plik, co efekt wykonania się tego pliku, tzn. w miejsce skryptletu <% out.println(new Date()); %> zostanie wstawiony wynik jego działania, tj. aktualna data i czas.

Z praktycznego punktu widzenia nie ma to wielkiego znaczenia, jednak faktem jest, że strony JSP nie są wykonywane przez serwer aplikacji bezpośrednio. Każda strona JSP jest tłumaczona przez serwer aplikacji (w sposób automatyczny i dla nas niewidoczny) do odpowiadającego jej servletu i dopiero tak wygenerowany i skompilowany servlet jest uruchamiany w celu obsługi żądania HTTP. Prawdą jest zatem stwierdzenie, że aplikacje WWW w Javie to pewien zbiór servletów, tyle że czasem servlety te możemy implementować nie wprost, jako strony JSP.

0 0 votes
Daj ocenę