FACES J AVAS ERVER. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska

Podobne dokumenty
Aplikacje internetowe oparte na kluczowych technologiach Java Enterprise(Servlet,JSP,JDBC, )

Rozliczenia z NFZ. Ogólne założenia. Spis treści

Architektura Systemów Komputerowych. Sterowanie programem skoki Przerwania

Java Server Faces narzędzie do implementacji w wy prezentacji

Kancelaris - Zmiany w wersji 2.50

Angular 2 - budowanie nowoczesnych i wydajnych aplikacji przeglądarkowych

epuap Ogólna instrukcja organizacyjna kroków dla realizacji integracji

Szkolenie wycofane z oferty

Przedmiot: Projektowanie dokumentów WWW. Laboratorium 3: Strona domowa cz. III Formularze. Opracował: Maciej Chyliński

I. Zakładanie nowego konta użytkownika.

Krakowska Akademia im. Andrzeja Frycza Modrzewskiego. Karta przedmiotu. obowiązuje studentów, którzy rozpoczęli studia w roku akademickim 2013/2014

Praca na wielu bazach danych część 2. (Wersja 8.1)

Technologie internetowe Internet technologies Forma studiów: Stacjonarne Poziom kwalifikacji: I stopnia. Liczba godzin/tydzień: 2W, 2L

Instrukcja obsługi platformy zakupowej e-osaa (klient podstawowy)

INSTRUKCJA WebPTB 1.0

System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy

Automatyzacja procesu publikowania w bibliotece cyfrowej

Microsoft Management Console

REGULAMIN PRZESYŁANIA I UDOSTĘPNIANIA FAKTUR W FORMIE ELEKTRONICZNEJ E-FAKTURA ROZDZIAŁ 1. I. Postanowienia ogólne

Historia zmian w aplikacji. Rejestr Podmiotów Wykonujących Działalność Leczniczą

SZABLONY KOMUNIKATÓW SPIS TREŚCI

Projektowanie systemów informacyjnych: język UML

Zaawansowane Aplikacje Internetowe

Logowanie do mobilnego systemu CUI i autoryzacja kodami SMS

3S TeleCloud - Aplikacje Instrukcja użytkowania usługi 3S KONTAKTY

SKRÓCONA INSTRUKCJA OBSŁUGI ELEKTRONICZNEGO BIURA OBSŁUGI UCZESTNIKA BADANIA BIEGŁOŚCI

Stacjonarne Wszystkie Katedra Inżynierii Produkcji dr Sławomir Luściński. Kierunkowy Nieobowiązkowy Polski Semestr trzeci. Semestr zimowy Brak Tak

INTERAKTYWNA APLIKACJA MAPOWA MIASTA RYBNIKA INSTRUKCJA OBSŁUGI

INSTRUKCJA Panel administracyjny

Strona główna góra

Integracja systemów, integracja procesów

Program Google AdSense w Smaker.pl

Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej

ECDL Advanced Moduł AM3 Przetwarzanie tekstu Syllabus, wersja 2.0

emszmal 3: Eksport wyciągów do Subiekt (Su\Re\Ra) nexo (plugin dostępny wraz z dodatkiem Biznes)

Opis obsługi systemu Ognivo2 w aplikacji Komornik SQL-VAT

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla uŝytkowników modułu wyszukiwania danych Warszawa 2007

Programowanie w internecie nazwa przedmiotu SYLABUS A. Informacje ogólne

Tworzenie aplikacji internetowych E14

Wtedy wystarczy wybrać właściwego Taga z listy.

Instrukcja użytkownika systemu MOBEVO


Zdalne odnawianie certyfikatów do SWI

STRONA GŁÓWNA SPIS TREŚCI. Zarządzanie zawartością stron... 2 Tworzenie nowej strony... 4 Zakładka... 4 Prawa kolumna... 9

INSTRUKCJA KONFIGURACJI PRZEGLĄDARKI INTERNET EXPLORER

Formularze i ramki w HTML

Użytkowanie elektronicznego dziennika UONET PLUS.

Chmura obliczeniowa. do przechowywania plików online. Anna Walkowiak CEN Koszalin

Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych ul. Koszykowa 75, Warszawa

Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Instrukcja obsługi aplikacji Moduł 7 Business Ship Control dla InsERT Subiekt GT

Wykonanie strony internetowej projektu wraz z hostingiem i administracją

Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące.

Systemy mikroprocesorowe - projekt

Centrum Informatyki "ZETO" S.A. w Białymstoku. Instrukcja użytkownika dla urzędników nadających uprawnienia i ograniczenia podmiotom w ST CEIDG

Spring MVC Andrzej Klusiewicz 1/18

Spis treści. Rozdział 1 ewyniki. mmedica - INSTR UKC JA UŻYTKO W NIKA

emszmal 3: Automatyczne księgowanie przelewów w menedżerze sprzedaży BaseLinker (plugin dostępny w wersji ecommerce)

INFORMATOR TECHNICZNY WONDERWARE

Tytuł pracy. Praca dyplomowa inżynierska. Filip Piechocki. Tytuł Imię i Nazwisko

