dezvoltare web folosind java

22
CURS JAVA - Web CRISTIAN OLARU http:// olaru.blogspot.com

Upload: colaru

Post on 05-Dec-2014

6.586 views

Category:

Technology


9 download

DESCRIPTION

Servlets JSP Struts ANT

TRANSCRIPT

Page 1: Dezvoltare Web Folosind Java

CURS JAVA - Web

CRISTIAN OLARUhttp://olaru.blogspot.com

Page 2: Dezvoltare Web Folosind Java

Cuprins1. Introducere2. Tipuri de date3. Structuri de control4. Clase si obiecte5. Alte constructii6. JDBC7. Servlets8. JSP9. Struts10. ANT

Page 3: Dezvoltare Web Folosind Java

1. SERVLET API

Page 4: Dezvoltare Web Folosind Java

1.1 Servleti Ce este un servlet? Generare dinamica de continut - versus

continut static HTML Extensie a serverului Web Specificare clara pe jcp.org, evolutia in timp

- versionare Servleturi generice - GenericServlet Servleturi HTTP - HTTPServlet Exemplu Hello World

Page 5: Dezvoltare Web Folosind Java

1.2 Pasi in scrierea servletilor Extindem clasa HttpServlet si suprascriem

una din metodele doGet() sau doPost() Scoatem parametrii primiti via HttpRequest

si ii folosim in procesul de generare a raspunsului

Setam tipului de raspuns prin setContentType – formate MIME

Trimitem raspunsului inapoi browserului folosind HttpResponse

Inregristrarea servletului in descriptorul aplicatiei Web

Page 6: Dezvoltare Web Folosind Java

1.3 Protocolul HTTP Nivel aplicatie - trimitere de text peste

TCT/IP; specificat prin RFC-uri Cererile de tip GET si POST – diferenta este

modul de trimitere al aparametrilor Servere Web – Apache, IIS; Browserul Web – client de HTTP Orientat request/response, fara stare,

HttpRequest/HttpResponse Containere de servleturi Exemplu Tomcat: server.xml, contextul

unei aplicatii, logging, administrare, modificari in configurare

Page 7: Dezvoltare Web Folosind Java

1.4 Aplicatii Web Structura unei aplicatii Web, arhive .war Structura director de lucru, deployerea in

serverul de aplicatii, directorul webapps Web.xml si inregistrarea servletilor – despre

inpachetarea servletilor Integrarea cu IDE-urile si depanarea

aplicatiei Web Startarea, oprirea, reincarcarea aplicatiilor

Web (folosind managerul) – ex Tomcat Important: in Java se genereaza cate un

thread pentru fiecare cerere

Page 8: Dezvoltare Web Folosind Java

1.5 Alte aspecte Metodele init() si destroy() pentru

initializarea si distrugerea servletului Introducerea de parametri initiali pentru

servlet si aplicatie: ServletConfig, ServletContext

Libraria servlet-api.jar Sesiuni de lucru Gestiunea sesiunii folosind HttpSesion

Cookies Rescrierea de url

Page 9: Dezvoltare Web Folosind Java

2. JSP

Page 10: Dezvoltare Web Folosind Java

2.1 Intoducere in JSP Introducere de scripting Java in paginile HTML <%

Java Code %> JSP-urile sunt transformate de catre un compilator in

servleturi (Tomcat - Jasper) Tag-urile JSP ofera avantajul lizibilitatii jsp-urilor – este

indicata folosirea lor in loc de scripleti Forward versus include Obiecte implicite si domenii de vizibilitate:

Pagina: page Cerere: request Sesiune session Aplicatie: application

Exemplu helloWorld.jsp

Page 11: Dezvoltare Web Folosind Java

2.2 Scop-ul variabilelor

Page 12: Dezvoltare Web Folosind Java

2.3 Elemente de baza Directive – nu genereaza output

<%@ directive …%> <jsp:directive …/> Ex: page, taglib

Declaratii – declaratii de metode <%! Declaratii… %> <jsp:declaration> …

Expresii – inserare in flux iesire <%= expresie %> <jsp:expresion> …

Scriplet – cod java in HTML <% cod java %> <jsp:scriplet> …

Despre librarii de taguri

Page 13: Dezvoltare Web Folosind Java

2.4 JSTL Libraria de tag-uri standard JSP 5 biblioteci:

c - core x – procesare XML fmt – formatarea datelor sql – lucru cu baze de date fn – functii ajutatoare

Includerea librariilor folosind directiva <%@taglib, jstl.jar si standard.jar

Core: c:out – evaloarea si afisarea expresiiilor c:set – setarea valorii unei variabile c:if – conditie simpla c:choose - case c:forEach – iteratiie

Formating: fmt:formatNumber, fmt:parseNumber, fmt:formatDate, fmt:setLocale

Page 14: Dezvoltare Web Folosind Java

3. Struts

Page 15: Dezvoltare Web Folosind Java

3.1 Introducere in Struts

Istoric, denumire, prezent, viitor Framework-uri Web Modelul MVC 2

Controler – servlet View – JSP Model – Java Beans

Despre specificatia JavaBeans, POJOS

Page 16: Dezvoltare Web Folosind Java

3.2 Struts - modelul MVC2

Page 17: Dezvoltare Web Folosind Java

3.3 Clase implicate Front controller - ActionServlet Template method – Action’s Transferul parametrilor – ActionForm’s Redirectarea spre prezentare –

ActionForward’s Maparea actiunilor – ActionMapping’s Configurarea cu struts-confg.xml, dyna

action forms, programare declarativa

Page 18: Dezvoltare Web Folosind Java

3.4 Clase Struts

Page 19: Dezvoltare Web Folosind Java

3.5 Taguri Struts Tag-uri proprii Struts:

html- prepopulare dinamica cu date logic – controlul fluxului bean – lucrul cu JavaBeans

Suport pentru Expresion Language JSTL in raport cu tag-uri Struts; in amanunt

biblioteca HTML Includerea tag-urilor Struts: struts.jar,

struts-html.tld Despre Tiles, integrarea cu Tiles Fisire de proprietati si internationalizarea

aplicatiilor

Page 20: Dezvoltare Web Folosind Java

4. ANT

Page 21: Dezvoltare Web Folosind Java

4.1 Scurta introducere in ANT Inlocuitor in lumea Java pentru utilitarul

make din C/linux; istoric si instalare Automatizare de procese – build, deploy,

executie de unit teting, etc. Descrierea task-urilor se face folosind

fisiere XML Proiect, task-uri si target-uri Task-uri built-in uzuale: javac, war, copy,

echo Proprietati, fisiere de proprietati, definirea

cailor

Page 22: Dezvoltare Web Folosind Java

Referinte utile

1. Specificatii JCP: http://www.jcp.org/ 2. Specificatii Servlet API: http://java.sun.com/products/servlet/ 3. Specificatii JSP: http://java.sun.com/products/jsp/ 4. Jakarta Apache Project: http://jakarta.apache.org/ 5. Apache Tomcat: http://tomcat.apache.org/ 6. More Servlets and JSP book: http://www.moreservlets.com/ 7. Libraria JSTL: http://jakarta.apache.org/taglibs/ 8. Proiectul Struts: http://struts.apache.org/ 9. Documentatia standard Struts 1.2:

http://struts.apache.org/1.2.x/userGuide/index.html 10. Tiles: http://struts.apache.org/1.x/struts-tiles/index.html 11. Proiectul Apache ANT: http://ant.apache.org/ 12. MIME TYPES: http://www.iana.org/assignments/media-types/ 13. Forum curs: http://www.javaromania.com 14. Cristian Olaru: http://olaru.blogspot.com