Struts tutorial Uvod n n Sta je to

  • Slides: 8
Download presentation
Struts tutorial

Struts tutorial

Uvod n n Sta je to Struts? Struts Framework je implementacija Model-View. Controller (MVC)

Uvod n n Sta je to Struts? Struts Framework je implementacija Model-View. Controller (MVC) design pattern-a. Struts je nastao kao dio Apache Jakarta project-a i open source je. Pogodan je za aplikacije bilo koje velicine. Poslednju verziju mozete download-ovati sa: http: //jakarta. apache. org/. Sta je Model-View-Controller (MVC) arhitekrtura? MVC architectura podrazumeva deljenje komponenti aplikacije u tri razlicite kategorije Model, View i Controller.

n n n Model: Model je odgovoran za obezbedjivanje podataka iz baze kao i

n n n Model: Model je odgovoran za obezbedjivanje podataka iz baze kao i za skladistenje podataka. Sva ‘business logic’ je implementirana u Modelu. Podaci koje krisnik unese preko View-a, se proveravaju u Modelu pre nego se pohrane u bazi. Delovi Model-ove logike su tako pristup podacima, validacija podataka, te samo cuvanje podataka. View: View predstavlja korisnikov pogled na aplikaciju i odgovoran je za preuzimanje podataka, koje je korisnik uneo, prosledjivanje unetog zahteva Controller-u, a potom primanje odgovora, koji prosledjuje Controller, te prikazivanje rezultata. HTML-ovi, JSPovi, Custom Tag Libraries, te Resources file-ovi su deo View komponente. Controller: Controller se nalazi izmedju Model-a i View-a. Controller je odgovoran za primanje klijentovih zahtjeva. Nakon sto primi zahtev klijenta, on izvrsi odgovarajucu Modelovu ‘bussiness logic’-u te proslijedi izlaz (output) klijentu koristeci View komponentu. Action. Servlet, Action. Form i struts-config. xml su dio Controller-a.

Struts Controller n Klasa org. apache. struts. action. Action. Servlet je srce Struts Framework-a.

Struts Controller n Klasa org. apache. struts. action. Action. Servlet je srce Struts Framework-a. Ona je zapravo Controller komponenta Struts Framework-a. Action. Servlet je konfigurisan kao Servlet u web. xml file. ¨ n n <servlet-class>org. apache. struts. action. Action. Servlet</servlet-class> Ovim se mapira specifican patern zahteva (request-a) Action. Servlet-a. <servlet-mapping> tag u web. xml file-u odredjuje url pattern-a koji ce servlet da obradjuje. Po default-u to je *. do. web. xml Predhodno mapiranje mapira sve zahteve koji zavrsavaju sa. do na Action. Servlet koristi konfiguraciju definisanu u strutsconfig. xml file-u da definise zahtev (request). Primer: authors. From. Datebase. jsp, mapiranje u struts-config. xml file-u. "Action Mapping Definitions" je najvazniji deo struts-config. xml file-a. U ovom delu uzimamo form (pojam form bice detaljno opisan u "Form Bean Definitions” odlomku ) i mapira ga na action klasu. ¨ show. Author. do, authors. From. The. Datebase. jsp. ¨

Struts Action Class n n n Sta je Action Class? Action Class je deo

Struts Action Class n n n Sta je Action Class? Action Class je deo Model-a i wrapper je oko ‘bussiness logic’-e. Njena uloga je da prevodi Http. Servlet. Request u ‘business logic’-u. Primer nase Action klase: Actions. With. First. Letter. java Detaljnije o Action klasi Potpis execute metode u Action klasi: public Action. Forward execute( Action. Mapping mapping, Action. Form form, javax. servlet. http. Http. Servlet. Request request, javax. servlet. http. Http. Servlet. Response response) throws java. lang. Exception Action klase procesira specifican HTTP zahtev (request) i kreira odgovarajuci HTTP odgovor (response) (ili forward-uje na drugu web komponentu koje ce ga kreirati). Ova klasa ima mogucnost handle-ovanja exeption-a koje baci ‘bussiness logic’-a. Vraca Action. Forward instance, opisujuci na taj nacin gde i kako kontrola treba da bude forward-ovana ili null ako je odgovor (response) vec kreiran.

Action. Form Class n n Sta je Action. Form? Action. Form je Java. Bean

Action. Form Class n n Sta je Action. Form? Action. Form je Java. Bean koji nasledjuje org. apache. struts. action. Action. Form odrzava stanje sesije web aplikacije. Sa serverske strane, Action. Form objekat je automacki popunjen podacima unesenim u form sa klijentske strane. Primer: Cs. Author. Details. java - form (author. Details. jsp) ¨ Delete. Authors. java

Struts HTML Tags n n Struts obezbedjuje HTML tag biblioteku, koja omogucava jednostavnije kreiranje

Struts HTML Tags n n Struts obezbedjuje HTML tag biblioteku, koja omogucava jednostavnije kreiranje ‘user interface’-a. Da bismo koristili HTML tag-ove moramo najpre ubaciti sledecu liniju u JSP file-ove: <%@ taglib uri="/WEB-INF/taglibs/struts-html. tld" prefix="html" %>

Struts HTML Tags <html: message key="thekey"/> Trazi poruku koja odgovara datom kljucu u ‘message

Struts HTML Tags <html: message key="thekey"/> Trazi poruku koja odgovara datom kljucu u ‘message resources’ i prikazuje je. <html: password property="prop" size="10"/> Kreira password polje. String se cuva u property-u cije je ime ‘prop’ i kao takav se cuva u ‘form bean’-u. <html: text property="text 1" size="5"/> Kreira text polje. String se cuva u property-u, koji se zove ‘text 1’ i kao takav se cuva u ‘form bean’-u. <html: submit>Submit</html: submit> Kreira submit dugme, a dati sadrzajem se dugme imenuje. <html: reset>Reset</html: reset> Kreira reset dugme, a dati sadrzajem se dugme imenuje. . <html: errors/> Prikazuje greske na strani. <html: file property="file. Selection. Box"/> Kreira upload file element na form-i. Property mora biti tipa org. apache. strupload uts. upload. Form. File. <html: checkbox property="my. Check. Box"/> Kreira se ‘check box ‘ na formi. <html: hidden property="hiddenfield"/> Kreira hidden html element na formi. <html: radio value="abc" property="my. Check. Box"/> Kreira ‘check box’ na formi. <html: select multiple="true" property="select. Box"> Kreira ‘list box’ na formi. Property select. Box mora biti niz odgovarajuceg tipa podataka. <html: options> se koristi za specifikovanje elemenata. <html: textarea property="my. Text. Area" value="Hello Struts" /> Kreira ‘text area’ na formi. <html: form action="/Address" method="post"> Kreira HTML Form za post-ovanje podataka na server. <html: base/> Generise base tag. <BASE. . . > kaze browser-u da tretira tekucu stranu, kao da je locirana na nekom drugom URL-u. Relativne reference ce se traziti pocevsi od URL-a datog u <BASE HREF=". . . "> umjesto tekuceg URL-a. <BASE. . . > se nalazi unutar <HEAD> dela strane. <html: html> Renderuje HTML <html> element.