CURS JAVA - Web CRISTIAN OLARU http:// olaru.blogspot.com
Cuprins <ul><li>Introducere </li></ul><ul><li>Tipuri de date </li></ul><ul><li>Structuri de control </li></ul><ul><li>Clas...
1. SERVLET API
1.1 Servleti <ul><li>Ce este un servlet? </li></ul><ul><li>Generare dinamica de continut - versus continut static HTML </l...
1.2 Pasi in scrierea servletilor <ul><li>Extindem clasa  HttpServlet  si suprascriem una din metodele  doGet()  sau  doPos...
1.3 Protocolul HTTP <ul><li>Nivel aplicatie - trimitere de text peste TCT/IP; specificat prin RFC-uri </li></ul><ul><li>Ce...
1.4 Aplicatii Web <ul><li>Structura unei aplicatii Web, arhive  .war </li></ul><ul><li>Structura director de lucru, deploy...
1.5 Alte aspecte <ul><li>Metodele  init()  si  destroy()  pentru initializarea si distrugerea servletului </li></ul><ul><l...
2. JSP
2.1 Intoducere in JSP <ul><li>Introducere de scripting Java in paginile HTML <%  Java Code  %> </li></ul><ul><li>JSP-urile...
2.2 Scop-ul variabilelor
2.3 Elemente de baza <ul><li>Directive – nu genereaza output </li></ul><ul><ul><ul><ul><ul><li><%@ directive …%>  <jsp:dir...
2.4 JSTL <ul><li>Libraria de tag-uri standard JSP </li></ul><ul><li>5 biblioteci:  </li></ul><ul><ul><ul><li>c - core </li...
3. Struts
3.1 Introducere in Struts <ul><li>Istoric, denumire, prezent, viitor </li></ul><ul><li>Framework-uri Web </li></ul><ul><li...
3.2 Struts - modelul MVC2
3.3 Clase implicate <ul><li>Front controller - ActionServlet  </li></ul><ul><li>Template method – Action’s  </li></ul><ul>...
3.4 Clase Struts
3.5 Taguri Struts <ul><li>Tag-uri proprii Struts: </li></ul><ul><ul><ul><li>html- prepopulare dinamica cu date </li></ul><...
4. ANT
4.1 Scurta introducere in ANT <ul><li>Inlocuitor in lumea Java pentru utilitarul  make  din C/linux; istoric si instalare ...
Referinte utile <ul><li>1. Specificatii JCP:  http:// www.jcp.org / </li></ul><ul><li>2. Specificatii Servlet API:  http:/...
Upcoming SlideShare
Loading in …5
×

Dezvoltare Web Folosind Java

4,949 views

Published on

