Programování v Javě II
JSP
Michal Pobucký
michal.pobucky@fpf.slu.cz
Ústav informatiky – léto 2020
JSP
• Psaní velkých webových aplikací jen pomocí servletů je nepohodlné
• JSP
• HTML kód doplněný o skriptlety
• Psaní servletů naruby – každý JSP je před samotným spuštěním konvertován
na servlet, který je překompilován a spuštěn
• Psaní kódu
• <% … %> běžný kód
• <!% … %> kód mimo metodu service()
• <%= … %> vytiskne výraz (shodné s <%out.print(vyraz)%>)
2Programování v Javě II - 3 - Michal Pobucký
JSP - úvod
Převzato z https://www.javatpoint.com/jsp-tutorial
3Programování v Javě II - 3 - Michal Pobucký
JSP - úvod
• Program
• Klient zadá číslo, dostane druhou mocninu
4Programování v Javě II - 3 - Michal Pobucký
JSP - úvod
• Index.jsp
• Úvodní direktivy
• Samostatný kód
• Začátek, pokračování a
konec kódu metody
service()
• Klasický HTML kód
• Vnoření hodnoty do HTML
kódu
5Programování v Javě II - 3 - Michal Pobucký
JSP - úvod
6Programování v Javě II - 3 - Michal Pobucký
JSP - direktivy page
• import
• <%@ page import="java.util.Date" %>
• Dnes je <%= new Date() %>
• contentType
• <%@ page contentType="text/html; charset=UTF-8" %>
• Dnes je <%= new java.util.Date() %
• errorPage
• <%@ page errorPage=„chyba.jsp" %>
• <%= 100/0 %>
7Programování v Javě II - 3 - Michal Pobucký
JSP - direktivy include
• file
• <%@ include file="header.html" %>
• Dnes je <%= java.util.Calendar.getInstance().getTime() %>
8Programování v Javě II - 3 - Michal Pobucký
JSP - error
• Program
• Klient zadá dvě hodnoty, server provede dělení a vrátí data zpět klientovi, v
případě chyby je zobrazena chybová stránka
9Programování v Javě II - 3 - Michal Pobucký
JSP - error
• Index.jsp
10Programování v Javě II - 3 - Michal Pobucký
JSP - error
• Main.jsp
11Programování v Javě II - 3 - Michal Pobucký
JSP - error
• Error.jsp
12Programování v Javě II - 3 - Michal Pobucký
JSP - error
13Programování v Javě II - 3 - Michal Pobucký
JSP - error
• Další varianta je pomocí web.xml, kde lze nastavit chybovou stránku
pro typ výjimky, případně chybový kód
14Programování v Javě II - 3 - Michal Pobucký
JSP - login a logout - 3
• Program
• Klient se přihlásí a odhlásí, bez cookies, použijeme HttpSession
• Heslo: admin
• Po zavření okna v prohlížeči a znovu otevření jsme stále přihlášeni
• Po zavření celého prohlížeče a znovu spuštění již nejsme přihlášeni
15Programování v Javě II - 3 - Michal Pobucký
JSP - login a logout - 3
• Index.jsp
16Programování v Javě II - 3 - Michal Pobucký
JSP - login a logout - 3
• Login.jsp
17Programování v Javě II - 3 - Michal Pobucký
JSP - login a logout - 3
• Link.jsp
18Programování v Javě II - 3 - Michal Pobucký
JSP - login a logout - 3
• Web.xml
19Programování v Javě II - 3 - Michal Pobucký
JSP - login a logout - 3
20Programování v Javě II - 3 - Michal Pobucký
JSP - Action Tags
• Popis JSP Action Tags
jsp:forward přesměruje na jiný kód
jsp:include vloží jiný kód
jsp:useBean vytvoří anebo použije Java Bean
jsp:setProperty nastaví hodnotu vlastnosti Java Bean
jsp:getProperty vrátí hodnotu vlastnosti Java Bean
jsp:plugin vloží další komponenty jako applet
jsp:param nastaví hodnotu parametru (ve spojení s forward a include)
jsp:fallback používá se k tisku zprávy u funkčního pluginu (ve spojení s plugin)
21Programování v Javě II - 3 - Michal Pobucký
JSP - Action Tags
• Program
• Ukázka action tags
22Programování v Javě II - 3 - Michal Pobucký
JSP - Action Tags
• Index.jsp
23Programování v Javě II - 3 - Michal Pobucký
JSP - Action Tags
• Datum.jsp
24Programování v Javě II - 3 - Michal Pobucký
JSP - Action Tags
• Vlozeno.jsp
25Programování v Javě II - 3 - Michal Pobucký
JSP - Action Tags
• Nasobic.java
26Programování v Javě II - 3 - Michal Pobucký
JSP - Action Tags
• Web.xml
27Programování v Javě II - 3 - Michal Pobucký
JSP - Action Tags
28Programování v Javě II - 3 - Michal Pobucký