WPA - Konfigurace Java EE aplikace (Maven, struktura war arch. kontejnerem Tomcat 8



Podobné dokumenty
Parametrizované třídy Generics generické třídy. JDK zavádí mimo jiné tzv. parametrizované třídy - generics

Maven. Aplikační programování v Javě (BI-APJ) - 2 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha

typová konverze typová inference

Seznamy a iterátory. Kolekce obecně. Rozhraní kolekce. Procházení kolekcí

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Iterator & for cyklus

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)

OSGi. Aplikační programování v Javě (BI-APJ) - 6 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha

Stromy. Příklady. Rekurzivní datové struktury. Základní pojmy

Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz

Gradle.

Google Web Toolkit. Martin Šurkovský, SUR března Katedra informatiky

Java a XML. 10/26/09 1/7 Java a XML

Návrhové vzory Tvorba objektů

1 Návod na instalaci prostředí LeJOS-NXJ a přehrání firmwaru NXT kostky

Java Server-side. Štěpán Kuchař. VŠB-TUO FEI Katedra informatiky

Technology Entry form Entry up-to-date? Internal links Faulty internal Possible internal links

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Seminář Java IV p.1/38

Úvod do programovacích jazyků (Java)

Teoretické minimum z PJV

Generické typy. Podrobněji: The Java Language Specification ( Third Edition ) , 18

9. přednáška - třídy, objekty

Servlety a JSP. Petr Adámek, petr.adamek@ibacz.eu

Testovací metoda. Testovací metoda. public class SimpleTest {

Tvorba informačních systémů

PA165: Úvod do Java EE. Petr Adámek

Jazyk C# a platforma.net

7. Dynamické datové struktury

Java technologie pro webové aplikace

KIV/PIA 2013 Jan Tichava

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU

Typický prvek kolekce pro české řazení

Úvod. Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne.

boolean hasnext() Object next() void remove() Kolekce

Abstraktní datové typy: zásobník

Programátorská příručka

Úvod. Únor Fakulta informačních technologií VUT. Radek Kočí Seminář Java Úvod 1/ 23

Tvorba informačních systémů

Programování v Javě I. Únor 2009

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 3.4.

Michal Podzimek

Programování v Javě I. Leden 2008

20. Projekt Domácí mediotéka

Kolekce ArrayList. Deklarace proměnných. Import. Vytvoření prázdné kolekce. napsal Pajclín

UJO Framework. revoluční architektura beans. verze

Tvorba podnikových aplikací v jazyce JAVA. Josef Pavlíček KII PEF CZU

Abstraktní třída a rozhraní

8 Třídy, objekty, metody, předávání argumentů metod

Programovací jazyk Java

NOVINKY V JEE EJB 3.1. Zdeněk Troníček Fakulta informačních technologií ČVUT v Praze

Pole a kolekce. v C#, Javě a C++

1. Distribuce Javy. 2. Vlastnosti J2EE aplikace. 3. Fyzická architektura J2EE aplikace. Distribuce Javy se liší podle jejího zamýšleného použití:

Tabulka symbolů. Vazba (binding) Vazba - příklad. Deklarace a definice. Miroslav Beneš Dušan Kolář

Java - výjimky. private void vstup() throws IOException {... }

(Enterprise) JavaBeans. Lekce 7

Kolekce, cyklus foreach

Simulace. Martin Pergel

Obsah přednášky. Technologie. Enterprise Java Beans. Enterprise Java Beans. EJB kontejner. Enterprise Java Beans (EJB)

Třída jako zdroj funkcí

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007


Maven build a project management Java aplikací příručka školení. Libor Jelínek (Virtage Software) <ljelinek@virtage.cz>

Úvod do programování - Java. Cvičení č.4

RMI Remote Method Invocation

Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)

Úvod Přetěžování Generika Kolekce Konec. Programování v C# Další jazykové konstrukce. Petr Vaněček 1 / 31

Statické proměnné a metody. Tomáš Pitner, upravil Marek Šabo

Analýza a Návrh. Analýza

Integrace OpenOffice.org a Javy. CZJUG, , Robert Vojta

[ASP].NET Core Demystified. Miroslav Holec. Konzultant a lektor [ASP].NET Core.

JAVA V Assertions Java, zimní semestr

OOPR_05. Případové studie

Web Services na SOAP