Servlets
JSP
Struts
ANT

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,949
On SlideShare
0
From Embeds
0
Number of Embeds
601
Actions
Shares
0
Downloads
145
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Dezvoltare Web Folosind Java

  1. 1. CURS JAVA - Web CRISTIAN OLARU http:// olaru.blogspot.com
  2. 2. Cuprins <ul><li>Introducere </li></ul><ul><li>Tipuri de date </li></ul><ul><li>Structuri de control </li></ul><ul><li>Clase si obiecte </li></ul><ul><li>Alte constructii </li></ul><ul><li>JDBC </li></ul><ul><li>Servlets </li></ul><ul><li>JSP </li></ul><ul><li>Struts </li></ul><ul><li>ANT </li></ul>
  3. 3. 1. SERVLET API
  4. 4. 1.1 Servleti <ul><li>Ce este un servlet? </li></ul><ul><li>Generare dinamica de continut - versus continut static HTML </li></ul><ul><li>Extensie a serverului Web </li></ul><ul><li>Specificare clara pe jcp.org, evolutia in timp - versionare </li></ul><ul><li>Servleturi generice - GenericServlet </li></ul><ul><li>Servleturi HTTP - HTTPServlet </li></ul><ul><li>Exemplu Hello World </li></ul>
  5. 5. 1.2 Pasi in scrierea servletilor <ul><li>Extindem clasa HttpServlet si suprascriem una din metodele doGet() sau doPost() </li></ul><ul><li>Scoatem parametrii primiti via HttpRequest si ii folosim in procesul de generare a raspunsului </li></ul><ul><li>Setam tipului de raspuns prin setContentType – formate MIME </li></ul><ul><li>Trimitem raspunsului inapoi browserului folosind HttpResponse </li></ul><ul><li>Inregristrarea servletului in descriptorul aplicatiei Web </li></ul>
  6. 6. 1.3 Protocolul HTTP <ul><li>Nivel aplicatie - trimitere de text peste TCT/IP; specificat prin RFC-uri </li></ul><ul><li>Cererile de tip GET si POST – diferenta este modul de trimitere al aparametrilor </li></ul><ul><li>Servere Web – Apache, IIS; </li></ul><ul><li>Browserul Web – client de HTTP </li></ul><ul><li>Orientat request/response, fara stare, HttpRequest/HttpResponse </li></ul><ul><li>Containere de servleturi </li></ul><ul><li>Exemplu Tomcat: server.xml , contextul unei aplicatii, logging, administrare, modificari in configurare </li></ul>
  7. 7. 1.4 Aplicatii Web <ul><li>Structura unei aplicatii Web, arhive .war </li></ul><ul><li>Structura director de lucru, deployerea in serverul de aplicatii, directorul webapps </li></ul><ul><li>Web.xml si inregistrarea servletilor – despre inpachetarea servletilor </li></ul><ul><li>Integrarea cu IDE-urile si depanarea aplicatiei Web </li></ul><ul><li>Startarea, oprirea, reincarcarea aplicatiilor Web (folosind managerul) – ex Tomcat </li></ul><ul><li>Important: in Java se genereaza cate un thread pentru fiecare cerere </li></ul>
  8. 8. 1.5 Alte aspecte <ul><li>Metodele init() si destroy() pentru initializarea si distrugerea servletului </li></ul><ul><li>Introducerea de parametri initiali pentru servlet si aplicatie: ServletConfig, ServletContext </li></ul><ul><li>Libraria servlet-api.jar </li></ul><ul><li>Sesiuni de lucru </li></ul><ul><li>Gestiunea sesiunii folosind HttpSesion </li></ul><ul><ul><li>Cookies </li></ul></ul><ul><ul><li>Rescrierea de url </li></ul></ul>
  9. 9. 2. JSP
  10. 10. 2.1 Intoducere in JSP <ul><li>Introducere de scripting Java in paginile HTML <% Java Code %> </li></ul><ul><li>JSP-urile sunt transformate de catre un compilator in servleturi (Tomcat - Jasper) </li></ul><ul><li>Tag-urile JSP ofera avantajul lizibilitatii jsp-urilor – este indicata folosirea lor in loc de scripleti </li></ul><ul><li>Forward versus include </li></ul><ul><li>Obiecte implicite si domenii de vizibilitate: </li></ul><ul><ul><ul><ul><li>Pagina: page </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Cerere: request </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Sesiune session </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Aplicatie: application </li></ul></ul></ul></ul><ul><li>Exemplu helloWorld.jsp </li></ul>
  11. 11. 2.2 Scop-ul variabilelor
  12. 12. 2.3 Elemente de baza <ul><li>Directive – nu genereaza output </li></ul><ul><ul><ul><ul><ul><li><%@ directive …%> <jsp:directive …/> </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Ex: page, taglib </li></ul></ul></ul></ul></ul><ul><li>Declaratii – declaratii de metode </li></ul><ul><ul><ul><ul><ul><li><%! Declaratii… %> <jsp:declaration> … </li></ul></ul></ul></ul></ul><ul><li>Expresii – inserare in flux iesire </li></ul><ul><ul><ul><ul><ul><li><%= expresie %> <jsp:expresion> … </li></ul></ul></ul></ul></ul><ul><li>Scriplet – cod java in HTML </li></ul><ul><ul><ul><ul><ul><li><% cod java %> <jsp:scriplet> … </li></ul></ul></ul></ul></ul><ul><li>Despre librarii de taguri </li></ul>
  13. 13. 2.4 JSTL <ul><li>Libraria de tag-uri standard JSP </li></ul><ul><li>5 biblioteci: </li></ul><ul><ul><ul><li>c - core </li></ul></ul></ul><ul><ul><ul><li>x – procesare XML </li></ul></ul></ul><ul><ul><ul><li>fmt – formatarea datelor </li></ul></ul></ul><ul><ul><ul><li>sql – lucru cu baze de date </li></ul></ul></ul><ul><ul><ul><li>fn – functii ajutatoare </li></ul></ul></ul><ul><li>Includerea librariilor folosind directiva <%@taglib, jstl.jar si standard.jar </li></ul><ul><li>Core: </li></ul><ul><ul><ul><li>c:out – evaloarea si afisarea expresiiilor </li></ul></ul></ul><ul><ul><ul><li>c:set – setarea valorii unei variabile </li></ul></ul></ul><ul><ul><ul><li>c:if – conditie simpla </li></ul></ul></ul><ul><ul><ul><li>c:choose - case </li></ul></ul></ul><ul><ul><ul><li>c:forEach – iteratiie </li></ul></ul></ul><ul><li>Formating: fmt:formatNumber, fmt:parseNumber, fmt:formatDate, fmt:setLocale </li></ul>
  14. 14. 3. Struts
  15. 15. 3.1 Introducere in Struts <ul><li>Istoric, denumire, prezent, viitor </li></ul><ul><li>Framework-uri Web </li></ul><ul><li>Modelul MVC 2 </li></ul><ul><ul><ul><li>Controler – servlet </li></ul></ul></ul><ul><ul><ul><li>View – JSP </li></ul></ul></ul><ul><ul><ul><li>Model – Java Beans </li></ul></ul></ul><ul><li>Despre specificatia JavaBeans, POJOS </li></ul>
  16. 16. 3.2 Struts - modelul MVC2
  17. 17. 3.3 Clase implicate <ul><li>Front controller - ActionServlet </li></ul><ul><li>Template method – Action’s </li></ul><ul><li>Transferul parametrilor – ActionForm’s </li></ul><ul><li>Redirectarea spre prezentare – ActionForward’s </li></ul><ul><li>Maparea actiunilor – ActionMapping’s </li></ul><ul><li>Configurarea cu struts-confg.xml, dyna action forms, programare declarativa </li></ul>
  18. 18. 3.4 Clase Struts
  19. 19. 3.5 Taguri Struts <ul><li>Tag-uri proprii Struts: </li></ul><ul><ul><ul><li>html- prepopulare dinamica cu date </li></ul></ul></ul><ul><ul><ul><li>logic – controlul fluxului </li></ul></ul></ul><ul><ul><ul><li>bean – lucrul cu JavaBeans </li></ul></ul></ul><ul><li>Suport pentru Expresion Language </li></ul><ul><li>JSTL in raport cu tag-uri Struts; in amanunt biblioteca HTML </li></ul><ul><li>Includerea tag-urilor Struts: struts.jar, struts-html.tld </li></ul><ul><li>Despre Tiles, integrarea cu Tiles </li></ul><ul><li>Fisire de proprietati si internationalizarea aplicatiilor </li></ul>
  20. 20. 4. ANT
  21. 21. 4.1 Scurta introducere in ANT <ul><li>Inlocuitor in lumea Java pentru utilitarul make din C/linux; istoric si instalare </li></ul><ul><li>Automatizare de procese – build, deploy, executie de unit teting, etc. </li></ul><ul><li>Descrierea task-urilor se face folosind fisiere XML </li></ul><ul><li>Proiect, task-uri si target-uri </li></ul><ul><li>Task-uri built-in uzuale: javac, war, copy, echo </li></ul><ul><li>Proprietati, fisiere de proprietati, definirea cailor </li></ul>
  22. 22. Referinte utile <ul><li>1. Specificatii JCP: http:// www.jcp.org / </li></ul><ul><li>2. Specificatii Servlet API: http:// java.sun.com/products/servlet / </li></ul><ul><li>3. Specificatii JSP: http:// java.sun.com/products/jsp / </li></ul><ul><li>4. Jakarta Apache Project: http:// jakarta.apache.org / </li></ul><ul><li>5. Apache Tomcat: http:// tomcat.apache.org / </li></ul><ul><li>6. More Servlets and JSP book: http:// www.moreservlets.com / </li></ul><ul><li>7. Libraria JSTL: http:// jakarta.apache.org/taglibs / </li></ul><ul><li>8. Proiectul Struts: http:// struts.apache.org / </li></ul><ul><li>9. Documentatia standard Struts 1.2: http://struts.apache.org/1.2.x/userGuide/index.html </li></ul><ul><li>10. Tiles: http://struts.apache.org/1.x/struts-tiles/index.html </li></ul><ul><li>11. Proiectul Apache ANT: http:// ant.apache.org / </li></ul><ul><li>12. MIME TYPES: http://www.iana.org/assignments/media-types/ </li></ul><ul><li>13. Forum curs: http://www.javaromania.com </li></ul><ul><li>14. Cristian Olaru: http://olaru.blogspot.com </li></ul>

×