Slides:



Advertisements
Podobne prezentacje
C++ wykład 2 ( ) Klasy i obiekty.
Advertisements

C++ wykład 4 ( ) Przeciążanie operatorów.
Programowanie obiektowe
Programowanie obiektowe
Programowanie obiektowe
Klasy i obiekty.
Wzorce.
Static, const, volatile.
Tworzenie i obsługa programów – przykład 3 uwagi cd. Wykorzystując różne klasy biblioteki języka Java należy pamiętać w jakim pakiecie się znajdują. Wszystkie.
Implementacja ekstensji klasy
Programowanie obiektowe w Javie
OOP - programowanie zorientowane obiektowo w VB.NET
Serwery Aplikacji ASP .NET Web Objects Arkadiusz Popa.
Model – View - Controler
Tworzenie ASP.NET Web Form
ODE Triggery. Wstęp n Triggery są trójką zdarzenie-warunek-akcja (event-condition- action). n Zdarzenia mogą być proste lub złożone, co zostanie omówione.
Obiektowe metody projektowania systemów
C++ wykład 2 ( ) Klasy i obiekty.
Java – technologie zaawansowane
Zaawansowane technologie Javy Wykład 1 (26 lutego 2013)
Czytanie, pisanie i rysowanie – cd.. Jeszcze jeden strumyk PrintStream działa jak PrintWriter, ale: Używa domyślnego (systemowego) kodowania Nie wyrzuca.
181 JAVA – JSP Java EE training: JAVA SERVER PAGES PODSTAWY.
Zarządzanie stanem aplikacji Mechanizm Sesji
Projektowanie warstwy serwera DisplayTag. Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu.
Spring podstawy.
Technologia JSP.
Serializacja Serializacja pozwala zamienić obiekt na sekwencję bajtów, w sposób umożliwiający później wierne odtworzenie jego zawartości Inna nazwa to.
T: Różnice pomiędzy programowaniem strukturalnym a obiektowym
W większości języków programowania biblioteki wejścia/wyjścia ukrywają szczegóły obsługi poszczególnych mediów pod abstrakcją strumienia (ang. stream).
Programowanie obiektowe – zastosowanie języka Java SE
JAVA c.d.. Instrukcji wyboru SWITCH używamy, jeśli chcemy w zależności od wartości pewnego wyrażenia wykonać jeden z kilku fragmentów kodu. Jest to w.
Andrzej Repak Nr albumu
Java – coś na temat Klas Piotr Rosik
Dziedziczenie Maciek Mięczakowski
Inicjalizacja i sprzątanie
Programowanie obiektowe Wykład 3 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21 Dariusz Wardowski.
Programowanie obiektowe Wykład 6 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14 Dariusz Wardowski.
Programowanie obiektowe 2013/2014
Prasek Aneta, Skiba Katarzyna. Funkcje stałe const to takie funkcje, które nie mogą modyfikować stanu obiektu. Oznacza to, że funkcja stała nie może zmieniać.
Kurs języka C++ – wykład 3 ( )
Programowanie w języku C++
Projektowanie stron WWW
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Programowanie strukturalne i obiektowe C++
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Kurs języka C++ – wykład 4 ( )
Elementy JavaServer Pages. Dyrektywy JSP  Elementy dyrektyw używane są do określania tej informacji o stronie, która pozostaje bez zmiany między żądaniami.
Paweł Starzyk Obiektowe metody projektowania systemów
Programowanie Zaawansowane
Dziedziczenie Wykład 7 Dziedziczenie sekwencyjne
Partnerstwo dla Przyszłości 1 Lekcja 27 Klasy i obiekty.
Wykład 2 Programowanie obiektowe. Programowanie obiektowe wymaga dobrego zrozumienia działania funkcji definiowanych przez użytkownika, w ten sposób będziemy.
Wykład 5 Klasa Vec i jej operatory 1.Kategorie operatorów 2.Operatory ogólne - przykłady 3.Operatory specjalne [ ], ( ) oraz –> 4.Operatory new i delete.
do programowania obiektowego w języku Groovy
ASP.NET Dostęp do bazy danych z poziomu kodu Elżbieta Mrówka-Matejewska.
Zarządzanie stanem w aplikacjach ASP.NET Elżbieta Mrówka-Matejewska
K URS JĘZYKA C++ – WYKŁAD 3 ( ) Przenoszenie Składowe statyczne Funkcje wbudowane Argumenty domyślne.
Podstawowe konstrukcje języka Java Bartosz Walter InMoST Wielkopolska sieć współpracy w zakresie innowacyjnych metod wytwarzania oprogramowania Termin.
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
Programowanie Obiektowe – Wykład 6
Kurs języka C++ – wykład 3 ( )
Klasy, pola, obiekty, metody. Modyfikatory dostępu, hermetyzacja
(według:
Zaawansowane technologie Javy Wykład 1 (23 lutego 2017)
Delegaty Delegat to obiekt „wiedzący”, jak wywołać metodę.
Programowanie Obiektowe – Wykład 2
Aplikacje i usługi internetowe
Wprowadzenie do programowania obiektowego
PGO Interfejsy Michail Mokkas.
Zapis prezentacji:

JAVA – JSP JAVA BEANS Java EE training: http://courses.coreservlets.com

Java Beans Muszą posiadać konstruktor domyślny Dostęp do prywatnych pól składowych jest realizowany przez funkcje: getNAZWAPOLA setNAZWAPOLA (oznacza to zdefiniowanie właściwości-property w klasie) Pola typu logicznego są wykorzystują funkcję isNAZWAPOLA Muszą być umieszczane w pakietach

Przykład (NetBeans) public class MyBeam implements Serializable { public static final String PROP_SAMPLE_PROPERTY = "sampleProperty"; private String sampleProperty; private PropertyChangeSupport propertySupport; public MyBeam() { propertySupport = new PropertyChangeSupport(this); } public String getSampleProperty() { return sampleProperty; public void setSampleProperty(String value) { String oldValue = sampleProperty; sampleProperty = value; propertySupport.firePropertyChange(PROP_SAMPLE_PROPERTY, oldValue, sampleProperty); public void addPropertyChangeListener(PropertyChangeListener listener) { propertySupport.addPropertyChangeListener(listener); public void removePropertyChangeListener(PropertyChangeListener listener) { propertySupport.removePropertyChangeListener(listener);

Schemat użycia Użytkownik zatwierdza dane na formularzu (stronie JSP) <FORM ACTION="SomePage.jsp"> Strona JSP Tworzy obiektJavaBean <jsp:useBean id="myBean" class="…"/> Następuje ustawienie właściwości obiektu wykorzystując dane przesłane w żądaniu <jsp:setProperty name="myBean„ property="customerID" value="…"/> • Wartości wynikowe pobierane są też przez właściwości < jsp:getProperty name="myBean" property="bankAccountBalance"/>

jsp:useBean Format Wynik Uwagi <jsp:useBean id="name" class="package.Class" /> Wynik Tworzy obiekt lub pobiera referencję do istniejącego obiektu bez bezpośredniego pisania kodu Uwagi Wywołanie: <jsp:useBean id="book1" class="coreservlets.Book" /> Może być interpretowane jako wywołanie skrypletu: <% coreservlets.Book book1 = new coreservlets.Book(); %> Zalety użycia JavaBeans: • Łatwiej ustawiać wartości w obiektach parametrami żądania • Łatwiej wykorzystywać obiekty na różnych stronach

jsp:setProperty Format <jsp:setProperty name="name" property="property" value="value" /> Wynik Ustawienie właściwości obiektu przez wywołanie metody setXXX Uwagi <jsp:setProperty name="book1" property="title" value="Tytuł 1" /> Może być interpretowane jako wywołanie skrypletu <% book1.setTitle(" Tytuł 1 "); %> Przykład: <jsp:setProperty name="MyBean1" property="sampleProperty" value="10" /> Kod wynikowy: org.apache.jasper.runtime.JspRuntimeLibrary.introspecthelper( _jspx_page_context.findAttribute("MyBean1"), "sampleProperty", "10", ..... );

jsp:getProperty Format <jsp:getProperty name="name" property="property" /> Wynik Uzyskanie dostępu do właściwości obiektu przez niejawne wywołanie funkcji getName Uwagi <jsp:getProperty name="book1" property="title" /> Może być interpretowane jako: <%= book1.getTitle() %> Przykład: <jsp:getProperty name="MyBean1" property="sampleProperty" /> Kod wynikowy: org.apache.jasper.runtime.JspRuntimeLibrary.toString( ( ((MyElements.MyBeam)_jspx_page_context.findAttribute("MyBean1")).getSampleProperty() )

Konwersje i przypisania Przypisanie wartości typu string <jsp:useBean id="entry" class="coreservlets.SaleEntry" /> <%-- setItemID oczekuje na obiekt typu string --%> <jsp:setProperty name="entry" property="itemID" value='<%= request.getParameter("itemID") %>' /> Przypisanie wartości typu int <% int numItemsOrdered = 1; try { numItemsOrdered = Integer.parseInt(request.getParameter("numItems")); } catch(NumberFormatException nfe) {} %> <%-- setNumItems potrzebuje wartości typu int --%> <jsp:setProperty name="entry" property="numItems" value="<%= numItemsOrdered %>" />

Przypisanie poszczególnych właściwości parametrami żądania <jsp:useBean id="entry" class="coreservlets.SaleEntry" /> <jsp:setProperty name="entry" property="itemID" param="itemID" /> <jsp:setProperty name="entry" property="numItems" param="numItems" /> <jsp:setProperty name="entry" property="discountCode" param="discountCode" />

Zbiorowe ustawienie właściwości obiektu Java Bean parametrami żądania <jsp:useBean id="entry" class="coreservlets.SaleEntry" /> <jsp:setProperty name="entry" property="*" /> Uwagi: Mechanizm ten umożliwa tworzenie tzw obietów „form beans”, których właściwości są wypełniane z formularzy stworzonych na stronach www Można podzielić proces wypełniania obiektu pomiedzy wiele formularzy (każdy służy do wypełnienia fragmentu zestawu właściwości)

Współdzielnie obiektów Java Beans miedzy stronami „jsp” Atrybut scope służ do określenia dodatkowego miejsca przechowywania zmiennej typu JavaBeam Zmienna tak jest dodatkowo dostępna jako lokalna dla metody _ jspService Still also bound to local variable in _ <jsp:useBean id="…" class="…" scope="…" /> Wartości: application page request session • Umożliwiono w ten sposób współdzielenie danych miedzy stronami jsp • Obiekt tworzony jest warunkowo (jeśli nie istniał)

• page <jsp:useBean … scope="page"/> lub <jsp:useBean…> Wartość domyślna. Obiekt jest umieszczany w PageContex na czas trwania żądania. Pozwala metodom w bieżącym servlecie korzytać z obiektu • application <jsp:useBean … scope="application"/> Obiekt jest składowany w obiekcie ServletContext, do którego dostęp można uzyskać wywołując metodę: getServletContext()). ServletContext jest współdzielony przez wszystkie servlety w ramach aplikacji webowej lub pomiedzy wszystkimi servletami na serwerze www jeśli żadna aplikacja webowa nie jest zdefiniowana na serwerze www • session <jsp:useBean … scope="session"/> Obiekt jest przechowywany w obiekcie HttpSession związanym z bieżącym żądaniem z kąd może być dostępny dla zwykłego kodu servletu. Obiekt ten jest dostępny przez funkcje getAttribute i setAttribute • request <jsp:useBean … scope="request"/> Obiekt jest umieszczany w obiekcie ServletRequest na czas trwania bieżącego żądania, gdzie jest dostępny za pomocą funkcji getAttribute

Jsp:useBean scope="... " <jsp:useBean id="MyBean1" scope= "page" class="MyElements.MyBeam" /> synchronized (_jspx_page_context) { MyBean1 = (MyElements.MyBeam) _jspx_page_context.getAttribute("MyBean1", PageContext.PAGE_SCOPE); if (MyBean1 == null){ MyBean1 = new MyElements.MyBeam(); _jspx_page_context.setAttribute("MyBean1", MyBean1, PageContext.PAGE_SCOPE); } <jsp:useBean id="MyBean1" scope="session" class="MyElements.MyBeam" /> synchronized (session) { MyBean1 = (MyElements.MyBeam) _jspx_page_context.getAttribute("MyBean1", PageContext.SESSION_SCOPE); if (MyBean1 == null){ MyBean1 = new MyElements.MyBeam(); _jspx_page_context.setAttribute("MyBean1", MyBean1, PageContext.SESSION_SCOPE); }

Współdzelenie obiektów Java Beans przykład • page1.jsp <jsp:useBean id="MyBean1" class="…" scope="application"/> <jsp:setProperty name=" MyBean1 " property="sampleProperty" value="Hello"/> <jsp:getProperty name="foo" property="message"> • page2.jsp <jsp:useBean id=" MyBean1 " class="…" scope="application"/> <jsp:getProperty name=" MyBean1 " property="sampleProperty">

Operacje warunkowe z wykorzysaniem JavaBeans • Obiekt Java bean jest tworzony tylko w tedy jeśli nie istnieje już instancja obiektu o takiej nazwie w zdefiniowanym zakresie. To znaczy, że element.: jsp:useBean utworzy nowy obiekt tylko w tedy gdy on jeszcze nie istnieje. W przeciwnym przypadku ustawiana jest po prostu referencja na istniejący obiekt.Tę włąściwość można wykorzystać do zaimplementowania operacji warunkowych. Stosujęąc pełny zapis XML znacznik: <jsp:useBean ... /> Przedstawiamy w postaci: <jsp:useBean ...>Wyrazenie</jsp:useBean> gdzie wyrażenie może zawierać instrukcje jsp:setProperty. Takim przypadku "Wyrażenie” jest wywoływane tylko jeśli tworzony jest nowy obiekt

Wykorzystanie JavaBeans Podsumowanie jsp:useBean Utworzenie nowego lub utworzenie referencji do istniejącego obiektu JavaBean <jsp:useBean id="beanName" class="package.Class" /> jsp:setProperty Element służy do modyfikacji właściwości (property) obiektu JavaBean (wywołuje metodę setXXX) <jsp:setProperty name="beanName" property="propertyName” value="propertyValue" /> jsp:getProperty Element służy do odczytu właściwości obiektu JavaBean <jsp:getProperty name="beanName" property="propertyName" />