34
OTVORENO RA^UNARSTVO MVC, JSP, JAVABEANS MARIO @AGAR

OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

OTVORENO RA^UNARSTVO MVC, JSP, JAVABEANS

MARIO @AGAR

Page 2: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Otvoreno računarstvo

Otvoreno računarstvo

Mario Žagar

o Tehnologije za izradu aplikacija Weba (nastavak)

o Aplikacije iz svijeta Jave EEo Model-View-Controller (MVC) o JavaServer Pages (JSP)o JavaBeans

Page 3: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Model-View-Controller (MVC)

Page 4: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba4

Uzorci dizajna (design patterns)o Uzorci dizajna (design patterns) pripadaju u skupinu

arhitekturalnih uzorakao Arhitekturalni uzorci su programski predlošci – koncepti

koji predočavaju dobro-poznata rješenja arhitekturalnih problema u programskom inženjerstvu

o Opisuju elemente i njihove relacije te ograničenja korištenja

o Uzorak dizajna nije arhitektura već koncepto Primjeri najbolje prakse kako treba graditi arhitekturu

o Isti uzorak dizajna se može implementirati u nizu raznih arhitektura koje ispoljavaju iste karakteristikeo Definirani kao “striktno opisani i široko dostupni”

Page 5: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba5

Model-View-Controller uzorak dizajnao Izolacija poslovne logike od korisničkog sučelja

o Razdvajanje korisničke interakcija, prezentacije podataka, poslovne logike i pristupa podacima

o Smanjenje međuzavisnosti slojeva aplikacijeo Jednostavnije promjene vizualnog dizajna aplikacije, ali i

poslovnih pravila, bez utjecaja promjene jednog na doradu drugog

o Povećanje mogućnosti ponovnog korištenja dijelova aplikacije

o Jednostavnije dorade novih funkcionalnostio Smanjenje ponavljanja dorada prilikom promjena

o Nema copy-paste, jer je kôd na jednom mjestu

Page 6: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba6

MVC uzorak dizajnao MVC dijelovi:

o Model – predstavlja poslovnu logiku i podatkeo Pogled (View) – predstavlja korisničko sučelje

o Može postojati više korisničkih sučeljao Kontroler (Controller) – komunikacija modela i pogleda

o Povezuje korisničko sučelje i poslovnu logikuo MVC – konkretne koristi:

o Ponovno korištenje kôda – poslovna logika uvijek na jednom mjestu

o Kraće vrijeme programiranjao Paralelni razvoj (timski rad)o Moguće velike promjene jednog sloja (bilo kojeg) bez

utjecaja na druge

Page 7: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba7

MVC – prikaz

o Više na: http://java.sun.com/blueprints/patterns/MVC-detailed.html

Page 8: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba8

MVC – proširenje prikazao Uz 3 osnovna MVC sloja, dodan četvrti sloj

o sloj postojanosti (persistence)o ostvaruje se najčešće bazom podataka

o U Java EE arhitekturio Pogled i kontroler: JavaServer Pages (JSP) i Servleto Model: JavaBean i Enterprise JavaBean (EJB)o Postojanost: pohrana podataka (relacijska baza

podataka i sl.)

Page 9: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba9

MVC – primjena na Java EE

Page 10: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba10

Sadržaj dinamičke Web straniceo Web stranica (HTML kôd) se generira iz:

o Statičkog, ne-personaliziranog sadržaja – uvijek istio Dinamičkog – ovisnog o trenutnom stanju aplikacije

o Osnovni izgled stranice - najčešće potpuno statičan:o Razmještaj (layout)o Dizajn – CSSo Stalni grafički elementi – slike i sl.

o Sadržaj stranice - dinamičan:o Tekst, podacio Moguće korištenje XML + XSL

Page 11: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Java Server Pages(JSP)

Page 12: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba12

JavaServer Pages (JSP) - idejao Miješanje statičkog HTML kôda s dinamički

generiranim HTML kôdom pomoću oznakao Statički kôd je čisti HTML ili XMLo Dinamički kôd se generira skriptnim jezikom

o Dozvoljava uporabu skriptnog jezika na poslužiteljskoj strani (server-side scripting)

o JSP datoteka (.jsp) posljedično sadrži:o HTML ili XML oznakeo JSP sintaksu

o JSP specifikacijao Prvo izdanje 1999.g.o Aktualna inačica JavaServer Pages 2.1