Konfiguracja przeglądarek internetowych oraz Panelu Java dla klientów instutucjonalnych problemy z apletem do logowania/autoryzacji

1. PODMIOTEM ŚWIADCZĄCYM USŁUGI DROGĄ ELEKTRONICZNĄ JEST 1) SALESBEE TECHNOLOGIES SP. Z O.O. Z SIEDZIBĄ W KRAKOWIE, UL.

InsERT GT Własne COM 1.0

Instalacja. Zawartość. Wyszukiwarka. Instalacja Konfiguracja Uruchomienie i praca z raportem Metody wyszukiwania...

OvidSP. Ovid Universal Search Wyszukiwanie bez granic.

W dobie postępującej digitalizacji zasobów oraz zwiększającej się liczby dostawców i wydawców

OPIS PRZEDMIOTU ZAMÓWIENIA:

Scenariusz lekcji. podać definicję pojęcia cywilizacja informacyjna ; scharakteryzować społeczeństwo informacyjne;

SecretWiki. Wersja: testowa

Logowanie do systemu Faktura elektroniczna

System kontroli wersji SVN

JavaServer Faces (JSF)

Ewidencja środków trwałych. Projekt konceptualny Marcin Hajduczek, Tomasz Landowski

Instrukcja rejestracji konta i składania wniosku o nadanie kodu pre-lei dla osób fizycznych prowadzacych działalność gospodarczą

VinCent Office. Moduł Drukarki Fiskalnej

Postanowienia ogólne. Usługodawcy oraz prawa do Witryn internetowych lub Aplikacji internetowych

Seria P-662HW-Dx. Bezprzewodowy modem ADSL2+ z routerem. Skrócona instrukcja obsługi

Aplikacje internetowe i rozproszone - laboratorium

Wprowadzenie do technologii JavaServer Faces 2.2 na podstawie Wykład 2 Technologie internetowe

Warszawa, r.

Regulamin usługi Wezwij PZU Pomoc

Komunikacja w sieci Industrial Ethernet z wykorzystaniem Protokołu S7 oraz funkcji PUT/GET

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy

Poniżej instrukcja użytkowania platformy

Firma Informatyczna JazzBIT

elektroniczna Platforma Usług Administracji Publicznej

Kurier POCZTEX XL by CTI. Instrukcja

CGI i serwlety. Plan wykładu. Wykład prowadzi Mikołaj Morzy. Przykład: serwlety vs. szablony. Implementacja logiki prezentacji

Regulamin korzystania z Systemu invooclip przez Adresata i Odbiorcę

Archiwum Prac Dyplomowych

FAQ. Lipiec Wersja 1.2. Generator Wniosków Aplikacyjnych (GWA), Generatora Wniosków Aplikacyjnych Edytor (GWA-E)

Facelets ViewHandler

Wykład 4 Wybrane zagadnienia programowania w C++

Aktualizacja CSP do wersji v7.2. Sierpień 2014

API transakcyjne BitMarket.pl

Ogólna charakterystyka kontraktów terminowych

mprofi.pl nowa generacja usług mobilnych TWOJA APLIKACJA MOBILNA: Komunikator na smartfony

Instrukcja procesu aktywacji oraz obsługi systemu Banku Internetowego dla BS Mikołajki

Transkrypt:

Wykorzystano fragmenty wykładu Michała Wójcika i Michała Piotrowskiego Waldemar Korłub J AVAS ERVER FACES Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska

JSF 2: JavaServerFaces Framework do budowania interfejsu webowego dla aplikacji działającej po stronie serwera Jest częścią standardu Java EE od wersji 5 Komponentowy MVC Model komponentów oddzielony od algorytmów wyświetlania ich na różne sposoby Model obsługi zdarzań emitowanych przez bogate komponenty w interfejsie użytkownika Mechanizmy konwersji i walidacji danych z komponentów

JSF 2: JavaServerFaces Zaprojektowany z myślą o wsparciu narzędziowym (integracja z IDE) Obejmuje standardowy mechanizm szablonów (od Java EE 6) Posiada wygodny mechanizm relokacji zasobów (np. style CSS, skrypty) Posiada mechanizm budowania linków nadających się na zakładki (ang. bookmarkable urls)

JSF a action-driven MVC Action-driven MVC Front-controller Routing (url à akcja) Kontrolery Model widoku Szablony widoków JSF FacesServlet / backing beans? / pola backing beans? Facelets

JSF przepływ sterowania Aplikacja oparta o JSF przypomina bardziej aplikację okienkową niż większość popularnych aplikacji internetowych (action-driven MVC) Nawigacja odbywa się od widoku do widoku Czemu towarzyszą wywołania metod obsługi zdarzeń Action-driven MVC: routing à akcja kontrolera à widok Widoki zbudowane z bogatych komponentów Posiadających własne zachowania do których przypisuje się funkcje obsługi zdarzeń w celu obsłużenia akcji użytkownika n Funkcje obsługi zdarzeń zgromadzone w backing beans Aplikacje stanowe stany widoków zapamiętywane między żądaniami

