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ý