Professional Documents
Culture Documents
Tworzenie Aplikacji Internetowych Z Użyciem Platformy Java EE
Tworzenie Aplikacji Internetowych Z Użyciem Platformy Java EE
www.devcastzone.com
www.devcastzone.com
Spis treci
1. 2. 3. 4. 5. 6. 7. 8. Struktura aplikacji webowej Omwienie pliku konfiguracyjnego web.xml Serwlet od podstaw tworzenie i konfiguracja Serwlety obsuga sesji Atrybuty i ich zasigi Cykl ycia aplikacji a obiekty nasuchujce Bezpieczeostwo Filtry a dania
Tworzenie aplikacji internetowych z uyciem platformy Java EE
www.devcastzone.com
nazwa klasy serwletu <-> nazwa serwletu nazwa serwletu <-> jeden lub wiele wzorcw URL
Nazwa moe zawierad spacje W pozostaej treci pliku web.xml naley odwoywad si do serwletu tylko za pomoc nazwy
Tworzenie aplikacji internetowych z uyciem platformy Java EE
www.devcastzone.com
10
11
wzorzec dokadny np. /serwlety/Serwlet wzorzec wieloznaczny np. /serwlety/* zostan dopasowane wszystkie dania, ktre zawieraj fragment /serwlety/ wzorzec rozszerzeo *.xhtml zostan dopasowane wszystkie dania, ktre odwouj si do zasobw o danym rozszerzeniu
12
13
14
15
16
17
Parametr req reprezentuje obiekt dania, podczas gdy resp obiekt odpowiedzi
18
pobierz niezbdne informacje z dania wykonaj logik biznesow wygeneruj odpowied, korzystajc ze strumieni dostpnych w obiekcie odpowiedzi
19
20
21
22
23
24
25
getAttribute() i setAttribute() invalidate() czyci sesj isNew() okrela, czy sesja zostaa utworzona w ramach aktualnego dania
26
27
W przypadku dania dostp do atrybutw reguluj metody get/setAttribute typu HttpServletRequest Kontekst aplikacji to specjalny obiekt, ktry udostpnia informacje na temat caej aplikacji i umoliwia dynamiczne modyfikowanie struktury aplikacji (np. dodawanie serwletw)
28
Atrybuty umieszczone w zasigu kontekstu s dostpne w obrbie caej aplikacji! Dostp do atrybutw jest moliwy za pomoc metody get/setAttribute typu ServletContext Instancja typu ServletContext jest dostpna na rne sposoby, m.in. przy uyciu obiektu dania (req.getServletContext()) lub samego serwletu (this.getServletContext() w metodach doGet()/doPost())
29
30
31
32
ServletRequestAttributeListener:
attributeAdded, attributeRemoved, attributeReplaced
ServletContextAttributeListener:
j.w.
HttpSessionAttributeListener:
j.w.
33
HttpSessionBindingListener:
valueBound() obiekt zosta dodany do mapy atrybutw o zasigu sesji valueUnbound() obiekt zosta usunity z mapy atrybutw o zasigu sesji
34
HttpSessionActivationListener:
sessionDidActivate() sesja zostaa aktywowana po przeniesieniu z innej VM sessionWillPassivate() sesja zostanie wyczona w celu przeniesienia do innej VM
35
36
Bezpieczeostwo
Aplikacje webowe pozwalaj na konfiguracj rnych aspektw bezpieczeostwa w pliku web.xml (w Java EE 6 take za pomoc adnotacji) Konfiguracja ta jest zupenie odseparowana od kodu serwletw czy te stron JSP pomijajc opcjonalne mechanizmy, z ktrych mona korzystad (np. sprawdzenie, czy uytkownik przynaley do roli)
37
Bezpieczeostwo
Najwaniejsze aspekty konfiguracji bezpieczeostwa:
o
okrelenie rl aplikacji okrelenie rda danych bezpieczeostwa (w przypadku serwera Apache Tomcat moe byd to statyczny plik tomcatusers.xml, a mog byd to wybrane tabele z bazy danych)
38
Bezpieczeostwo
Najwaniejsze aspekty konfiguracji bezpieczeostwa:
o
okrelenie wzorcw URL, ktrych dotycz reguy bezpieczeostwa, wraz z dozwolonymi metodami HTTP powizanie wzorcw i rl (w pliku web.xml), a take rl i uytkownikw (np. w bazie danych) pozwala na utworzenie kompletnego systemu bezpieczeostwa w aplikacji
39
Bezpieczeostwo
Najwaniejsze aspekty konfiguracji bezpieczeostwa:
o
Istniej te dodatkowe aspekty, jak okrelenie minimalnego stopnia zabezpieczeo (np. SSL), metody uwierzytelniania, itd.
Separacja ustawieo bezpieczeostwa od kodu Java pozwala na przydzia zadao zwizanych z konfiguracj i bezpieczeostwem np. innemu pracownikowi
40
Bezpieczeostwo
Przykad:
<security-constraint> <web-resource-collection> <web-resource-name>user-resource</web-resource-name> <url-pattern>/nowyTemat</url-pattern> <url-pattern>/temat</url-pattern> <url-pattern>/index</url-pattern> <http-method>GET</http-method> <http-method>POST</http-method> </web-resource-collection> <auth-constraint> <role-name>uzytkownik</role-name> </auth-constraint> <user-data-constraint> <transport-guarantee>NONE</transport-guarantee> </user-data-constraint> </security-constraint> <login-config> <auth-method>FORM</auth-method> <form-login-config> <form-login-page>/login</form-login-page> <form-error-page>/blad</form-error-page> </form-login-config> </login-config> <security-role> <role-name>uzytkownik</role-name> </security-role>
41
Filtry a dania
Filtr to mechanizm, ktry pozwala na wykonanie pewnej czynnoci przed przekazaniem sterowania do odpowiedniego serwletu Filtry, podobnie jak serwlety, mog byd aplikowane do wzorcw URL
42
Filtry a dania
Filtry s stosowane wszdzie tam, gdzie konieczna jest wstpna obrbka dao, np.:
o
o o
rejestrowanie informacji w dzienniku szyfrowanie/deszyfrowanie kompresja dynamiczna decyzja o przekazaniu sterowania do serwletu
43
Filtry a dania
Przykad:
// przeka sterowanie do serwletu, jeli istnieje parametr o nazwie X public class FiltrUzytkownikow implements Filter { public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { System.out.println("Przed obsug"); if (request.getParameter("nazwaUzytkownika")!=null) chain.doFilter(request, response); System.out.println("Po obsudze"); } public void init(FilterConfig fConfig) throws ServletException {} @Override public void destroy() {} }
44
Filtry a dania
Przykad (konfiguracja w pliku web.xml):
<filter> <filter-name>FiltrUzytkownikow</filter-name> <filter-class>szkolenie.filtry.FiltrUzytkownikow</filter-class> </filter> <filter-mapping> <filter-name>FiltrUzytkownikow</filter-name> <url-pattern>/serwlety/*</url-pattern> </filter-mapping>
45
Tworzenie aplikacji internetowych z uyciem platformy Java EE program penego szkolenia 1. Wprowadzenie do wiata aplikacji webowych Java EE
o o o
Aplikacje webowe a okienkowe porwnanie modeli Pojcia zwizane z tworzeniem aplikacji webowych Stos aplikacji webowej Java EE Konfiguracja rodowiska do pracy
Struktura aplikacji webowej Omwienie pliku konfiguracyjnego web.xml Serwlet od podstaw tworzenie i konfiguracja Serwlety obsuga sesji Atrybuty i ich zasigi Cykl ycia aplikacji a obiekty nasuchujce Bezpieczeostwo Filtry a dania
Programowanie w jzyku Scala
www.devcastzone.com
46
JSP jako metoda separacji widoku od serwletw Przekazywanie informacji do stron JSP Expression Language jzyk wyraeo Wyraenia i operatory Akcje, czyli specjalne znaczniki JSP Dyrektywy JSP Legacy code na co uwaad w przestarzaym kodzie
JSTL krtka charakterystyka Znaczniki bazowe (rdzeo) Znaczniki funkcyjne Znaczniki formatujce
Programowanie w jzyku Scala
www.devcastzone.com
47
o
o o
JDBC podstawowy mechanizm obsugi bazy danych w Javie Separacja kodu obsugi JDBC od serwletw JPA struktura i zasady dziaania Adnotacje JPA jako sposb oznaczania klas encji Wdroenie JPA w aplikacji webowej
6. Nowoci w Java EE 6
o o o o
copyright BNS MEDIA
Adnotacje jako narzdzie do konfigurowania serwletw Uwierzytelnianie na poziomie serwletw Wywoania asynchroniczne Modularnod a konfiguracja w pliku web.xml
Programowanie w jzyku Scala
www.devcastzone.com
48
Zapraszamy
49