Extras din curs
- Dezvoltarea de aplicaţii Web dinamice folosind limbajul de programare Java
- Servleti
- JSP(Java Server Pages)
- Framework-ul Struts
- Framework-ul de formatare Tiles
1.1. Ce este Struts?
Struts este un framework MVC Java folosit pentru dezvoltarea de aplicatii web bazate pe tenologia JSP construit peste platforma J2EE.
Struts este folosit in primul rand in aplicatii bazate pe tehnologia JSP dar el poate fi folosit de asemenea si in aplicatii bazate pe template cum ar fi Velocity.
Voi incepe descrierea frameworkului Struts printr-o introducere in platforma J2EE si in tehnologia JSP.
1.2. Platforma J2EE
J2EE este o platforma ce ofera posibilitatea de a executa aplicatii Java pe partea de server.
Intainte de aparitia J2EE aplicatiile Java pentru partea de server erau scrise utilizand API – uri (Aplication Programing Inteface) oferite de diferiti producatori. Din moment ce fiecare producator avea un API si o arhitectura unica, dezvoltatorii si arhitectii nu puteau reutiliza cunostintele acumulate de a lungul dezvoltarii unei aplicatii cu ajutorul unui astfel de API, cand li se cerea schimbarea API-ului cu un altul. Curba de invatare era foarte mare (costuri ridicate) pentru ca dezvoltatorii si arhitectii sa lucreze cu fiecare dintre aceste API-uri. In consecinta intreaga comunitate de programatori Java ar fi fost fragmentata in grupuri izolate si acest fapt ar fi facut aproape inposibila dezvolarea de aplicatii enterprise serioase in limbajul Java.
Din fericire introducerea platformei J2EE si adoptarea ei de catre producatori, a rezultat in standardizarea API-ului ei, acest fapt reducand curba de invatare pentru dezvoltatorii Java. Specificatia J2EE defineste o multime de interfete si cateva clase. Producatori (ca BEA si IBM de exemplu) au oferit implemetari pentru aceste interfete astfel creand servere de aplicatii, acest proces numindu-se aderare la specificatia J2EE.
Serverele de aplicatii J2EE pun la dispozitie servicii de infrastructura cum ar fi threading, pooling, si management de tranzacii direct din “fabricatie”. In acest fel dezvoltatorii se pot concentra numai pe implementarea partii de “business logic” (functionalitatea propriuzisa a aplicatiei) si a interfetelor cu utilizatorul.
Specificatia J2EE definsete containere pentru administrarea ciclului de viata a componentelor de pe partea de server.
Exista doua tipuri de containere – containere Servlet (Servlet Container) si containere EJB (EJB Container). Containerele Servlet administreaza ciclul de viata al aplicatiilor web iar containerele EJB administreaza ciclul de viata al EJB-urilor (Enterprise Java Beans).
1.3. Aplicatii web J2EE
Orice aplicatie care ruleaza intr-un container Servlet se numeste aplicatie web J2EE. Containerul servlet implementeaza specificatiile Servlet si JSP. El ofera diferite puncte de intrare pentru rezolvarea unei cereri (request) HTTP initiata de un browser web. Exista trei puncte de intrare pentru un browser in aplicatiile web J2EE – Servlet, JSP si Filter.
- Servletii se pot crea, extinzand clasa javax.servlet.http.HttpServlet si implementand metodele doGet() si doPost() ale acesteia.
- JSP urile se pot crea simplu, creand un fisier text care contine etichete de markup JSP (JSP markup tags).
- Filtrele se pot crea implementand interfata javax.servlet.Filter.
Containerul servlet este informat despre existenta servletilor si a filtrelor atunci cand acestea vor fi declarate intr-un fisier special numit web.xml. O aplicatie web J2EE are doar un singur fiser web.xml. Aplicatiei web i se va face “deploy” in containerul Servlet sub forma unei arhive zip numita Web ARchive – cunoscuta sub numele de fiser WAR.
1.4. JSP – uri
JSP urile sunt servleti deghizati! Asadar daca JSP urile sunt servleti, de ce mai avem nevoie de ele?
Raspunsul la aceasta intrebare sta in separarea conceptelor care exista in adevaratele proiecte J2EE.
Pe vremea cand JSP urile nu existau, servletii erau singurele componente pentru a dezvolta aplicatii web J2EE. Ei rezolvau cererile de la browsere, invocau metode de bussines logic si generau raspunsuri (response) sub forma de pagini HTML, pentru browser.
Preview document
Conținut arhivă zip
- Dezvoltarea de Aplicatii Web Folosind Limbajul de Programare Java.doc