JSF przepływ sterowania Deweloper JSFa nie myśli na poziomie żądań HTTP przez większość czasu Nie ma routingu, nie ma mapowania URLi na akcje Deweloper JSFa myśli w kontekście interakcji między komponentami widoku i metod obsługi zdarzeń Przykład!

Konwertery, walidatory, listenery Konwertery: konwertują wartości wpisywane w formularzach na typy Javy, standardowo dostępne są konwertery do wszystkich podstawowych typów (w tym dat); Walidatory: odpowiadają za kontrolę wpisywanych wartości w pola formularzy własne walidatory implementowane jako metody w backing beanie lub klasy spełniające interfejs Validator; Listenery: pozwalają nasłuchiwać na pewne zdarzenie jak: kliknięcie przycisku lub linku, zmiana wartości pola itp., Implementuje się je jako metodę w beanie lub klasę spełniającą odpowiedni interfejs.

Obsługa żądania w JSF

Obsługa żądania w JSF Restore View tworzenie widoku strony, wiązanie walidatorów, konwerterów i procedur obsługi zdarzeń z komponentami Apply Requests przypisanie wartości z żądania do obiektów reprezentujących komponenty Process Validations walidacja wartości Update Model przypisanie wartości z komponentów do modelu Invoke Applications obsługa zdarzeń na poziome aplikacji, zgłaszanie formularza, linkowanie do innych stron Render Response generowanie strony

Powiązania między komponentami a backing beans Dwa podejścia: Wykorzystanie właściwości obiektu w atrybutach komponentów widoku n Wyrażenia EL: #{bean.metodaobslugizdarzenia()} Powiązanie komponentów widoku z polami obiektów (binding) n Dostęp do surowych danych wpisanych w komponencie (bez konwersji typów) n beany stają się zależne od klas JSF i konkretnych widoków n Pozwala z poziomu beana sterować komponentem widoku (widoczność, wygląd, atrybuty...)

Zasięgi Obiekty backing beans można umieszczać w różnych zasięgach: Aplikacji Sesji Żądania Widoku Żaden nowa instancja przy każdym użyciu Własny (programisty)

Deskryptor faces-config.xml Umożliwia konfigurację: beanów zarządzanych (backing beans) konwerterów, walidatorów, listenerów obsługi elementów frameworka JSF, np. własną obsługę widoków (ViewHandler) zasobów (np. pliki z tłumaczeniami) nawigacji pomiędzy widokami Nieobowiązkowy plik konfiguracyjny Możliwa konfiguracja za pomocą adnotacji (dłuższy czas wdrażania aplikacji konieczność skanowania klas)

Przypomnienie z WAI: Idiom POST-REDIRECT-GET Deweloper JSFa przez większość czasu nie przejmuje się protokołem HTTP ale pewnych jego cech nie da się ominąć Problem wielokrotnego przesłania formularza jest obecny w JSF tak, jak w każdym innym frameworku

Problem wielokrotnego submitu 14 <form method="post"> <!--... --> </form> POST przelew.php 200 OK Zlecenie przelewu Status: przyjęty do realizacji Odśwież POST przelew.php

POST i przycisk Odśwież 15 Współczesne przeglądarki ostrzegają przed ponownym wysłaniem zapytania POST Gdyby tylko użytkownicy czytali komunikaty i wiedzieli jak je interpretować

POST i zmiany stanu 16 Żądanie POST, które zmieniło stan po stronie serwera, nie powinno zwracać informacji dla użytkownika, a jedynie odpowiedź Redirect (grupa 3xx) dla przeglądarki Przeglądarka zrealizuje przekierowanie pod adres umieszczony w nagłówku Location Docelowa strona powinna prezentować status wykonanej operacji Jeśli nie nastąpiła zmiana stanu, przekierowanie nie jest konieczne np. błędnie wypełniony formularz

Idiom POST-REDIRECT-GET 17 <form method="post"> <!--... --> </form> Obsługa przekierowania POST przelew.php 302 Found Location: status.php?id=17 GET status.php?id=17 200 OK Zlecenie przelewu Pobranie statusu Status: przyjęty do realizacji Odśwież GET status.php?id=17

Redirect w JSF Parametr faces-redirect umożliwia wysłanie odpowiedzi 302 do przeglądarki, np.: public String savebook() { bookservice.savebook(book); return "list_books?faces-redirect=true"; }

Facelets

Facelets Zalecany język deklaracji widoków w JSF 2 Widok deklaruje się jako standardowy plik XHTML z przestrzeniami nazw JSF, Facelets i JSTL Pozwala na tworzenie szablonów stron w prosty sposób (znaczniki <ui:insert> i <ui:define> Pozwala na łatwe budowanie własnych komponentów złożonych, wspiera wykorzystanie EL

Facelets obsługiwane biblioteki JavaServer Faces Facelets Tag Library budowanie szablonów JavaServer Faces HTML Tag Library renderowanie komponentów HTML JavaServer Faces Core Tag Library podstawowe akcje niezależne od komponentów renderujących (render kit) JSTL Functions Tag Library funkcje z JSTL

Pytania?