Programování v Javě II Java pro webové aplikace Michal Pobucký michal.pobucky@fpf.slu.cz Ústav informatiky – léto 2020 Podmínky absolvování předmětu • Vytvoření webové aplikace – hry pro dva hráče (pexeso, lodě, piškvorky, početní soutěž,…) • Hráč hraje proti hráči, klient – server – klient (nehraje hráč proti PC) • Hráčů proti sobě může hrát libovolné množství (vždy v párech) • Hráč se musí nejprve přihlásit jménem a heslem na server (nový hráč se musí zaregistrovat) • Hráč čeká dokud se neobjeví protihráč • Celá hra se loguje na serveru • Klient je proveden v jednoduchém grafickém prostředí (pokud je to nutné) • Hráči není povoleno přihlásit se podruhé 2Programování v Javě II - 1 - Michal Pobucký Podmínky absolvování předmětu • 1. část – webová aplikace s možností registrace, přihlášení, grafické rozložení, návrh databázového řešení • Odevzdat v polovině semestru • 2. část – kompletní webová aplikace • Odevzdat v posledním týdnu semestru 3Programování v Javě II - 1 - Michal Pobucký Java pro webové aplikace • Předpoklady • Znalost JSE • Základní znalost HTML, SQL, CSS • JEE 4Programování v Javě II - 1 - Michal Pobucký Java pro webové aplikace • Statický web • Klient odesílá požadavek na stránku na server • Server vrací zpět HTML stránku • Dynamický web (využívá JEE) • Klient odesílá požadavek na stránku na server • Server volá JEE • JEE na základě požadavků klienta generuje HTML stránku • Server vrací zpět HTML stránku 5Programování v Javě II - 1 - Michal Pobucký Java pro webové aplikace • Aplikační servery • Apache Tomcat • JBoss Application Server • IBM WebSphere Application Server • Oracle WebLogic 6Programování v Javě II - 1 - Michal Pobucký Java pro webové aplikace • Technologie JEE • Java Servlets – základní nástroj pro obsluhu protokolu HTTP • JSP (Java Server Pages) – vkládané příkazy do HTML kódu • JSF (Java Server Faces) – celý kód v XML, skládá se z připravených komponent • JDBC (Java DataBase Connectivity) – rozhraní pro práci s databázemi pomocí SQL • JPA (Java Persistence API) – rozhraní pro práci s daty pomocí mezivrstvy ORM • Frameworky třetích stran – Spring, Struts, Hibernate 7Programování v Javě II - 1 - Michal Pobucký Java pro webové aplikace • Trocha historie • Mainfraime – aplikační software uložen pouze zde, ostatní přistupují z jednotlivých stanic pomocí sítě • Desktopové aplikace – každá stanice vlastní software • Webové stránky – statické, architektura klient-server • Webové aplikace – dynamické, webová stránka se chová stejně jako desktopová aplikace 8Programování v Javě II - 1 - Michal Pobucký Java pro webové aplikace • Vybavení • IDE – Eclipse, NetBeans, … • Server – Tomcat, GlassFish, … • Instalace • Eclipse IDE for Enterprise Java Developers • Apache Tomcat 9Programování v Javě II - 1 - Michal Pobucký Java Servlet – úvod • Vytvořte nový projekt – Create a new Java EE Web Project • Název: servlet01 10Programování v Javě II - 1 - Michal Pobucký Java Servlet – úvod 11Programování v Javě II - 1 - Michal Pobucký Java Servlet – úvod • Nastavení serveru • Window – Show view – Servers • V dialogovém okně – Define New Server • Vybrat Apache Tomcat v9.0 Server a odkázat na adresář, který jsme stáhli • Po instalaci lze server spustit pravým kliknutím myši - Start 12Programování v Javě II - 1 - Michal Pobucký Java Servlet – úvod 13Programování v Javě II - 1 - Michal Pobucký Java Servlet – úvod • Vytvoříme nový servlet • Servlet01 – JavaResources – New – Servlet • ClassName označíme jako DemoServlet 14Programování v Javě II - 1 - Michal Pobucký Java Servlet – úvod 15Programování v Javě II - 1 - Michal Pobucký Java Servlet – úvod 16Programování v Javě II - 1 - Michal Pobucký Java Servlet – úvod 17Programování v Javě II - 1 - Michal Pobucký Java Servlet – úvod • Chyba: The import javax.servlet cannot be resolved • Oprava: kliknout pravou myší na jméno projektu – Properties – Java Build Path – Libraries – Add External JARs… • Najít /apache-tomcat-9.0.30/lib/servlet-api.jar • Klik na Apply and Close • Chybová označení zmizela 18Programování v Javě II - 1 - Michal Pobucký Java Servlet – úvod 19Programování v Javě II - 1 - Michal Pobucký Java Servlet – úvod • Doplníme import java.io.PrintWriter; • Změníme metodu doGet() 20Programování v Javě II - 1 - Michal Pobucký Java Servlet – úvod 21Programování v Javě II - 1 - Michal Pobucký Java Servlet – úvod • Spustíme tlačítkem Run As (Run On Server) 22Programování v Javě II - 1 - Michal Pobucký Java Servlet – úvod 23Programování v Javě II - 1 - Michal Pobucký Java Servlet – úvod • Nemáme kód stránky, pouze servlet. • Přepíšeme adresu z původní • http://localhost:8080/servlet01/ • Na novou adresu • http://localhost:8080/servlet01/DemoServlet 24Programování v Javě II - 1 - Michal Pobucký Java Servlet – úvod 25Programování v Javě II - 1 - Michal Pobucký Zdroje • https://kore.fi.muni.cz/wiki/index.php/%C3%9Avod_do_webov%C3% BDch_aplikac%C3%AD • https://www.zdrojak.cz/clanky/java-na-webovem-serveru-prvni-web/ • https://www.itnetwork.cz/java/jee • https://www.javatpoint.com/java-tutorial 26Programování v Javě II - 1 - Michal Pobucký