Witryny i Portale Internetowe
|
|
- Fabian Kurek
- 9 lat temu
- Przeglądów:
Transkrypt
1 Witryny i Portale Internetowe TECHNOLOGIA JAVA 2 ENTERPRISE EDITION PRZEMYSŁAW SOŁTAN kerk@moskit.ie.tu.koszalin.pl
2 Co powinieneś znać? Podstawy HTML Programowanie obiektowe Programowanie w Javie Bazy danych 2
3 3 Cel! Tworzenie stron WWW w oparciu o Java Server Pages servlety Korzystanie z usług technologii J2EE Wykorzystanie BAZ DANYCH Instalowanie i obsługa aplikacji webowych na wzorcowych serwerach Tomcat J2EE server
4 Zagadnienia poruszane na zajęciach Serwery WWW i serwery aplikacji Technologia Java 2 Enterprise Edition JSP i serwlety JDBC i SQL Java Bean i Enterprise Java Bean Transakcje Bezpieczeństwo XML 4
5 Literatura Java Server Pages - Java Server Pages oraz inne komponenty JavaPlatform Wojciech Romowicz, Helion 2001 Java Server Pages - podręcznik z przykładami James Goodwill, Helion 2001 Java Server Pages od podstaw Maneesh Sahu, Translator 2001 Thinking in Java - edycja polska Bruce Eckel, Helion 2001 Java - aplikacje bazodanowe Michał Grochala, Helion 2001 Po prostu XML Elizabeth Castro, Helion 2001 Core - Servlets and JavaServer Pages Marty Hall, Prentice Hall & Sun Microsystems - Sun Microsystems - 5
6 6 Systemy wielowarstwowe N-tier
7 7 Ewolucja systemów wielowarstwowych Systemy monolityczne Client/server N-Tier
8 8 Systemy monolityczne terminal terminal terminal Aplikacja terminal Dane MainFrame
9 Systemy monolityczne Systemy zawierające całość logiki prezentacji, biznesu i dostępu do danych. Brak możliwości wymiany danych z innymi aplikacjami (integrowanie danych) Niestandardowy dostęp do danych (uzależnienie od wybranego systemu baz danych) Wielokrotne tworzenie (programowanie) tej samej funkcjonalności systemu Duże koszty i słaba wydajność 9
10 10 Client/Server Aplikacja kliencka ODBC lub własny interfejs DBMS Dane Klient Serwer
11 Client/Server Uproszczenie tworzenia i administracji złożonych aplikacji Podział aplikacji na część klienta i serwer Zapis danych w bazie z możliwością ich użycia przez inną aplikację Rozproszenie zasad biznesowych (klient i procedury składowane DBMS) Dostęp do danych przez wielu klientów 11
12 12 N-Tier Przeglądarka internetowa Serwer webowy Serwer aplikacji Dane Warstwa prezentacji Warstwa logiki biznesowej Warstwa danych
13 N-Tier Technologia obiektów rozproszonych: rozbicie aplikacji na samozarządzalne komponenty współdziałanie komponentów pomiędzy różnymi sieciami i systemami operacyjnymi Integracja ze starszymi technologiami - technologia konektorów 13
14 N-Tier Skalowalność, wydajność Niezawodność i spójność danych Scentralizowanie zarządzania i administracja Zmniejszenie kosztów utrzymania systemów klienckich (klient w postaci przeglądarki WWW) Wielokrotne wykorzystanie kodu komponentów Integracja systemów monitorujących pracę serwera aplikacji 14
15 15 N-Tier Bezpieczeństwo - stosowanie firewall i pomiędzy poszczególnymi warstwami aplikacji Implementacja puli zasobów (resource pooling) - mechanizmu zwiększającego wydajność aplikacji Łatwiejsze wykrywanie punktów spowalniających działanie aplikacji. Łatwiejsza lokalizacja błędów poszczególnych warstw
16 N-Tier Zwiększenie obciażenia poprzez dodatkową komunikację pomiędzy warstwami Skupienie się na realizacji rozwiązań stosowanych w aplikacji Łatwość przenoszenia aplikacji do na inne serwery aplikacji 16
17 N-Tier - zadania Organizacja i rozdzielanie żądań Autoryzacja użytkowników Obsługa wielozadaniowości Kierowanie zadań do innych maszyn w przypadku awarii Monitorowanie działania aplikacji 17
18 Jak stworzyć aplikację? niezawodną bezpieczną wydajną N-Tier - aplikacja Należy dokonać logicznego podziału aplikacji na warstwy tak, aby każda z nich realizowała własne zadanie. 18
19 Podział na warstwy warstwa prezentacji warstwa logiki biznesowej warstwa danych 19
20 Podział na warstwy Izolacja: podział aplikacji na warstwy w ten sposób, aby zmiany w jednej z nich miały jak najmniejszy wpływ na drugą podniesienie efektywności modyfikacji aplikacji (np. zastosowanie innego mechanizmu baz danych, czy też zmiana sposobu prezentacji danych u klienta) 20
21 Warstwa prezentacji Komponenty odpowiedzialne za wygląd aplikacji po stronie klienta strony JSP serwlety aplety Java aplikacje 21
22 22 Warstwa prezentacji Przeglądarka internetowa HTTP(s) JSP Klient HTML/XML Servlet Serwer aplikacji
23 Oddzielenie logiki biznesowej od interfejsu użytkownika To co się widzi Interfejs użytkownika To co się robi Logika biznesowa Uproszczenie zarządzania projektem (MVC) Możliwość tworzenia wielu widoków dla określonej logiki biznesowej Ułatwienie procesu ponownego wykorzystania kodu (komponentowość) 23
24 24 MVC KONTROLER Model View Controller Model - implemenacja logiki aplikacji i zarządzanie dostępem do danych View - prezentacja wyników aplikacji i interakcja z użytkownikiem WIDOK MODEL Controller - rozpoznawanie żądań i kontrola nawigacji DESIGN PATTERN - WZORCE PROJEKTOWE
25 Warstwa logiki biznesowej Logika biznesowa jest odpowiedzialna za wykonywanie głównych zadań aplikacji: dostępu do źródeł danych integracji systemu z nowymi funkcjami Odwzorowanie metod za pomocą komponentów biznesowych: session bean i wielu entity beans. Warstwa obsługiwana jest przez serwer aplikacji zgodny z architekturą J2EE 25
26 26 Komponenty biznesowe Kontakt z innymi komponentami biznesowymi Kontakt z klientem Komponenty biznesowe Administracja Bezpieczeństwo Kontakt z danymi Transakcje
27 Warstwa danych Warstwa danych jest źródłem danych dla aplikacji: relacyjna baza danych system plików system katalogów obiektowa baza danych. 27
28 28 Platforma JAVA
29 Platforma JAVA 29
30 30 Platforma JAVA Java 2, Standard Edition (J2SE) - definiuje platformę dla aplikacji ogólnych zastosowań. Platforma taka musi implementować podstawowy zakres API. Przeglądarki internetowe to przykład platformy J2SE.
31 31 Platforma JAVA Personal Java - podzbiór J2SE, przeznaczona do urządzeń przenośnych z ograniczonymi zasobami. Java Card - minimalny podzbiór klas Java do tworzenia aplikacji z wykorzystaniem kart inteligentnych (smart card).
32 32 Platforma JAVA Java 2, Enterprise Edition - rozszerza J2SE o dodatkowe API pozwalające na tworzenie aplikacji wielowarstwowych klasy enterprise.
33 Technologie J2EE JavaMail Java IDL JSP XML JNDI HTML servlets EJB Java 2 Enterprise Edition JMS RMI JDBC 33
34 Technologie J2EE Kontenery i technologie komponentowe Technologie komunikacyjne Usługi 34
35 35 Architektura J2EE J2EE BluePrints - zbiór wskazówek, preferowanych rozwiązań, wzorców projektowych
36 J2EE jako rozszerzenie J2SE 36
37 Enterprise API 37
38 38 J2SE i J2EE Java2 Standard Edition (J2SE) JavaBean Java DataBase Connectivity (JDBC) Java Naming and Directory Interface (JNDI) Remote Method Invocation (RMI) Java2 Enterprise Edition (J2EE) Enterprise Java Bean (EJB) Java Server Pages (JSP) Java Servlets (Servlets)
39 Enterprise API Servlety tworzenie klas javy generujących kod HTML (java -> class) Java Server Pages (JSP) dynamiczne tworzenie stron HTML z możliwością bezpośredniego umieszczania kodu java w plikach html (jsp -> java -> class) 39
40 Enterprise API Enterprise Java Beans (EJB) komponenty działające w warstwie logiki biznesowej, zarządzane i wykonywane na serwerze w kontenerze EJB Java Naming and Directory Interface (JNDI) usługa katalogowania pełniąca rolę zapamiętywania informacji o położeniu zasobów, scalania i zarządzania aplikacji J2EE 40
41 Enterprise API Java Remote Method Invocation (RMI) metody obsługi serwisów sieciowych oraz obsługa ze zdalnych maszyn JavaIDL obsługa połączeń i współpracy heterogenicznych obiektów (implementacja CORBY w języku java) 41
42 Enterprise API Java Data Base Connectivity (JDBC) dostęp do relacyjnych systemów przechowywania danych (SQL) Java Messaging Service (JMS) usługa asynchronicznej wymiany komunikatów (mechanizm kolejkowanie komunikatów) 42
43 43 Enterprise API Java Transaction API (JTA) i Java Transaction Service (JTS) interfejsy wspierające realizację transakcji menadżer zasobów (system informacyjny) menadżer transakcji (serwer) Transakcja - jednostka logiczna pracy, gwarantująca poprawne wykonanie danej czynności
44 44 Platforma J2EE HTML Serwer Aplikacji Kontener WEB JDBC DBMS XHTML XML APPLET Servlets JSP TAG Lib JAF JAVAMAIL JMS JDBC JTA JNDI RMI/IIOP JavaMail RMI Mail Server Aplikacja JAVA Kontener EJB IIOP CORBA Server Aplikacja klienta RMI/IIOP JNDI Session Beans JTA JDBC JMS JAVAMAIL JAF Entity Beans JNDI JMS Directory Service Message queue
45 Kontenery 45
46 Kontenery Kontener - środowisko pracy dla zarządzanych przez siebie komponentów Oddzielenie komponentów od pozostałych elementów systemu: separacja klienta od wpływu na komponent (hermetyzacja) separacja od zewnętrznych zasobów 46
47 Serwer aplikacji (kontener) Serwer aplikacji: udostępnienie środowiska pracy dla komponentów implementacja szeregu interfejsów programowych wykonywanie określonych zadań (zarządzanie dostępem, wykorzystaniem zasobów, zarządzanie transakcjami i bezpieczeństwem) 47
48 48 Komponenty, kontenery i konektory Kontener Konektor Komponent Komponent Komponent Konektor - interfejs pośredniczący umożliwiający komponentom kontakt ze środowiskiem zewnętrznym
49 Kontenery (Container) kontener apletu (przeglądarka WWW) kontener aplikacji klienta kontener WEB kontener Enterprise Java Bean (EJB) 49
50 50 Kontenery Klient Kontener Apletu (przeglądarka WWW) Aplet Serwer Kontener WEB Servlet Java Server Pages Kontener Aplikacji Aplikacja klienta Kontener EJB EJB EJB EJB DataBase
51 J2EE API 51
52 HTTP 52
53 HTTP Hypertext Transfer Protocol GET POST HEAD PUT DELETE TRACE CONNECT (dokumentacja RFC 2068) (dokumentacja RFC 2616) 53
54 URL - Uniform Resource Locator Elementy adresu URL: protokół adres serwera numer portu lokalizacja zasobu http ://hdl.ie.tu.koszalin.pl :8080 /portal/index.htm 54
55 55 TCP/IP Adres IP i numer portu :80 Adres IP (4 bajty) x.x.x - klasa A x.x.x - klasa B x.x.x - klasa C localhost (dokumentacja RFC 922) Numer portu (2 bajty) - (określenie rodzaju usługi) NNTP 23 - TELNET 20 - FTP 25 - SMTP 53 - DNS 80 - HTTP
56 Klient - ping 56
57 57 Klient - telnet GET / HTTP1.1
58 Klient - przeglądarka WWW 58
59 HTTPS Protokół HTTPS wykorzystuje się do bezpiecznej komunikacji HTTP protokół HTTP za pomocą Secure Sockets Layer (SSL) komunikacja z wykorzystaniem kryptografii (szyfrowania danych) komunikacja poprzez domyślny port
60 Serwery WWW 60
61 61 Serwer Apache Serwer Apache Client Http/80 Https/443 Apache
62 62 Serwer Apache Apache.exe -n Apache -k start
63 63 Apache+Tomcat Http/80 Https/443 mod_ssl mod_dav dav mod_jserv mod_jk AJPV12/ Servlet Apache Tomcat
64 64 Apache+Tomcat Client Http/80 Https/443 adapter AJPV12/13 TCP/8007 Apache Tomcat
65 65 Serwery aplikacji
66 Java po stronie klienta słaba wydajność (aplikacje java i aplety) różne wersje JVM klientów po stronie serwera kontrola środowiska JVM szybkość języka nie odgrywa znaczącej roli (straty czasu na poziomie baz danych i połączeń sieciowych) JVM - JAVA VIRTUAL MACHINE 66
67 Serwery Aplikacji SUN(J2EE server) Apache Jakarta (Tomcat) Caucho (Resin) JBOSS Lutris (Enhydra) 67
68 Komercyjne serwery aplikacji IBM(Websphere Application Server) BEA (Weblogic Application Server) Borland (Borland Application Server) Oracle(Oracle 9i Application Server) Macromedia (JRun Application Server) IONA (iplanet Application Serwer) Pramati (Pramati Server) HP (HP Bluestone Total-e-Server) 68
69 69 Serwer TOMCAT
70 Instalacja i uruchomienie instalacja serwera np. do katalogu c:\java\tomcat ustawienie zmiennych środowiskowych JAVA_HOME=c:\java\jdk TOMCAT_HOME=c:\java\tomcat start serwera c:\java\tomcat\bin\startup.bat test serwera zatrzymanie serwera c:\java\tomcat\bin\shutdown.bat 70
71 71 Startup.bat
72 72 Struktura katalogów serwera TOMCAT Katalog bin: uruchomienie (startup.bat) i zatrzymanie (shutdown.bat) serwera Katalog conf: pliki konfiguracyjne serwera (server.xml i web.xml) Katalog webapps: katalog zawierający aplikacje webowe. Katalog do testowania plików jsp Katalog do testowania serwletów
73 Plik konfiguracyjny server.xml 73
74 Zmiana numeru portu <Connector classname="org.apache.catalina.connector.http.httpconnector" /> Modyfikacja pliku konfiguracyjnego serwera c:\java\tomcat\conf\server.xml port="8080" minprocessors="5" maxprocessors="75" enablelookups="true" redirectport="8443 acceptcount="10" debug="0" connectiontimeout="60000" Zamiana numeru portu z 8080 na 80 Restart serwera Test serwera lub 74
75 Plik konfiguracyjny web.xml 75
76 76
77 Aplikacja WEB JRE (serwer) JSP Servlet Server-side JavaBeans statyczne strony HTML, XHTML, XML... Klasy po stronie klienta (applety, JavaBeans, klasy JAVA JRE (client) 77
78 78 Struktura aplikacji WEB Katalog webapps: katalog zawierający aplikacje webowe. aplikacja WEB (pliki html, graficzne, jsp,...) pliki class (serwlety) pliki jar plik konfiguracyjny web.xml aplikacji WEB
79 JSP 79
80 80 Złożoność projektu strony WWW Złożoność Wykorzystanie technologii Strony HTML Strony HTML Proste strony JSP oraz Servlety Strony HTML Strony JSP Servlety Strony JSP z modułami komponentów Strony HTML Strony JSP Servlety Komponenty JavaBeans Znaczniki (Tags) Strony JSP z modułami komponentów i Enterprise Bean Strony HTML Strony JSP Servlety Komponenty JavaBeans Znaczniki (Tags) Szablony (templates) Szablony (templates) Enterprise Java Bean
81 JSP Uproszczenie tworzenia i zarządzania dynamicznym tworzeniem stron WWW (wywoływanie programów po stronie serwera); Łączenie kodu Java z HTML Oddzielenie graficznego wyglądu strony od jej zawartości 81
82 JSP, ASP, PHP JSP technologia firmy SUN z wsparciem innych firm (IBM, Borland, Oracle, Iplanet,...) java - lepsze wsparcie przy ponownym wykorzystaniu kodu komponentów bogactwo rozwiązań dla przedsiębiorstw (Enterprise) wieloplatformowość bezpieczeństwo (mechanizmy ochrony wbudowane w język java) ASP technologia firmy Micro$oft skrypty w VBScript i innych językach specyfikacji ASP (#C) ograniczenie do systemu Windows i serwera IIS PHP open-source nowy język skryptowy wieloplatformowość 82
83 JSP JSP - powiązanie HTML i kodu Javy poprzez wykorzystanie znaczników JSP <html>... </html> + <%... %> <html> <body> <%... %> Witaj... <%... %> </body> </html> 83
84 Ładowanie strony JSP przez kontener Pierwsze ładowanie strony JSP: generacja kodu servletu z JSP kompilowanie kodu servletu jsp ładowanie servletu do kontenera servlet Kontener 84
85 85 Ładowanie strony JSP Plik *.jsp request 1 <HTML> <HEAD>.. <\HEAD> <BODY> <%..%> <\BODY> <\HTML> 2 Kompilator javy 3 response 4 Servlet
86 86 JSP => Servlet => class package org.apache.jsp; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.jsp.*; import org.apache.jasper.runtime.*; public class witaj$jsp extends HttpJspBase { static { } public witaj$jsp( ) { } private static boolean _jspx_inited = false; witaj$jsp.java public final void _jspx_init() throws org.apache.jasper.runtime.jspexception { } 2 witaj.jsp <html> <head> <title>witaj</title> </head> <body> <% out.println("witaj"); %> </body> </html> 1 3 Witaj$jsp.class 4
87 87 Ponowne odwołanie klienta do strony JSP W przypadku braku modyfikacji strony JSP: strona JSP zachowuje się jak statyczna strona HTML z powiązanymi servletami generacja kodu wysyłanego do klienta przez skompilowany servlet servlet Kontener
88 Ponowne odwołanie klienta do strony JSP W przypadku modyfikacji strony JSP: ponowna kompilacja i przeładowanie strony przy następnym żądaniu strony dłuższy czas odpowiedzi przy pierwszym żądaniu jsp servlet Kontener 88
89 89 JSP Żądanie klienta Proces przeglądania strony JSP jest znacznie częstszy niż jej modyfikacja Tworzenie źródła klasy servletu Serwer Test modyfikacji pliku JSP Kompilacja klasy Uruchomienie klasy servletu
90 Cykl życia init() service() destroy() init() - rozpoczęcie życia strony JSP (servletu) jednokrotne wywołanie tworzenie i inicjalizacja zasobów i danych service() - obsługa żądań (zleceń) zgłaszanych przez klienta i obsługa odpowiedzi destroy() -zakończenie działania strony JSP (servletu) zwalnianie zasobów utworzonych w metodzie init() zamykanie połączeń z bazami danych 90
91 JSP (servlet) - cykl życia Inicjalizacja Public void jspinit() Pobranie zapytania od klienta i generacja odpowiedzi Void _jspservice(servletrequest,servletresponse) throws IOException, ServletException Niszczenie Public void jspdestroy() 91
92 JSP i Servlety Programowanie w JSP nie wymusza znajomości serwletów Łatwa integracja z kodem HTML Brak potrzeby ustawiania zmiennej środowiskowej CLASSPATH oraz kompilacji kodu JSP (dba o to serwer aplikacji) Brak wymogu umieszczania kodu JSP w specjalnym katalogu (jak to ma miejsce z servlet ami) 92
93 Elementy skryptowe tworzenie i modyfikacja zawartości stron manipulowanie obiektami Skryptlety <%... %> Dyrektywy <%@... %> Wyrażenia <%=... %> Deklaracje <%!... %> Akcje <jsp:... > 93
94 Składnia JSP 94
95 Komentarze HTML - przesyłane do klienta wraz z kodem strony (dostępne w przeglądarce klienta) <!--komentarz HTML --> <!--komentarz <%= wyrażenie %> --> JSP - opisujące kod strony (dostępne dla twórcy strony) <%-- komentarz JSP --%> <% /** komentarz JAVA **/ %> 95
96 96 <!--komentarz HTML --> <html> <body> <h1>tytuł</h1> <!-- Ten tekst jest widoczny w przeglądarce klienta --> </body> </html>
97 97 <%-- komentarz JSP --%> <html> <body> <h1>tytuł</h1> <%-- Ten tekst jest niewidoczny w przeglądarce klienta --%> </body> </html>
98 Komentarze HTML i JSP Strona JSP (serwer) W HTML nie istnieje możliwość tworzenia zagnieżdzonych komentarzy Przeglądarka (klient) 98
99 Znaki specjalne W JSP aby wyświetlić znak specjalny należy (podobnie jak w C++) wykorzystać dodatkowy znak \ <% <\% %> %\> \ \ \ \\ Widok w HTML Widok w JSP 99
100 100 Skryptlety <html> <body> <% System.out.println("Pobranie dzisiejszej daty"); java.util.date data = new java.util.date(); %> Data: <%= data %> </body> </html> Elementy skryptowe... (skryptlety)... :-)
101 101 Skryptlety <html> <body> <% System.out.println("Pobranie dzisiejszej daty"); java.util.date data = new java.util.date(); %> Data: <%= data %> </body> </html>
102 102 Tabliczka mnożenia Przeglądarka(klient) Strony JSP (serwer)
103 Dyrektywy Dyrektywy są parametrami służącymi do ustawiania parametrów działania kontenera JSP ustawianie parametrów kompilacji/translacji definiowanie języka,... i nie wyświetlają żadnej zawartości Nazwa dyrektywy Nazwa atrybutu Wartość <%@ dyrektywa atrybut = wartość > 103
104 Rodzaje dyrektyw dyrektywa... %> W JSP zdefiniowano trzy dyrektywy: page - definiowanie właściwości strony include -dołączenie plików do strony JSP taglib - deklarowanie biblioteki znaczników 104
105 %> 105 Dyrektywa page Dyrektywa page pozwala na definiowanie parametrów dla całej strony JSP (bezpośredni wpływ na proces tłumaczenia kodu javy) page import= java.util.* %> <html> <body> </body> </html>
106 %> Dyrektywa page language page language="java %> extends page extends="com.taglib..." %> import page import= java.util.*" %> session buffer page buffer="none" %> autoflush page autoflush="true" %> isthreadsafe page isthreadsafe= true" %> info page info= PORTAL" %> errorpage page error="error.jsp" %> IsErrorPage contenttype 106
107 %> Parametr language dyrektywy page language - określenie języka używanego do dynamicznej generacji zawartości. wartość domyślan: java <%@ page language="java %> Specyfikacja JSP opisuje tylko użycie języka JAVA, ale dostępna jest również obsługa Javascriptu do generacji JSP 107
108 %> Parametr extends dyrektywy page extends - określenie klasy nadrzędnej (bazowej) z której następuje dziedziczenie strony (servletu) JSP. wartość domyślan: org.apache.jasper.runtime.httpjspbean <%@ page extends="com.taglib..." %> 108
109 %> Parametr isthreadsafe dyrektywy page isthreadsafe - określenie poziomu bezpieczeństwa wątku <%@ page isthreadsafe= false" %> false - kontener przesyła żądania klienta jedno po drugim w kolejności ich nadchodzenia request response request response request response Servlet (instancja 1) Servlet (instancja 2) Servlet (instancja 3) true - kontener przesyła jednocześnie wszystkie żądania klienta do strony Kontener 109
110 %> Parametr contenttype dyrektywy page 110 page contenttype = "application/vnd.ms-excel" %> Strona JSP (serwer) Przeglądarka+Excel (klient) MIME Multipurpose Internet Mail Extension
111 %> Parametr iserrorpage dyrektywy page 111 iserrorpage - deklarowanie strony jako strony diagnostycznej... <%@ page iserrorpage = true" %> Strona JSP (serwer) Przeglądarka (klient)
112 %> Parametr erorrpage dyrektywy page page errorpage = errorpage.jsp" %> errorpage - określenie adresu strony diagnostycznej odpowiedzialnej za obsługę wyjątków Strony JSP (serwer) Przeglądarka (klient) 112
113 %> Parametr session dyrektywy page 113 page session = true" %> Strona JSP (serwer) Telnet (klient) Strona JSP (serwer) Telnet (klient)
114 %> 114 Dyrektywa include Dyrektywa include służy do wstawiania tekstu i kodu do dokumentu JSP w procesie jego translacji <html> <body> <%@ include file= baner.jsp %> </body> </html> Realizacja procesu translacji pliku baner.jsp i jego wstawienie w miejsce dyrektywy include
115 %> 115 Dyrektywa include Przeglądarka (klient) Strona JSP (serwer)
116 %> Dyrektywa taglib Dyrektywa taglib deklaruje wykorzystanie biblioteki znaczników zdefiniowanych przez użytkownika taglib uri= lokalizacja prefix= nazwa %> <html> <body> <nazwa:etykieta>... </nazwa:etykieta> </body> </html> Upodobnienie technologii JSP do HTML 116
117 %> 117 Dyrektywa taglib Biblioteka TagLib (serwer) Strona JSP (serwer) Przeglądarka (klient)
118 118 Wyrażenia Wyrażenie wyjściowe powoduje skierowanie wartości zawartej w znaczniku do strumienia wyjściowego <%= wyrażenie %> Wyrażenie wyświetla daną zawartości poprzez konwersję na typ java.lang.string
119 <%=... %> 119 Wyrażenia <%= wyrażenie %> <html> <body> <%= 2*2 %> </body> </html> <html> <body> <%= new java.util.date() %> </body> </html> <html> <body> <%= "Witryny i Portale Internetowe"%> </body> </html>
120 <%=... %> Wyrażenia Przeglądarka (klient) Strona JSP (serwer) Źródło strony HTML (klient) 120
121 121 Deklaracje Deklaracje zmiennych lub metod (poprawa czytelności strony JSP) <%! deklaracja %> Blok deklaracji nie może obsługiwać strumienia wyjściowego out.
122 <%!... %> 122 Deklaracje <%! deklaracja %> <%! Int a = 0; %> <html> <body> <%! Int x,y,z; %> </body> </html>
123 <%!... %> 123 Deklaracje <%! deklaracja %> <html> <%! Date data = new Date(); Date getdate() { System.out.println("Wywołanie metody getdate()"); return data; } %> <body> Data: <%= getdate() %> </body> </html>
124 <%!... %> Deklaracje Deklaracja funkcji inicjalizacji jspinit() i niszczenia jspdestroy() strony JSP Konsola (serwer) Strona JSP (serwer) 124
125 Akcje 125
126 Akcje Akcje standardowe to mechanizm ułatwiający wykonywanie najczęstszych operacji. <jsp:... > Akcje umożliwiają: używanie komponentów JavaBean wysyłanie pluginów do klienta przekierowanie na inną stronę dołączanie statyczne i dynamiczne stron 126
127 <%jsp:... %> Akcje standardowe <jsp:... > <jsp:usebean> <jsp:setproperyt> <jsp:getproperty> <jsp:include> <jsp:forward> <jsp:param> <jsp:plugin> Akcje mają składnie elementów XML (znacznik startowy, ciało i znacznik końcowy) 127
128 usebean Akcja umożliwia dodanie do strony instancji komponentu JavaBean <jsp:usebean... > Atrybuty Atrybuty: id- nazwa instancji obiektu (za pomocą tej nazwy możliwe jest odwoływanie się do obiektu Java Beans 128
129 usebean Atrybuty: scope -czas życia obiektu JavaBean (zasięg) class - nazwa klasyobiektu JavaBean beanname - nazwa komponentu używana podczas jego tworzenia type - typ zmiennej skryptowej 129
130 setproperty Akcja umożliwia ustawienie właściwości komponentu JavaBean określonego akcją usebean <jsp:setproperty... > Atrybuty Atrybuty: name- nazwa instancji obiektu property - nazwa atrybutu, którego wartość ma zostać zmodyfikowana 130
131 setproperty Użycie * jako nazwy atrybutu powoduje przeszukanie wszystkich parametrów żądania HTTP i dopasowanie parametrów odpowiadajcych nazwą i typem, parametrom komponentu JavaBean param - nazwa parametru value - przypisanie wartości dla wybranego atrybutu komponentu 131
132 getproperty Akcja umożliwia pobranie właściwości komponentu JavaBean określonego akcją usebean <jsp:getproperty... > Atrybuty Atrybuty: name- nazwa instancji obiektu, którego atrybut ma zostać odczytany property - nazwa atrybutu, którego wartość ma zostać odczytana 132
133 param Akcja pozwala na podawanie parametrów w postaci par nazwa i wartość parametru wewnątrz innych akcji. <jsp:param... > Atrybuty: name - nazwa parametru value -wartość parametru Atrybuty 133
134 param <jsp:params> <jsp:param name = "nazwa parametru" value = "wartość parametru" > </jsp:params> Akcję <jsp:param> stosuje się przy akcjach: <jsp:include> <jsp:forward> <jsp:plugin> 134
135 include Akcja umożliwia dołączenie do bieżącej strony JSP zasobów statycznych i dynamicznych <jsp:include... > Atrybuty Atrybuty: page -względny adres zasobu flush -wartość logiczna (true/false) decydujca o obróżnianiu bufora 135
136 136 include W przypadku buforowania strumienia następuje jego wyczyszczenie (zawartość strony zostaje zignorowana) Za pomocą akcji param umieszczonego wewnątrz znacznika <jsp:include>... </jsp:include> można dokonać przekazania parametrów kierowanych w zapytaniu do wstawianego zasobu
137 137 forward Akcja umożliwia przejście do innego zasobu w czasie wykonywania programu <jsp:forward... > Atrybuty Wystąpienie znacznika akcji <jsp:forward page="adres_zasobu"> powoduje zakończenie wykonywania kodu bieżącej strony i przejście do podanego zasobu
138 forward Przeglądarka internetowa strona1.jsp strona2.jsp Atrybuty: page - adres zasobu (statyczny, serwlet lub strona JSP) do którego zostanie przekazanie sterowanie Za pomocą akcji param umieszczonego wewnątrz znacznika <jsp:forward>... </jsp:forward> można dokonać przekazania parametrów 138
139 139 plugin Akcja umożliwiająca wysłanie appletu javy do przeglądarki klienta <jsp:plugin... > Atrybuty Znacznik <jsp:plugin> zostaje zamieniony znacznikiem <object> lub <embed>, w zależności od typu przeglądarki (następuje wysłanie odpowiednich ustawień do strumienia wyjściowego)
140 plugin <jsp:plugin... > Atrybuty Atrybuty: type - opreślenie typu pluginu (np. aplet) code - nazwa klasy, która zostaje wykonana przez plugin codebase - lokalizacja względnego adresu URL kodu klasy 140
141 141 plugin Strona JSP (serwer) Źródło strony (klient)
142 <jsp:root> 142
143 JSP jako znaczniki XML walidacja dokumentów JSP możliwość manipulacji dokumentami JSP za pomocą standardowych narzędzi do XML transformacja XML za pomocą XSLT (generacja dokumentów JSP) możliwość przechowywania stron JSP w bazach danych XML 143
144 JSP jako znaczniki XML <%... %> Wszelkie zasady składni znaczników JSP są zgodne z XML jsp:root jsp:text jsp:scriptlet jsp:directive jsp:expression jsp:declaration <jsp:... >...</jsp:...> Akcje jsp:usebean jsp:setproperty jsp:getproperty jsp:include jsp:forward jsp:param jsp:plugin 144
145 Element główny jsp:root <jsp:root>... </jsp:root> Strony XML zawsze zawierają tylko jeden element główny (root) TOMCAT_HOME\src\jasper\src\share\org\apache\jasper\resource\jsp12.dtd 145
146 Elementy tekstowe jsp:text <jsp:text>... </jsp:text> 146
147 Scriptlety jsp:scriptlet <%... %> <jsp:scriptlet>... </jsp:scriplet> 147
148 148 Dyrektywy jsp:directive %> <jsp:directive.nazwa atrybuty... /> Nazwa dyrektywy: page, include lub taglibs
149 149 Wyrażenia jsp:expression <jsp:expression>...</jsp:expression> <%=... %> W przypadku łańcuchów należy stosować znaki " "
150 Deklaracje jsp:declaration <jsp:declaration>... </jsp:declaration> <%!... %> W znaczniku można umieszczać jednocześnie wiele deklaracji oddzielając je znakiem średnika 150
151 Obiekty 151
152 152 Tworzenie obiektów tworzenie w sposób niejawny (obiekt może powstać w wyniku wywołania dyrektywy JSP) tworzenie z użyciem akcji JSP tworzenie jawne poprzez bezpośrednie zdefiniowanie obiektu w kodzie skryptu JSP
153 153 Zasięg obiektów (scope) coraz mniejszy Zasięg obiektu page request session application Zasięg widoczności obiektów określa, kiedy można utworzyć odniesienie (referencję) do obiektu coraz większy
154 154 Zasięg obiektów (page) coraz mniejszy Zasięg obiektu page request session application page - zasięg widoczności obiektów w obrębie strony tworzącej dany obiekt coraz większy
155 155 Zasięg obiektów (request) coraz mniejszy Zasięg obiektu coraz większy page request session application request -zasięg widoczności obiektów ogranicza się do stron przetwarzających żądanie, w którym zostały utworzone określone obiekty (przekazywanie żądania na inną stronę umożliwia korzystanie z takich obiektów)
156 Zasięg obiektów (session) coraz mniejszy Zasięg obiektu coraz większy page request session application session -zasięg widoczności obiektów w obrębie sesji, która je utworzyła. Deklarowanie stron należących do sesji dokonuje się dyrektywą page. Należy pamiętać o zwalnianiu instancji obiektów przy kończeniu sesji. 156
157 157 Zasięg obiektów (application) coraz mniejszy Zasięg obiektu page request session application application -zasięg widoczności obiektów w całej aplikacji WWW, która je utworzyła coraz większy
158 Obiekty niejawne Dostęp do obiektów bez ich wcześniejszej deklaracji w kodzie JSP. request, response pagecontext session application out, config, page, exception 158
159 159 Klasy obsługi obiektów Wszystkie obiekty mają typ, który jest zdefiniowany klasą lub interfejsem request javax.servlet.http.httpservletrequest response javax.servlet.http.httpservletresponse out javax.servlet.jsp.jspwriter session javax.servlet.http.httpsession pagecontent javax.servlet.jsp.pagecontext application javax.servlet.http.servletcontext config javax.servlet.http.servletconfig page java.lang.object exception java.lang.throwable
160 160 Zasięg obiektów (scope) request session Serwer aplikacji config Klient response pagecontext page JSP application Servlet Zasięg definiuje obszar działania danego obiektu
161 161 Obiekt request Obiekt request zawiera informacje umieszczone w żądaniu klienta. Informacje te są przesyłane w nagłówku HTTP oraz przez zawartość żądania
162 Obiekt request Parametry żądania - łańcuch tekstowy przesyłany razem z zapytaniem getparameter getparameternames getparametervalues Przesłanie parametrów do żądania: ciąg znaków zapytania URL dane z formularza przesłanego metodą POST 162
163 163 Request.getParameter getparameter - pobranie parametru z łańcucha URL Przeglądarka (klient) Strona JSP (serwer)
164 Obiekt request Atrybuty - łańcuch tekstowy przesyłany razem z zapytaniem getattribute getattributenames setattribute Pojedynczemu elementowi z tablicy odpowiada tylko jedna wartość 164
165 Obiekt request Nagłówki HTTP - zestaw metod do odczytu nagłówków getheader getheaders getheadernames getiniheader getdateheader 165
166 Przeglądarka (klient) 166 request.getheadernames() request.getheaders() Strona JSP (serwer)
167 Obiekt request Adres URI (Universal Resource Identifier) -część adresu URL określająca ścieżkę do zasobu. Adres URI składa się z trzech części: AdresURI = contextpath + ServletPath + pathinfo getcontextpath getservletpath getpathinfo 167
168 Obiekt request AdresURI = contextpath + ServletPath + pathinfo Przeglądarka (klient) Strona JSP (serwer) 168
169 Obiekt request getscheme -nazwa protokołu (HTTP) getservername - nazwa domenty serwera getserverport - numer portu getrealpath - rzeczywista lokalizacja zasobu na serwerze getpathtranslated - przekształcenie części PathInfo adresu URI na ścieżkę lokalną getremoteaddr -adresip getremotehost - nazwa domeny Klienta 169
170 170 Obiekt request Strona JSP (serwer) Przeglądarka (klient)
171 171 request.getremotehost getremotehost - nazwa domeny Klienta <html> <body> Adres:<% out.println(request.getremotehost()); %> </body> </html> Strona JSP (serwer) Przeglądarka (klient)
172 172 Obiekt request getquerystring - pobranie łańcucha tekstowego z adresu URL Następuje pobranie całego łańcucha po znaku zapytania
173 request.getquerystring Strona JSP (serwer) Następuje zamiana znaków specjalnych (spacje) na ich kody (%20) Przeglądarka (klient) 173
174 Obiekt request getlocale, getlocales - odczytywanie ustawień lokalnych klienta Strona JSP (serwer) Przeglądarka (klient) Dokonując sprawdzenia getlocale w łatwy sposób można realizować lokalizowane wersje stron WWW 174
175 175 request.getcookies getcookies - pobieranie ciasteczek cookie. getname getvalue getcomment getdomain getmaxage getpath getsecure getversion
176 Obiekt response Obiekt response umożliwia: manipulowanie zawartością nagłówka HTML zwracanie danych do przeglądarki klienta buforowanie Interfejs opisujący strumień wyjściowy kontenera JSP 176
177 Obiekt response Buforowanie - poprawa wydajności strony poprzez buforowanie strumienia wyjściowego getbuffersize - pobranie rozmiaru bufora setbuffersize - ustawienie rozmiaru bufora iscommitted - informacja o tym, czy już wysłano jakieś dane do klienta reset - czyszczenie zawartości bufora 177
178 178 Obiekt response Nagłówki -możliwość tworzenia i ustawiania nagłówków odpowiedzi HTTP setheader - ustawienie nagłówka addheader - dodanie własnego nagłówka setintheader -ustaw nagłówek numeryczny setdateheader -ustaw nagłówek daty addintheader - dodaj własny nagłówek numeryczny adddateheader - dodaj własny nagłówek daty
179 179 Obiekt response Przeglądarka (klient) Telnet (klient) Strona JSP (serwer) containsheader - sprawdzenie istnienia nagłówka
180 response.addcookie Cookies - tworzenie i wysyłanie ciasteczek do klienta addcookie - utworzenie i dołączenie nowego ciasteczka do odpowiedzi serwera Przeglądarka (klient) Strona JSP (serwer) Podgląd ciasteczek AnalogX CookieWall (klient) 180
181 181 Obiekt response sendredirect - przekierowanie strony na stronę o padanym adresie URL Zawartość strony nie zostaje przesłana do klienta Przeglądarka (klient) Strona JSP (serwer)
182 Obiekt response senderror - generacja kodu statusu o podanym numerze Strona JSP (serwer) Przeglądarka (klient) 182
183 Obiekt page Obiekt page reprezentuje bieżący dokument JSP Obiekt page jest inicjalizowany wartością this odpowiednią dla danego serwletu (obiektu można używać tak samo jak obiektu this - oba reprezentują bieżącą instancję wygenerowanego servletu) 183
184 184 Obiekt session Obiekt session pozwala zapisywać obiekty pomiędzy kolejnymi zapytaniami klienta Bezstanowość protokołu HTTP - niemożliwość przechowywania danych dla kilku żądań wybranego klienta Sesje -możliwość komunikowania się kolejnych żądań wybranego klienta
185 Obiekt session Sesja rozpoczyna się w momencie wejścia klienta na daną stronę i kończy się po: wyjściu z witryny upłynięciu czasu trwania sesji wywołaniu na serwerze metody zakończenia sesji zamknięciu przeglądarki 185
186 Obiekt session setattribute - ustawienie atrybutu dla sesji getattribute - pobranie atrybutu dla sesji removeattribute - usunięcie atrybutu dla sesji setmaxinactiveinternal - ustawianie czasu dla trwania sesji getmaxinactiveinternal - odczyt aktualnej wartości czasu trwania sesji 186
187 Obiekt session isnew - sprawdzenie, czy klient ma już połączenie z daną sesją invalidate - wymazanie atrybutu sesyjności strony getid - pobranie identyfikatora sesji 187
188 188 Obiekt session Telnet (klient) Kontener (serwer) JSESSIONID 8754B9D... sessionobj Zapis identyfikatora JSESSIONID jako Cookie Sesja tworzona jest przez kontener i klient jest dołączany do sesji po odesłaniu żądania sessionobj nazwisko Kowalski wiek
189 Session Przeglądarka (klient) Strona JSP (serwer) Wysłanie żądania do strony session1.jsp 189
190 session.setattribute Przeglądarka (klient) Strona JSP (serwer) setattribute - ustawienie atrybutu "nazwisko" 190
191 session.getattribute Przeglądarka (klient) Strona JSP (serwer) getattribute - pobranie atrybutu "nazwisko" 191
192 session.getid Przeglądarka (klient) Strona JSP (serwer) getid - pobranie identyfikatora sesji 192
193 193 session.invalidate Przeglądarka (klient) Strona JSP (serwer) invalidate - usunięcie sesji
194 194 session.isnew Przeglądarka (klient) isnew - tworzenie nowej sesji Strona JSP (serwer)
195 195 Obiekt config Obiekt config jest generowany przez kontener JSP (pobieranie parametrów konfiguracyjnych przy inicjalizacji servleta) parametry -pary nazwa i wartość zmiennych aplikacji ustawionych przez serwer
196 Obiekt config getinitparameter - zwracanie wartości parametru zadeklarowanego na serwerze (zwracanie wartości null w przypadku braku podanego parametru) getinitparameternames - zwracanie wszystkich parametrów globalnych getservletname - zwracanie nazwy servletu wyświetlającego stronę 196
197 197 Obiekt pagecontext Kontekst strony przechowuje odwołania (referencje) do obiektów o zasięgu page Mechanizm przechowywania danych lokalnych dla stron JSP Każda strona JSP ma swój obiekt pagecontext, który jest tworzony w momencie otwarcia strony i zamykany przy jej opuszczaniu
198 Obiekt pagecontext findattribute - zwracanie wartości atrybutu (w przypadku braku atrybutu o podanej nazwie zwracana jest wartość null) getattribute - zwracanie wartości atrybutu removeattribute - usunięcie atrybutu o podanej nazwie setattribute -ustawienie wartości dla atrybutu 198
199 199 Obiekt application Obiekt dostępny przez cały czas działania aplikacji Obiekt umożliwia odczyt parametrów deklarowanych na serwerze
200 Obiekt application getinitparameter, getinitparametersnames - odczyt danych, które nie zmieniają się podczas działania aplikacj getserverinfo, getmajorversion, getminorversion - dodatkowe informacje o serwerze, specyfikacjach serwletów/jsp 200
201 201 Obiekt application Przeglądarka (klient) Strona JSP (serwer)
202 Obiekt out Obiekt służy do zapisywania danych do strumienia wyjściowego, który zostaje odesłany do klienta (kod HTML wyświetlany w przeglądarce) out.println(); print -wysłanie tekstu do strumienia wyjściowego bez znaków nowej lini println -wysłanie tekstu do strumienia wyjściowego ze znakami nowej lini 202
203 203 Obiekt out clear - wyczyszczenie bufora strumienia wyjściowego bez wysłania zawartości do klienta (generacja wyjątku przy wcześniejszym wywołaniu metody flush) clearbuffer - wyczyszczenie zawartości bufora strumienia wyjściowego (bez wysłania zawartości bufora do klienta)
204 Obiekt out flush - opróżnienie bufora (następuje wysłanie zawartości bufora do klienta) getbuffersize -wyświetlenie wielkości bufora getremaining - ilość pustego miejsca w buforze isautoflush - sprawdzenie włączenia automatycznego opróżniania bufora newline - wpisanie znaku nowej lini do strumienia wyjściowego 204
205 205 Obiekt out <html> <body> <% System.out.println("Pobranie dzisiejszej daty"); java.util.date data = new java.util.date(); %> Data: <% out.println(string.valueof(data)); %> </body> </html>
206 Obiekt exception Obiekt wyjątku dostępny tylko w obrębie stron diagnostycznych zawierający odwołanie (referencje) do nieprzechwyconych wyjątków getmessage -wyświetlenie komunikatu o błędzie printstacktrace -wysłanie obiektu exception oraz przebiegu jego wystąpienia, do standardowego strumienia błędów tostring - opis wygenerowanego wyjątku Artybut iserrorpage= true dyrektywy page tworzy obiekt exception 206
207 Forms 207
208 Strona JSP/HTML (serwer) 208 Formularze HTML <form> - znacznik służący do definiowania formularza Przeglądarka (klient) <input> - znacznik pozwala przechwytywać dane
209 Formularze HTML Przycisk submit powoduje wysłanie danych pod wskazany adres atrybutu action Przeglądarka (klient) Metody GET i POST są metodami bezpiecznymi - realizują tylko pobieranie informacji Strona JSP/HTML (serwer) 209
210 210 Obsługa formularzy Czas Klient (przeglądarka) Wprowadzenie wartości do formularza i kliknięcie przycisku SUBMIT 1 Wysłanie zapytania do serwera - ( pobranie danych z formularza przez stronę JSP ) Server Wykrycie rozszerzenia pliku JSP przez WEB serwer Translacja i kompliacja pliku JSP (tylko przy pierwszym wywołaniu) 2 3 Odpowiedź zostaje wyświetlona w oknie przeglądarki WWW 6 5 Wysłanie odpowiedzi do klienta - ( przekazanie kodu strony HTML do kontenera przegldarki WWW ) Interpretacja pliku JSP i generacja odpowiedzi serwera 4
211 Metoda GET Metoda GET jest główną metodą do pobierania plików przesyłanie danych z formularza zmniejszenie obciążenia (brak potrzeby wykonania wielu żądań) jawność danych (możliwość modyfikacji) ograniczenie w długości przesyłanych informacji 211
212 212 Metoda GET Przeglądarka (klient) Źródło strony HTML (klient) Wysłanie żądania do serwera (metoda GET) GET form_out.jsp?nazwisko=kowalski
213 Metoda GET GET form_out.jsp?nazwisko=kowalski Wysłanie żądania do serwera (metoda GET) telnet - bezpośrednie wysłanie żądania bez udziału formularza (metoda GET) 213
214 214 Metoda GET GET form_out.jsp?nazwisko=kowalski Przeglądarka (klient) Strona JSP (serwer) Pobranie danych żądania (obiekt request)
215 Metoda POST Metoda POST wysyła dane do serwera przesłanie bloku danych jako wynik przesłania formularza dane wysyłane są do serwera w treści żądania po przetworzeniu żądania serwer może przekazać treść żądania innej stronie określonej przez adres URL zajmującej się dalszym przetwarzaniem żądania 215
216 Metoda POST Przeglądarka (klient) Źródło strony HTML (klient) Wysłanie żądania do serwera (metoda POST) Wysłanie atrybutów i ich wartości dokonywane jest za pośrednictwem nagłówka HTTP 216
217 Java Bean 217
218 218 Komponent Komponent Właściwości (properties) Zdarzenia (events) Właściwości - charakterystyka komponentu Zdarzenia - zbiór zachowań
219 Czym jest Bean? Bean - zapis komponentu w postaci klasy Określone nazewnictwo metod definiuje właściwość, zdarzenie lub zwyczajną metodę właściwość xxx metoda setxxx() metoda getxxx() metoda isxxx() Dla właściwości typu boolean zamiast get można użyć metody is. 219
220 Java Bean Zdarzenia metoda addxxx() metoda removexxx() Zwyczajne metody Bean nie stosują się do nazewnictwa set/get, ale są to metody publiczne 220
221 221 Java Bean Komponent JavaBean public... getvalue() public void setvalue(...) private value public void addevent(...) public void removeevent(...) public void show()
222 Serializacja Implementacja interfejsu Serializable odtwarzanie i zachowywanie wartości właściwości komponentu (trwałość - zachowanie stanu obiektu dłużej niż czas pojedynczego uruchomienia programu) 222
223 223 JavaBean - Licznik.java classes - specjalny katalog do umieszczania klas aplikacji Plik klasy Licznik Root WEB-INF classes portal 2 1 Licznik.class
224 Wywołanie JavaBean a z JSP Strona JSP (serwer) Klasa JavaBean Licznik.class Przeglądarka (klient) 224
225 225 Dokumentacja - javadoc javadoc [options] [packagenames] [sourcefiles] [classnames] [@files] -overview <file> Read overview documentation from HTML file -public Show only public classes and members -protected Show protected/public classes and members (default) -package Show package/protected/public classes and members -private Show all classes and members -help Display command line options -doclet <class> Generate output via alternate doclet -docletpath <path> Specify where to find doclet class files -1.1 Generate output using JDK 1.1 emulating doclet -sourcepath <pathlist> Specify where to find source files -classpath <pathlist> Specify where to find user class files -bootclasspath <pathlist> Override location of class files loaded by the bootstrap class loader -extdirs <dirlist> Override location of installed extensions -verbose Output messages about what Javadoc is doing -locale <name> Locale to be used, e.g. en_us or en_us_win -encoding <name> Source file encoding name -J<flag> Pass <flag> directly to the runtime system Provided by Standard doclet: -d <directory> Destination directory for output files -use Create class and package usage pages -version paragraphs -author paragraphs -splitindex Split index into one file per letter -windowtitle <text> Browser window title for the documenation -doctitle <html-code> Include title for the package index(first) page -header <html-code> Include header text for each page......
226 JSP error?! Rodzaje błędów: błędy kompilacji stron błędy przetwarzania żądań HTTP mechanizm wyjątków zaimplementowany w języku Javie przekierowanie na stronę obsługi błędów (errorpage) 226
227 227 Kody stanu HTTP Realizując połączenie HTTP1.1 serwer WWW przesyła do klienta 3 cyfrowy kod stanu 302 W przykładzie uzyskano kod 302 Moved Temporararily oznaczający, że dany zasób został przeniesiony pod adres nagłówka Location
228 228 Kody stanu HTTP Reakcja serwera TOMCAT na kody błędów 404 Kod 404 Not Found oznacza, że serwer nie znalazł danego zasobu.
229 Klasy kodów stanu HTTP Pierwsza cyfra kodu określa klasę, a pozostałe dwie cyfry określają konkretną sytuację w danej klasie 1xx - Informational (informacja) 2xx - Successful (prawidłowa realizacja żądań) 3xx - Redirection (przekierowanie) 4xx - Client Error (błąd klienta) 5xx - Server Error (błąd servera) 229
230 Cookies 230
231 Cookies Mechanizm przechowywania danych w przeglądarce klienta w celu jego śledzenia i identyfikacji użytkowników odwiedzających witrynę Ciasteczko stanowi część nagłówka wysyłanego do przeglądarki klienta 231
232 Cookies Parametry ciasteczek name - nazwa ciasteczka Expires - data stworzenia lub modyfikacji Domain - adres domeny serwera Path - ścieżka Secure 232
233 JDBC 233
234 JDBC JDBC (Java Database Connectivity) interfejs języka JAVA (zestaw funkcji) przeznaczony do wykonywania poleceń SQL SQL (Structured Query Language) strukturalny język zapytań SQL pracy z bazami danych (ANSI SQL ) 234
235 JDBC API JDBC API umożliwia: otwarcie połączenia z bazą danych wykonanie kwerendy przetworzenie uzyskanych wyników 235
236 Interfejsy, klasy i wyjątki Interfejsy: Callable Connection StatementDatabaseMetaData Driver PreparedStatement ResultSet ResultSetMetaData Statement Klasy: Date DriverManager DriverPropertyInfo Numeric Time Timestamp Types Wyjątki (exception): DataTruncation SQLException SQLWarning DriverManager -zarządzanie ładowaniem sterowników Connection -połączenie z konkretną bazą danych Statement - kontener do wywoływania poleceń SQL ResultSet - zbiór rekordów 236
237 237 java.sql Utworzenie połączenia z bazą danych Wysłanie polecenia SQL Przetworzenie otrzymanych wyników Zamknięcie połączenia z bazą danych <%@ page language= java import= java.sql.* %> <% Class.forName( sun.jdbc.odbc.jdbcodbcdriver ); Connection dbconn = DriverManager.getConnection( jdbc:odbc:portal, username, password ); Statement stmt = dbconn.createstatement(); ResultSet rs = stmt.executequery( "Select * from users"); if (rs!= null) { while(rs.next()) { out.println(rs.getstring("login"));} } stmt.close(); dbconn.close(); %>
238 238 java.sql Utworzenie połączenia z bazą danych Wysłanie polecenia SQL Przetworzenie otrzymanych wyników Zamknięcie połączenia z bazą danych <%@ page language= java import= java.sql.* %> <% Class.forName( sun.jdbc.odbc.jdbcodbcdriver ); Connection dbconn = DriverManager.getConnection( jdbc:odbc:portal, username, password ); Statement stmt = dbconn.createstatement(); ResultSet rs = stmt.executequery( "Select * from users"); if (rs!= null) { while(rs.next()) { out.println(rs.getstring("login"));} } stmt.close(); dbconn.close(); %>
239 Utworzenie połączenia Ładowanie sterownika: Class.forName( sun.jdbc.odbc.jdbcodbcdriver ); Nazwa sterownika Tworzenie połączenia: Connection dbconn = DriverManager.getConnection( jdbc:odbc:portal, username, password ); 239
240 240 Format adresu URL <protocol>:<subprotocol>:<subname> protocol -stały element jdbc subprotocol - nazwa sterownika lub mechanizmu połączenia z bazą danych subname - opis lokalizacji bazy danych zależny od sterownika lub od mechanizmu bazy danych (może zawierać dodatkowe rozszerzenia)
241 241 URL bazy danych jdbc:rmi:// :1099/jdbc:cloudscape:db Dane Zdalna baza danych RMI Serwer aplikacji Dane Lokalna baza danych jdbc:cloudscape:db
242 Login i hasło Za pomocą metody: getconnection jdbc:odbc:portal, username, password ); istnieje możliwość przekazywania login u i hasła do bazy danych Całym procesem połączenia, wysyłania hasła itd... zajmuje się zarządca DriveManager 242
243 243 java.sql Utworzenie połączenia z bazą danych Wysłanie polecenia SQL Przetworzenie otrzymanych wyników Zamknięcie połączenia z bazą danych <%@ page language= java import= java.sql.* %> <% Class.forName( sun.jdbc.odbc.jdbcodbcdriver ); Connection dbconn = DriverManager.getConnection( jdbc:odbc:portal, username, password ); Statement stmt = dbconn.createstatement(); ResultSet rs = stmt.executequery( "Select * from users"); if (rs!= null) { while(rs.next()) { out.println(rs.getstring("login"));} } stmt.close(); dbconn.close(); %>
244 Wysyłanie polecenia SQL Przed wysłaniem polecenia do DBMS należy stworzyć obiekt Statement Statement stmt = dbconn.createstatement(); Wysłanie polecenia SQL: ResultSet rs = stmt.executequery( "Select * from users"); Zwracany jest obiekt ResultSet, czyli zbiór rekordów powstały w wyniku zapytania 244
245 245 Rezultat zapytania W zależności od typu polecenia SQL możliwe są do uzyskania różne rezultaty wykonanych operacji executexxx() Dla XXX = Query: executequery("select * from users") otrzymuje się wszystkie rekordy będące wynikiem zapytania polecenia SELECT
246 246 java.sql Utworzenie połączenia z bazą danych Wysłanie polecenia SQL Przetworzenie otrzymanych wyników Zamknięcie połączenia z bazą danych <%@ page language= java import= java.sql.* %> <% Class.forName( sun.jdbc.odbc.jdbcodbcdriver ); Connection dbconn = DriverManager.getConnection( jdbc:odbc:portal, username, password ); Statement stmt = dbconn.createstatement(); ResultSet rs = stmt.executequery( "Select * from users"); if (rs!= null) { while(rs.next()) { out.println(rs.getstring("login"));} } stmt.close(); dbconn.close(); %>
247 Rezultat zapytania Za pomocą metody next() dokonuje się przesuwania po poszczególnych rekordach bazy (poczynając od pierwszego rekordu) ResultSet Rekord 1 Rekord 2... Rekord n if (rs!= null) { while(rs.next()) { out.println(rs.getstring("login"));} } Pobieranie pól rekordu za pomocą metody getstring() null - koniec listy rekordów lub pusty ResultSet) 247
248 248 java.sql Utworzenie połączenia z bazą danych Wysłanie polecenia SQL Przetworzenie otrzymanych wyników Zamknięcie połączenia z bazą danych <%@ page language= java import= java.sql.* %> <% Class.forName( sun.jdbc.odbc.jdbcodbcdriver ); Connection dbconn = DriverManager.getConnection( jdbc:odbc:portal, username, password ); Statement stmt = dbconn.createstatement(); ResultSet rs = stmt.executequery( "Select * from users"); if (rs!= null) { while(rs.next()) { out.println(rs.getstring("login"));} } stmt.close(); dbconn.close(); %>
1 Wprowadzenie do J2EE
Wprowadzenie do J2EE 1 Plan prezentacji 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji J2EE Główne cele V Szkoły PLOUG - nowe podejścia do konstrukcji aplikacji J2EE Java 2
Systemy wielowarstwowe N-tier
6 Systemy wielowarstwowe N-tier 7 Ewolucja systemów wielowarstwowych Systemy monolityczne Client/server N-Tier 8 Systemy monolityczne terminal terminal terminal Aplikacja terminal Dane MainFrame Systemy
pawel.rajba@gmail.com, http://kursy24.eu/
pawel.rajba@gmail.com, http://kursy24.eu/ Servlets Charakterystyka Główne metody Obiekty request i response JSP Dyrektywy Elementy skryptowe Elementy akcji Generowanie treści Obiekty niejawne Obiekty request
Kurs WWW 1. Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/
Kurs WWW 1 Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ 1 Na podstawie: Hougland, D. i Tavistock A., JSP. Tworzenie stron WWW, RM, Warszawa 2002 Wprowadzenie Technologia po stronie serwera
Wykład dla studentów Informatyki Stosowanej UJ 2012/2013
e-biznes Wykład dla studentów Informatyki Stosowanej UJ 2012/2013 Michał Cieśla pok. 440a, email: michal.ciesla@uj.edu.pl konsultacje: środy 10-12 http://users.uj.edu.pl/~ciesla/ 1 Literatura B. Burke,
Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008
Adam 1 grudnia 2008 Wstęp Opis Historia Apache kontener serwletów rozwijany w ramach projektu Apache jeden z bardziej popularnych kontenerów Web open source, Apache Software License rozwijany przez ASF
Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz.
Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz.pl Serwer aplikacji Serwer aplikacji to: Serwer wchodzący w skład sieci komputerowej, przeznaczony
mgr inż. Michał Paluch
Komunikacja w Internecie Użytkownik klika w odpowiednie łącze. Przeglądarka formatuje żądanie i wysyła Serwer odnajduje zasób, formatuje odpowiedź i przesyła do przeglądarki. Protokół HTTP Zadania klienta
Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java
Informatyka I Standard JDBC Programowanie aplikacji bazodanowych w języku Java dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Standard JDBC Java DataBase Connectivity uniwersalny
Wybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej JSP - Java Server Pages dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki 2019 Aplikacje i skrypty WWW klasyfikacja
Programowanie w Sieci Internet JSP ciąg dalszy. Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki
Programowanie w Sieci Internet JSP ciąg dalszy Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić JSP tags, Używanie tagów, Custom tags, JSP objests, Obiekty
Aplikacje Internetowe, Servlety, JSP i JDBC
Aplikacje Internetowe, Servlety, JSP i JDBC Opis Java 2 Enterprise Edition (JEE) jest potężną platformą do tworzenia aplikacji webowych. PLatforma JEE oferuje wszystkie zalety tworzenia w Javie plus wszechstronny
Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.
Warstwa integracji wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe. 1. Ukrycie logiki dostępu do danych w osobnej warstwie 2. Oddzielenie mechanizmów trwałości od modelu obiektowego Pięciowarstwowy
Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)
Tworzenie witryn internetowych PHP/Java (mgr inż. Marek Downar) Rodzaje zawartości Zawartość statyczna Treść statyczna (np. nagłówek, stopka) Layout, pliki multimedialne, obrazki, elementy typograficzne,
Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.
Informatyka I Programowanie aplikacji bazodanowych w języku Java. Standard JDBC. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 Standard JDBC Java DataBase Connectivity
Enterprise JavaBeans
Enterprise JavaBeans 1. Wprowadzenie. 2. Przegląd komponentów EJB. komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 3. Kontener komponentów EJB: JBoss. 1 Enterprise JavaBeans
Wybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej Java Enterprise Edition WebServices Serwer aplikacji GlassFish Dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki Aplikacje
Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/
Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Aplikacja internetowa tworzona na podstawie bazy danych. Programowanie komponentowe 2, Zofia
Programowanie obiektowe zastosowanie języka Java SE
Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z
Programowanie Komponentowe WebAPI
Programowanie Komponentowe WebAPI dr inż. Ireneusz Szcześniak jesień 2016 roku WebAPI - interfejs webowy WebAPI to interfejs aplikacji (usługi, komponentu, serwisu) dostępnej najczęściej przez Internet,
Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/
Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Aplikacja internetowa tworzona na podstawie bazy danych. Programowanie komponentowe 2, Zofia
Serwery aplikacji. dr Radosław Matusik. radmat
www.math.uni.lodz.pl/ radmat EL - Expression Language Załóżmy, że mamy klasę Pracownik, której atrybutem jest PESEL. Załóżmy dalej, że w atrybucie sesji zalogowany przechowujemy obiekt aktualnie zalogowanego
Wprowadzenie do J2EE. Maciej Zakrzewicz. Maciej.Zakrzewicz@cs.put.poznan.pl http://www.cs.put.poznan.pl/mzakrzewicz/
1 Wprowadzenie do J2EE Maciej Zakrzewicz Maciej.Zakrzewicz@cs.put.poznan.pl http://www.cs.put.poznan.pl/mzakrzewicz/ Plan rozdziału 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji
Serwery aplikacji. dr Radosław Matusik. radmat
www.math.uni.lodz.pl/ radmat Ćwiczenie 1 Proszę napisać aplikację wykorzystującą serwlety i bazy danych, która umożliwi wyszukiwanie tytułów książek po nazwisku autora oraz autorów po tytule książki. Ćwiczenie
Elementy JEE. 1. Wprowadzenie. 2. Prerekwizyty. 3. Pierwszy servlet. obsługa parametrów żądań 4. JavaServer Pages.
Elementy JEE 1. Wprowadzenie. 2. Prerekwizyty. 3. Pierwszy servlet. obsługa parametrów żądań 4. JavaServer Pages. 1 Java Enterprice Edition Java Enterprice Edition (JEE) jest rozszerzeniem Java Standard
Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie
Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Przykłady na podstawie zadań lab. z przedmiotu Technologie internetowe
EJB 3.0 (Enterprise JavaBeans 3.0)
EJB 3.0 (Enterprise JavaBeans 3.0) Adrian Dudek Wirtualne Przedsiębiorstwo 2 Wrocław, 1 czerwca 2010 Plan prezentacji 1 Wprowadzenie Cel prezentacji Czym jest EJB 3.0? Historia 2 3 Cel prezentacji Wprowadzenie
A Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów
A Zasady współpracy Ocena rozwiązań 3.0 25 40 punktów 3.5 41 65 punktów 4.0 66 80 punktów 4.5 81 100 punktów 5.0 101 130 punktów Warunki zaliczenia przedmiotu Student uzyska ocenę zaliczającą (3.0) o ile
Java wybrane technologie spotkanie nr 5. Java Server Pages
Java wybrane technologie spotkanie nr 5 Java Server Pages 1 Składnia dowolny HTML (template) 2
Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania
Aplikacje WWW Wprowadzenie
Aplikacje WWW Wprowadzenie Beata Pańczyk na podstawie http://www.e-informatyka.edu.pl/ http://wazniak.mimuw.edu.pl/index.php?title=aplikacje_www Plan wykładu Składniki architektury WWW: klient HTTP, serwer
4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152
Wstęp...xv 1 Rozpoczynamy...1 Co to jest ASP.NET?...3 W jaki sposób ASP.NET pasuje do.net Framework...4 Co to jest.net Framework?...4 Czym są Active Server Pages (ASP)?...5 Ustawienia dla ASP.NET...7 Systemy
Enterprise JavaBeans. 1. Architektura EJB: komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 2. Kontenery EJB JBoss.
1 Enterprise JavaBeans 1. Architektura EJB: komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 2. Kontenery EJB JBoss. 2 Enterprise JavaBeans Enterprise JavaBeans (EJB) to specyfikacja
Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone
Typy przetwarzania Przetwarzanie zcentralizowane Systemy typu mainfame Przetwarzanie rozproszone Architektura klient serwer Architektura jednowarstwowa Architektura dwuwarstwowa Architektura trójwarstwowa
Wybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej Java Enterprise Edition. WebServices. Język XML. Serwer aplikacji GlassFish. Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki
Programowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE)
Programowanie w języku Java Wykład 13: Java Platform, Enterprise Edition (Java EE) Standard J2EE Programowanie w języku Java 2 J2EE - komunikacja Programowanie w języku Java 3 J2EE warstwa biznesowa Programowanie
Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz
Projektowanie oprogramowania Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz 1 Wykonanie czterowarstwowej aplikacji EE z dostępem do bazy danych,
Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne
Jarosław Kuchta Internetowe Usługi Informacyjne Komponenty IIS HTTP.SYS serwer HTTP zarządzanie połączeniami TCP/IP buforowanie odpowiedzi obsługa QoS (Quality of Service) obsługa plików dziennika IIS
Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma
Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa
1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko
Wprowadzenie do JSP. Marcin Apostoluk, Tadeusz Pawlus, Wojciech Walczak. Technologie Biznesu Elektronicznego, 7 marzec 2006
Marcin Apostoluk Tadeusz Pawlus Wojciech Walczak Technologie Biznesu Elektronicznego, 7 marzec 2006 Plan prezentacji 1 2 3 4 5 6 7 Kto się tym zajmuje? Opis serwletu Przykład Serwlety inne niż HTTP Aplikacje
Wywoływanie metod zdalnych
Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia
Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.
Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej Wstęp Programowanie w Javie 2 mgr inż. Michał Misiak Agenda Założenia do wykładu Zasady zaliczeń Ramowy program wykładu
Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)
Tworzenie witryn internetowych PHP/Java (mgr inż. Marek Downar) Hypertext Xanadu Project (Ted Nelson) propozycja prezentacji dokumentów pozwalającej czytelnikowi dokonywać wyboru Otwarte, płynne oraz ewoluujące
Nowe mechanizmy w wersji 3 Java Card. Mateusz LESZEK (138775)
Nowe mechanizmy w wersji 3 Java Card Mateusz LESZEK (138775) Plan prezentacji 1. Java Card 3 2. Nowe mechanizmy w Java Card 3.X 3. Edycje Java Card 3.X Classic vs Connected Karty inteligentne wprowadzone
Java Enterprise Edition spotkanie nr 1. Sprawy organizacyjne, wprowadzenie
Java Enterprise Edition spotkanie nr 1 Sprawy organizacyjne, wprowadzenie 1 Informacje organizacyjne Program: Co będzie na tym wykładzie, a czego nie będzie? apteka rolnictwo Java Enterprise Edition vs
Aplikacje internetowe i rozproszone - laboratorium
Aplikacje internetowe i rozproszone - laboratorium Enterprise JavaBeans (EJB) Celem tego zestawu ćwiczeń jest zapoznanie z technologią EJB w wersji 3.0, a w szczególności: implementacja komponentów sesyjnych,
Java i jej wykorzystanie do tworzenia dynamicznych aplikacji Webowych
Java i jej wykorzystanie do tworzenia dynamicznych aplikacji Webowych Zadanie do wykonania na następny tydzień: Przedstawić aplikację napisaną w JSP realizującą analogiczne zadania jak pierwsza aplikacja
TOPIT Załącznik nr 3 Programowanie aplikacji internetowych
Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć
Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz
Aplikacja internetowa zbudowana w oparciu o środowisko Visual Web Java Server Faces. Zarządzanie obiektami typu SesionBeans, RequestBeen i ApplicationBeans, Laboratorium 1 Wzorce oprogramowania lab1, Okres
Programowanie współbieżne i rozproszone
Programowanie współbieżne i rozproszone WYKŁAD 11 dr inż. CORBA CORBA (Common Object Request Broker Architecture) standard programowania rozproszonego zaproponowany przez OMG (Object Management Group)
Należy ściągnąć oprogramowanie Apache na platformę
Programowanie Internetowe Język PHP - wprowadzenie 1. Instalacja Oracle+Apache+PHP Instalacja Apache, PHP, Oracle Programy i ich lokalizacja Oracle Database 10g Express Edition10.2 http://www.oracle.com/technology/products/database/
Zagadnienia projektowania aplikacji J2EE
211 Zagadnienia projektowania aplikacji J2EE Maciej Zakrzewicz Maciej.Zakrzewicz@cs.put.poznan.pl http://www.cs.put.poznan.pl/mzakrzewicz/ Plan rozdziału 212 Wstęp Techniki projektowe: Wprowadzenie modułu
Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz.
Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz.pl Serwer aplikacji Serwer aplikacji to: Serwer wchodzący w skład sieci komputerowej, przeznaczony
Programowanie w Sieci Internet filtry oraz web.xml. Kraków, 11 stycznia 2013 r. mgr Piotr Rytko Wydział Matematyki i Informatyki
Programowanie w Sieci Internet filtry oraz web.xml Kraków, 11 stycznia 2013 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić Filtry, wywoływanie filtrów, wywołania łańcuchowe
Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1).
Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1). Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię usług sieciowych (ang. Web Services).
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Dr inż. Zofia Kruczkiewicz wykład 4 Programowanie aplikacji internetowych, wykład 4 1 1. Zadania aplikacji rozproszonych obiektów
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy
Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz
Programowanie komponentowe Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Utworzenie użytkowników i ról na serwerze aplikacji Sun Java System Application
Budowa prostej aplikacji wielowarstwowej. Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz
Budowa prostej aplikacji wielowarstwowej Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz Konfigurowanie edytora programu za pomocą Tools/Options/Editor Konfigurowanie edytora programu za pomocą
Programowanie w Internecie
mariusz@math.uwb.edu.pl http://math.uwb.edu.pl/~mariusz Uniwersytet w Białymstoku 2018/2019 Co to jest Internet? Warunki zaliczenia Zaliczenie na podstawie opracowanej samodzielnie aplikacji WWW Zastosowane
Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione
Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf Materiały poprawione Rozwiązanie zadania w NetBeans IDE 7.4: Jarosław Ksybek, Adam Miazio Celem ćwiczenia jest przygotowanie prostej aplikacji
Enterprise JavaBeans (EJB)
Enterprise JavaBeans (EJB) Celem tego zestawu ćwiczeń jest zapoznanie z sesyjnymi komponentami Enterprise JavaBeans. Zilustrowane będą różnice między komponentami stanowymi i bezstanowymi. Pokazane będzie
JAVA I BAZY DANYCH. MATERIAŁY: http://docs.oracle.com/javase/tutorial/jdbc/basics/index.html
JAVA I BAZY DANYCH ZAGADNIENIA: wprowadzenie; JDBC; komunikacja z bazą danych; HSQLDB. MATERIAŁY: http://docs.oracle.com/javase/tutorial/jdbc/basics/index.html http://th-www.if.uj.edu.pl/zfs/ciesla/ JĘZYK
Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski. Zaawansowane Systemy Decyzyjne. Laboratorium
Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski Zaawansowane Systemy Decyzyjne Laboratorium prowadzący: Andrzej Czajkowski 1 Dostęp do Bazy Danych. 1 Cel ćwiczenia. Celem ćwiczenia
Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe
Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache
Java Server Faces - wprowadzenie
Java Server Faces - wprowadzenie Java Server Faces (JSF) jest najpopularniejszą technologią opartą o język JAVA, służącą do tworzenia aplikacji webowych (dynamicznych stron WWW). pomimo że JSF i EJB wchodzą
Wywoływanie metod zdalnych
Wywoływanie metod zdalnych Podejście obiektowe do budowy systemów rozproszonych Wywoływanie metod zdalnych model systemu obiekt aplikacja kliencka interfejs serwer proxy szkielet sieć Istota podejścia
Programowanie Multimediów. Programowanie Multimediów JAVA. wprowadzenie do programowania (3/3) [1]
JAVA wprowadzenie do programowania (3/3) [1] Czym jest aplikacja Java Web Start? Aplikacje JAWS są formą pośrednią pomiędzy apletami a aplikacjami Javy. Nie wymagają do pracy przeglądarki WWW, jednak mogą
Obsługa transakcji rozproszonych Java. Marek Wojciechowski, Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska
Obsługa transakcji rozproszonych w języku j Java Marek Wojciechowski, Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska Plan prezentacji Transakcje i ich własności Proste transakcje w JDBC
Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.
Protokół HTTP 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX. 1 Usługi WWW WWW (World Wide Web) jest najpopularniejszym sposobem udostępniania
JavaServer Pages. Konrad Kurdej Karol Strzelecki
JavaServer Pages Konrad Kurdej Karol Strzelecki Podejścia do projektowania web aplikacji za pomocą Javy Serwlety Java Serwlety Java to technologia wchodząca w skład Java EE (dawniej J2EE). Serwlet Java
Niezbędne serwery aplikacji. Wprowadzenie do technologii JBoss i Apache Tomcat.
Niezbędne serwery aplikacji. Wprowadzenie do technologii JBoss i Apache Tomcat. Serwer Tomcat Plan wykładu Opis serwera Jak uruchomić napisaną aplikację Podstawowa konfiguracja Pierwsze uruchomienie Tomcat
Programowanie obiektowe
Programowanie obiektowe Wykład 13 Marcin Młotkowski 27 maja 2015 Plan wykładu Trwałość obiektów 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 2 / 29 Trwałość (persistence) Definicja Cecha
Programowanie w Javie cz. 1 Wstęp. Łódź, 24 luty 2014 r.
Programowanie w Javie cz. 1 Wstęp Łódź, 24 luty 2014 r. Prawdy i mity o Javie Java jest techniką webową? (tak, platforma Java EE, aplety) Java jest bezpieczna? (tak, aplety, brak operowania na pamięci)
Programowanie komponentowe 5
Budowa warstwy klienta w architekturze typu klient-serwer zbudowanych z komponentów typu EE - klient desktopowy i internetowy. Zastosowanie komponentów opartych na technologii EJB 3.2. na podstawie https://docs.oracle.com/javaee/7/jeett.pdf
Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV
Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium
Pawel@Kasprowski.pl Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07
PHP i bazy danych Paweł Kasprowski pawel@kasprowski.pl Użycie baz danych Bazy danych używane są w 90% aplikacji PHP Najczęściej jest to MySQL Funkcje dotyczące baz danych używają języka SQL Przydaje się
Internetowe bazy danych
Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy Internetowe bazy danych wykład 6 dr inż. Jacek Mazurkiewicz e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl Kontrola dostępu
Aplikacje WWW - laboratorium
Aplikacje WWW - laboratorium Serwlety Celem ćwiczenia jest przygotowanie kilku prostych serwletów ilustrujących możliwości tej technologii. Poszczególne ćwiczenia prezentują sposób przygotowania środowiska,
TIN Techniki Internetowe zima 2015-2016
TIN Techniki Internetowe zima 2015-2016 Grzegorz Blinowski Instytut Informatyki Politechniki Warszawskiej Plan wykładów 2 Intersieć, ISO/OSI, protokoły sieciowe, IP 3 Protokoły transportowe: UDP, TCP 4
Serwery aplikacji. dr Radosław Matusik. radmat
www.math.uni.lodz.pl/ radmat Ciasteczka trwałe i sesyjne Ciasteczka trwałe - pozostają na komputerze użytkownika po zamknięciu strony, z której zostały pobrane / przeglądarki. Ciasteczka sesyjne - są związane
Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI
Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI Maciej Zakrzewicz PLOUG mzakrz@cs.put.poznan.pl Plan prezentacji Wprowadzenie do architektury zorientowanej na usługi Charakterystyka technologii
1 90 min. Aplikacje WWW Harmonogram spotkań, semestr zimowy (studia stacjonarne)
1 90 min. Aplikacje WWW Harmonogram ń, semestr zimowy -2017 (studia stacjonarne) 6 października Wprowadzenie do aplikacji WWW Rys historyczny Składniki architektury WWW o klient HTTP o serwer HTTP o protokół
INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII
Wrocław 2006 INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl INTERNETOWE BAZY DANYCH PLAN NA DZIŚ : Cookies Sesje Inne możliwości
Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4
Utrwalanie danych zastosowanie obiektowego modelu danych warstwy biznesowej do generowania schematu relacyjnej bazy danych Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4 1. Relacyjne
Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.
Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby
Aplikacje RMI Lab4
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Lab4 Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych 1 1. Koncepcja budowy aplikacji RMI (aplikacja rozproszonych
Wzorce logiki dziedziny
Wzorce logiki dziedziny 1. Wzorce logiki dziedziny skrypt transakcji (Transaction Script), brama tabeli (Table Data Gateway), model dziedziny (Domain model), strategia (Strategy), moduł tabeli (Table Module),
Programowanie obiektowe
Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć
Wykład 1 Inżynieria Oprogramowania
Wykład 1 Inżynieria Oprogramowania Wstęp do inżynierii oprogramowania. Cykle rozwoju oprogramowaniaiteracyjno-rozwojowy cykl oprogramowania Autor: Zofia Kruczkiewicz System Informacyjny =Techniczny SI
Java jako język programowania
Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)
Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science
Systemy internetowe Wykład 5 Architektura WWW Architektura WWW Serwer to program, który: Obsługuje repozytorium dokumentów Udostępnia dokumenty klientom Komunikacja: protokół HTTP Warstwa klienta HTTP
Wzorce prezentacji internetowych
Wzorce prezentacji internetowych 1. Model kontrolera widoku (Model View Controller). 2. Kontroler strony (Page Controller). 3. Kontroler fasady (Front Controller). 4. Szablon widoku (Template View). 5.
Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć
interfejs (w języku Java), wywiedziony z Remote obiekt Podejście obiektowe do budowy systemów rozproszonych aplikacja kliencka stub interfejs serwer szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów
Podejście obiektowe do budowy systemów rozproszonych
Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Dariusz Wawrzyniak 1 Mechanizm RMI umożliwia
Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć
Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów
Budowa aplikacji w technologii. Enterprise JavaBeans. Maciej Zakrzewicz PLOUG
Budowa aplikacji w technologii Enterprise JavaBeans Maciej Zakrzewicz PLOUG Plan prezentacji Przegląd architektur aplikacji rozproszonych: CORBA, SOAP, EJB Wprowadzenie do Enterprise JavaBeans (EJB) Budowa
Architektury Usług Internetowych. Laboratorium 1 Servlety
Architektury Usług Internetowych Laboratorium 1 Servlety Wstęp Celem laboratorium jest zapoznanie się z modelem klient-serwer (żądanieodpowiedź) na przykładzie serwletów. Kontener webowy Kontener webowy
Plan prezentacji. Budowa aplikacji w technologii Enterprise JavaBeans. Przegląd architektur: CORBA. Cele budowy aplikacji rozproszonych
Plan prezentacji Budowa aplikacji w technologii Enterprise JavaBeans Przegląd architektur aplikacji rozproszonych: CORBA,, Wprowadzenie do Enterprise JavaBeans () Budowa komponentów sesyjnych Budowa komponentów