Веб-програмування на Java: відмінності між версіями

Вилучено вміст Додано вміст
Рядок 111:
 
Друга сторінка name.jsp буде більш цікавішою. Її створити можна у тому ж каталозі що і попередня сторінка.
 
[[Файл:HelloJSP.png|350px|thumb|right|Вигляд index.jsp та hello.jsp у браузері]]
<source lang="java">
<%@page contentType="text/html" pageEncoding="UTF-8"%>
Рядок 132:
</html>
</source>
[[Файл:HelloJSP.png|350px|thumb|right|Вигляд index.jsp та hello.jsp у браузері]]
Як бачимо у нас є JSP скриптлет оточений обмежувачами <% та %>. Тут по суті іде звичайний java код.
 
Рядок 150 ⟶ 151:
 
З GET запитом складніше. В інтернеті можна знайти ряд рекомендацій як усунути цю проблему, проте роз’яснення потребує більш кращого знання теми JSP та сервлетів. Наразі, просто замініть назву типу запиту з GET на POST у відповідних прикладах, або ж застосовуйте латинські літери.
 
==JSP скриптлети та вирази==
 
Отже існують JSP скриптлети та JSP вирази, що оточені відповідними JSP тегами. З скриптлетами зрозуміло — у них всередині знаходяться інструкції Java. Що ж та таке вирази? Коли ви пишете вираз ви по суті говорите, що результат його обчислення повинен виводитися на екран (тобто вставлятися в html сторінку як текст). При цьому можна обійтися і без змінної:
 
<source lang="java"><%= request.getParameter("password") %></source>
 
Зверніть увагу, що на відміну від інструкцій скриптлету, вираз не закінчується крапкою з комою. Виводити можна як примітивні типи так і об’єкти. Якщо результатом виразу є об’єкт, то ви повинні бути впевнені, що в ньому присутній метод toString. В іншому разі буде викликаний метод toString класу Object, що є предком усіх класів Java. Результатом цього буде виведено лише ім’я класу та хеш-код.
 
Можна комбінувати скриптлети та вирази. Наприклад, в одному скриптлеті ви стартуєте цикл. Далі після нього йде вираз, який виводить значення змінної, а далі знову скриптлет, який збільшує змінну і завершує цикл. Це працює по тій при чині, що вкінці-кінців при першому звернені JSP сторінка спочатку перетворюється в сервлет, а далі уже сервлет при кожному зверненні формує HTML сторінку.
 
==Servlets==