Page 13: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba13

JSP – sintaksao Sadrži:

o Direktiveo naredbe JSP stroju ili prevodiocu

o Skriptao Deklaracije – dodatne metode i varijable kreirane u JSP

Servletuo Skriptleti – ugrađeni Java kôdo Izrazi – Java kôd koji rezultira znakovnim nizom (String)

o Alternativa: JSP Expression Languages (JSP EL)o Danas: unified expression language (unified EL)

o Akcijeo Standardne: korištenje beanova, tok procesao Dodatne korisničke akcije

Page 14: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba14

Razlike JSP – Servleto JSP se koriste za:

o prikaz sadržaja generiranog Web aplikacijomo određivanje vrste procesiranjao validaciju ulaznih podatakao rad s poslovnim objektima za pristup podacima i izvođenje

procesao kontrolu toka Web aplikacije

o JSP i Servleti sadržavaju niz istih značajkio JSP se zapravo (neprimjetno) prevode u Servlete

o JSP ograničenje – samo za tekstualne podatkeo Servleti se i dalje koriste kao sučelje prema aplikacijama,

appletima, kao i za binarne podatkeo Primjer: proizvesti i isporučiti PDF datoteku može samo Servlet

Page 15: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba15

JSP – prednosti o Odvajanje statičkog i dinamičkog sadržaja

o Logika za generiranje dinamičkog sadržaja odvaja se u vanjske JavaBeans komponente

o Promjena prezentacijskog predloška JSP stranice uzrokuje automatsko prevođenje i ponovno učitavanje stranice

o Jednostavno prenošenje između raznih platformio Java EE standardiziranost

o Preporuka za prezentaciju dinamičkih podataka izgrađena na (poznatoj) Servlet tehnologiji

o Ponovno korištenje komponenata i biblioteka oznakao Podrška vrhunskim dizajnerskim/programerskim alatima

Page 16: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba16

JSP – izvršni modelo JSP stranice se izvršavaju u Web sadržniku

o Sadržnik preusmjera zahtjeve klijenta prema odgovarajućoj JSP stranici i vraća odgovora klijentu

o JSP stranice se prevode u Servlete i izvršavajuo Proces zvan PageCompilationo JSP izvorna stranica – dizajnerski model pisan oznakamao Prevedeni JSP Servlet (Servlet nastao iz JSP) – izvršni

modelo Koraci izvođenja:

o Parsiranje JSP izvorne straniceo Generiranje izvršnog kôda JSP Servletao Prevođenje JSP Servleta, učitavanje i izvršavanje

Page 17: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba17

JSP – životni cikluso JSP se prevodi u Servleto JSP Servlet ima isti životni

ciklus kao i Servleto Pri prvom zahtjevu za

stranicom se kreira novi JSP Servlet

o Pri svakom sljedećem zahtjevu se koristi postojeća instanca JSP Servletao Osim ako se JSP izmijenio

Page 18: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba18

JSP Servlet – primjer o JSP izvorna stranica

<%@ page import="hr.fer.or" %>

<html><head> <%! int temp = 1;%> <% int temp2 = 2; %> </head> <body> <h1><%= toString( "tekst" + 1 ) %></h1> </body></head>

o JSP Servletpackage jsp_servlet; import ... import hr.fer.or; class _myservlet implements javax.servlet.Servlet,

