Технологія jsp
Технологія JSP-сторінок (JavaServer Pages - JSP) дозволяє без зусиль створювати web-сторінки, у яких є як статична, так і динамічна компоненти.
Докладну інформацію про JSP сторінки можна знайти за адресою:
https://docs.oracle.com/javaee/5/tutorial/doc/bnagy.html
JSP-сторінка обслуговує запити відповідно до технологіії Java Servlet. Коли запит вперше відображається на JSP-сторінку, то вона автоматично перетворюється у клас сервлету, який компілюється і зберігається. При повторних зверненнях до цієї сторінки використовується вже готовий сервлет. У разі оновлення сторінки, сервлет перекомпілюється.
Сторінка JSP являє собою текстовий документ, який містить два типи тексту: статичні дані та елементи JSP, які ще називають елементами сценарію.
Статичні дані можуть використовувати різні текстові формати, наприклад html.
Елементи сценарію містять код Java, або іншої мови, і позначаються спеціальними тегами <% %>. Якщо замість мови java, що приймається за замовчуванням, потрібно використовувати іншу мову, слід визначити цю мову у директиві page на початку JSP- сторінки:
<% @ рage language = "scripting language"%>
У директиві page можна також визначити перелік пакетів та класів, що мають бути імпортовані, наприклад:
<%@ page import="java.util.*, jtap.lab4.model.*" %>
Елементи сценарію
Оголошення
JSP-оголошення використовується для оголошення полів та методів на мові створення сценаріїв сторінки. Коли мовою створення сценаріїв є Java, змінні і методи в JSP-оголошеннях стають оголошеннями класу сервлета JSP-сторінки. Зверніть увагу на знак оклику, як ознаку оголошення, у наведеному нижче прикладі:
<%!
private String name;
public toString(){
return name;
}
%>
Скріптлети
JSP-скріплет використовується для зберігання будь-якого фрагменту коду, що відповідає вимогам мови сценаріїв сторінки. Синтаксис для скріптлета виглядає наступним чином:
<%
scripting language statements
%>
Коли мовою сценаріїв є java, скріптлет вставляється в метод service сервлета JSP- сторінки. Змінна мови програмування, створена в скріптлеті, доступна з любого місця JSP-сторінки.
Вирази
JSP-вираз використовується для вставки в потік даних, що повертається клієнту, значення виразу мови сценаріїв, конвертованого в рядок. Коли мовою написання сценаріїв є Java, вираз перетворюється в оператор, що перетворює значення виразу в об'єкт String и вставляєте в неявний об'єкт out.
Синтаксис такого виразу виглядає наступним чином:
<%
= scripting language expression
%>
Зверніть увагу, що використання крапки з комою в JSP- виразах заборонено, навіть у тих випадках, коли у такого ж виразу в скріптлеті, вона присутня.
Приклад використання елементів сценарію
Нижче наведено прикладJSP сторінки, яка забезпечує виведення таблиці чисел Фібоначчі і містить оголошення, скріптлети та вирази.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Тест jsp()</title>
</head>
<body>
<%!
private int fibo(int n){
if(n<1) return 0;
if(n==1 || n==2) return n;
return fibo(n-2)+fibo(n-1);
}
%>
<%int min = 3, max = 10; %>
<center>
<font size="+1">
<strong>
Числа Фібоначчі<br>
від <%=min %> до <%=max %>
</strong>
<hr>
</font>
<table border="1">
<tr>
<th>Номер числа</th>
<th>Значення числа</th>
</tr>
<%
int i = 0;
for (i = min; i <= max; i++) {
%>
<tr>
<td align="center"><%=i%></td>
<td align="center"><%=fibo(i)%></td>
</tr>
<%
} // for
%>
</table>
</center>
</body>
</html>
Результат виконання сторінки наведено на рисунку 5.1
Рисунок 5.1 – Результат виконання JSP-сторінки