Seminář Java II p.1/43

Výčtový typ strana 67

Principy objektově orientovaného programování

Lubomír Dobrovolský, DOB113

Jazyk C# (seminář 3)

Návrh softwarových systém. Návrh softwarových systémů

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

Vytváření a použití knihoven tříd

Čipové karty Lekařská informatika

7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd

Úvod do programování v jazyce Java

<Insert Picture Here> Vývoj portálových řešení v Javě

Rozhraní SAX, SAX vs. SAX2. Jaroslav Ciml

Úvod do programovacího jazyka Python

1. Téma 12 - Textové soubory a výjimky

První kapitola úvod do problematiky

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Generické programování v jazyce Java Generics programming in Java

Apache Cordova (PhoneGap 3)

Webová prezentační aplikace

Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/

Enterprise Java Beans 3.0

public static void main(string[] args) { System.out.println(new Main().getClass().getAnnotation(Greet.class).text());

Transkript:

WPA - Konfigurace EE aplikace (Maven, struktura war archivů), práce s webovým kontejnerem 8 1. října 2014

Obsah 1 2 3 4 Maven Konfigurace maven projektu - pom.xml 5 6

? Semestrálky mohou dělat dohromady dva studenti Každé téma na cvičení pouze jednou

Generika Umožňují konstrukci znovupoužitelných kontejnerů a robustních Třídě/metodě lze předat typový parametr Typový parametr funguje jako šablona při kompilaci jsou nahrazeny jeho výskyty předaným typem Typickým příkladem jsou kolekce Bez generik bychom museli mít bud pro každý typ vlastní kolekce nebo bychom vše typovali jako object (a při výběru bychom vše museli zpět přetypovávat) Znalost generik je nutná pro průchod tímto předmětem

Generika použití List<String> list = new ArrayList<>(); list.add("pes"); // list.add(new Integer(15)); //error String s = list.get(0); //vraci String

Generika deklarace public class ArrayList<E> extends AbstractList<E> implements List<E>,... { public boolean add(e e) { ensurecapacityinternal(size + 1); elementdata[size++] = e; return true; } public E get(int index) { rangecheck(index); return elementdata(index); } }

WEB-INF je z webu nepřistupný WEB-INF/web.xml - deployment descriptor META-INF META-INF/context.xml

ANT Maven Konfigurace maven projektu - pom.xml Procedurální Manuální správa závislostí Nepřenositelný buildovací proces

Maven Maven Konfigurace maven projektu - pom.xml Deklarativní Automatická správa tranzitivních závislostí Možnost jednoduše a automatizovaně stáhnout dokumentaci a zdrojové kódy Buildovací proces přenositelný mezi IDE Podpora plug-inů buildovacího procesu

Základní struktura Maven projektu Maven Konfigurace maven projektu - pom.xml src/main/java src/main/webapp src/main/resources src/test target

Maven Konfigurace maven projektu - pom.xml Konfigurace maven projektu - pom.xml Hlavička - groupid, artifactid, version, packaging Dependencies - deklarace přímých závislostí Repositories - repozitáře pro stažení závislostí Build process Plugins Cobertura Doc AspectJ

Cobertura Maven Konfigurace maven projektu - pom.xml Vytváří report pokrytí testy Pokrytí řádků Pokrytí větví Cyklomatická složitost Realizováno pomocí instrumentace Testovat je nutnost

Co je to? Webový kontejner slouží k nasazení webových aplikací V jednom kontejneru býva nasazeno více logicky souvisejících aplikací 8 podporuje Servlet 3.1 a JSP 2.3 specifikace Open source

Práce s em (Re)Deployment (adresář webapps) Server.xml budeme používat skrze Netbeans IDE

I Kodové konvence http://www.oracle.com/technetwork/java/codeconv-138413.html Generika Oracle http://docs.oracle.com/javase/tutorial/java/generics/ Generika Algoritmy.net http://www.algoritmy.net/article/30003/generika-iterator-17 http://en.wikipedia.org/wiki/war_file_format_(sun)

II Maven dokumentace http://maven.apache.org/guides/ Maven Cobertura plugin http://mojo.codehaus.org/cobertura-maven-plugin/ Maven site plugin http://maven.apache.org/plugins/maven-site-plugin-3.0-beta-3 8 dokumentace http://tomcat.apache.org/tomcat-8.0-doc