javax.servlet.jsp.HttpJspPage { int temp = 1; ... public void _jspService( javax.servlet.http.HttpServletRequest

request, javax.servlet.http.HttpServletResponse response ) throws javax.servlet.ServletException, java.io.IOException { ... javax.servlet.jsp.JspWriter out = pageContext.getOut(); try { out.print( "<html><head>\r\n" ); ... int temp2 = 2; ... out.print( "</head>\r\n" ); out.print( "<body>\r\n" ); out.print( "<h1>" ); out.print( toString( "tekst" + 1 ) ); out.print( "</h1>\r\n" ); ...

Page 19: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba19

JSP – vidljivost atributao Pristup atributima – 4 razine vidljivosti:

o Stranica (page) – samo trenutna JSP stranicao Gubi se kod povratkao Gubi se prilikom prosljeđivanja na drugu stranicuo Koriste se set/getAttribute metode

o Poziv (request) – trenutni HttpServletRequest objekto Ostaje vidljiv kod prosljeđivanja ili uvlačenja straniceo Gubi se kod povratnog odgovora

o Sjednica (session) – trenutni HttpSession objekto Vidljivost za vrijeme trajanja sjednice

o Aplikacija (application) – trenutni ServletContext objekto Vidljivost kroz cijelu aplikaciju

Page 20: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba20

JSP – dobre strane i mogući problemio Dobre strane:

o Uporaba dizajnerskih vizualnih alata za dizajn straniceo Uporaba programerskih alata za programsku logikuo Izrada sadržaja u skladu s MVC uzorkom dizajnao Nema miješanja Java kôda i HTML kôda

o Mogući problemi:o N(en)amjerno stavljanje programske logike u JSP stranicuo Moguće dodati mnogo Java kôda u JSP stranicu koji služi

za promjenu izgleda stranice (straničenje, filtari, sort)o JSP stranice više ne služe samo za prezentaciju (Pogled)

o Rješenje: o Korištenje drugih tehnologija i korisničkih oznaka

o npr. JavaBeans i Custom Tags

Page 21: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

JavaBeans

Page 22: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba22

Komponentna arhitekturao Definicija:

o A Java Bean is a reusable software component that can be visually manipulated in builder tools. To understand the precise meaning of this definition of a Bean, clarification is required for the following terms: o Software component o Builder Toolo Visual manipulation

P ro p e rtyC h a n g e E ve n t

g e tP ro p e rtyN a m e ()g e tN e w Va lu e ( )g e t Old Va lu e ()

(from b eans)

S o m e B e a n

P ro p e r tyC h a ng e L is t e n er

p ro p e rtyC h a n g e ( )

(from beans)

< < In te r fa c e > >P ro p e rtyC h a n g e S u p p o r t

a d d P ro p e r ty C h a ng e L i s t e n er ()re m o ve P ro p e rtyC h a n g e L is te n e r( )f ir e P ro p e rt yC ha n g e ()

(from beans)

in h e ri ts fro m

n o ti fie s

S o m e O b je c tre g is te r s to

Page 23: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba23

Komponentna arhitekturao Komponenta:

o Samostalni (self-contained), ponovno iskoristiv (reusable) dio programske podrške koja se može ugraditi i koristiti u složenim modulima

o Pakirani programski objekt s normiranim (poznatim) sučeljem

o Komponentna arhitektura:o Skup specifikacija o detaljima suradnje komponenata

o Međusobne i s drugim programima

Page 24: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba24

JavaBeanso JavaBeans označava:

o Specifikaciju i implementaciju programskog komponentnog modela

o Naziv tehnologijeo JavaBean (ili bean)

o Referenca na objekt izgrađen po JavaBeans specifikacijio Napisani (opet) u Javi – platformska neovisnost

o JavaBeans arhitekturao Temeljena na komponentnom modeluo Omogućava programerima izradnju komponenata

o JavaBeanovio Korištenje u aplikacijama, Servletima, appletima...

Page 25: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba25

JavaBean – konceptio Alati za izgradnju otkrivaju značajke Beana:

o Svojstva, metode, događajeo Metoda introspekcije

o Istraživanje pridržavanjem određenih pravila (uzorci dizajna)o Eksplicitnim uvidom u značajke preko informacija u BeanInfo

o Svojstva su karakteristike događaja i ponašanjao Mogu se mijenjati i dorađivati u trenutku dizajna:

o Pomoću uređivača svojstava (properties editor)o Korištenjem dorađivača (bean customizer)

o Beanovi međusobno komuniciraju događajimao Osluškivač (listener) Bean i izvorišni (source) Beana

o Alati istražuju Bean i uočavaju koje događaje Bean može poslati i primitio Postojanost omogućava pohranu stanja Beana

o Pohranjuje se i restaurira se – serijalizacija (Serialization)o Metode Beanova - standardne javne Java metode

Page 26: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba26

JavaBean – karakteristikeo JavaBean je (samo) instanca (objekt) Java razredao Sadrži skup javnih svojstava:

o Svojstva (atribute, varijable), metode, događajeo Tipovi:

o Vizualni:o Grafički (GUI) – npr. graf, animacija, ...

o Nevizualni:o Poslovna logika – npr. sadržaj košarice u Internet trgovinio Programski kod – npr. zbroj prometa, provjera pravopisao Podaci (baza) – npr. dohvat ranga na OR

o JavaBeans APIo API opisuje komponentni model za programski jezik

o Specifikacija – JavaBeans komponentnu arhitekturu

Page 27: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba27

JavaBean – značajke i APIo Značajke Beanova:

o Dinamički, mogu se mijenjati i prilagođavatio Vizualni alati (npr. NetBeans)mogu mijenjati Beano Na Properties karticama se podešavaju značajke Beana

o Niz promjenjivih svojstavao Vizualna manipulacija (Drag'n'Drop), promjena izgledao Promjena izgleda i ponašanjao Definiranje interakcije s drugim komponentama

o Sintaksa i konvencije imenovanja: o Konstruktor bez argumenatao Svojstva (varijable) dostupne samo putem pristupnih

metodao Korištenje getter i setter metoda

o Implementira sučelje Serializable

Page 28: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba28

JavaBean – tipovi značajkio Tipovi značajki:

o Jednostavne – jedna jednostavna značajkao Logičke – istinosna vrijednost (istina/laž)

o Metode:o public boolean isNaziv()o public void setNaziv( boolean vrijednost )o Ne sadrže getNaziv metodu

o Indeksirane – nizovi vrijednostio Korisne kad treba pohraniti niz značajki istog tipao Kao nizovi u Javi, cjelobrojni indeksio Metode:

o public String getNazivi(int indeks)o public void setNazivi(int indeks, String naziv)o public String[] getNazivi()o public void setNazivi(String[] nazivi)

Page 29: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba29

JavaBean i MVCo MVC:

o Model – jedan, poslovna logika, rješava problemo JavaBean

o Pogled – višestruk, "pogled" na model, prezentacija, interakcija s korisnikomo Web stranica – Servlet, JSPo Klijent – GUI JavaBean

o Kontroler – jedan ili više, obrađuje zahtjeve i parametreo Ideja: enkapsulacija dinamičkog sadržaja u JavaBeano JavaBeanovi se održavaju neovisno od straniceo JSP stranice pristupaju JavaBeanu putem

<jsp:useBean> oznake

Page 30: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba30

JavaBean – primjer – student public class Student implements java.io.Serializable { private String firstName; private String lastName; private boolean active; public Student() { }

public String getFirstName() { return this.firstName; } public void setFirstName(String name) { this.firstName = name; } public String getLastName() { return this.lastName; } public void setLastName(String name) { this.lastName = name; }

public boolean isActive() { return this.active; } public void setActive(boolean active) { this.active = active; }}

public class TestBean { public static void main(String[] args) { Student student = new Student(); student.setFirstName("Ivo"); student.setLastName("Ivić"); student.setActive(true); System.out.print(student.getFirstName() + " je "); System.out.println(student.isActive() ? "neaktivan"

: "aktivan"); }}

Page 31: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba31

JavaBean - koristio Zašto koristiti JavaBeanove?

o Programiranje korištenjem vizualnih programskih alatao Pouzdan model učahurivanjao Standardiziran u Java EE Connector Architecture (JCA)

Napomena: Ne miješati JavaBean s Enterprise JavaBeans (EJB)!

Page 32: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba32

Servlet-JSP-JavaBean cjelina1) Klijent šalje HTTP Request Web poslužitelju koji ga prosljeđuje aplikacijskom

poslužiteljuPoziva se service() metoda odgovarajućeg Servleta

2) Servlet stvara / pokreće odgovarajuće JavaBeans komponente i prosljeđuje poziv odgovarajućoj JSP stranici.

JavaBeans komponente mogu pristupati drugim sustavima ili bazi podataka i posčkedično sadrže podatke za izradu dinamičkog sadržaja u JSP stranici

12

Page 33: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba33

Servlet-JSP-JavaBean cjelina3) Servlet prosljeđuje poziv JSP stranici.

Pri prvom pozivu JSP stranica se prevodi, inače nePoziva se service() metoda prevedenog JSP Servleta

4) JSP Servlet čita sadržaj JavaBean komponente5) JSP Servlet izrađuje sadržaj Web stranice te ga prosljeđuje Web

poslužitelju koji ga prosljeđuje Web pregledniku (klijentu)

12

34

5

Page 34: OTVORENO RA^UNARSTVO - ieee.hr · 13 Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba JSP – sintaksa o Sadrži: o Direktive o naredbe JSP stroju ili prevodiocu o Skripta

Otvoreno računarstvo - Tehnologije za izradu aplikacija Weba

Pitanja ?