Realizarea Aplicatiilor Web Utilizand Limbajul Java
CUPRINS:
Capitoulul 1: Introducere
1.1. Noțiuni introductive despre aplicații web…………………………………………………………..5
1.2. Obiective……………………………………………………………………………………………………..7
Capitolul 2: Generalități Java
2.1. Introducere și generalități ale limbajului Java………………………………………………….8
2.2. Evoluția limbajului Java……….…………….…………..…………………………………9
2.3. Java și conceptele programarii orientate pe obiecte…………………………………………11
2.4. Elemente Java folosite în dezvoltarea aplicației…….………………………………..15
Capitolul 3: Pregătirea mediului de lucru
3.1. Instalare Java Development Kit(JDK)……………………………………………………………..29
3.2. Instalare NetBeans………………………………………………………………………………………32
Capitolul 4: Descrierea aplicației
4.1. Introducere…………………………………………………………………………………………………40
4.2. Structura aplicației……………………………………………………………………………………….40
4.3. Rularea aplicației…………………………………………………………………………………………45
Bibliografie……………..………………………………………………………………………52
CAPITOLUL 1
INTRODUCERE
Noțiuni introductive despre aplicații web
O aplicație web este un program care rulează în browser-ul web. Este creată întru-un limbaj de programare compatibil cu browser-ul (cum ar fi combinația între JavaScript, HTML și CSS) și se bazează pe un browser web pentru interacțiune.
Aplicațiile Web sunt cunoscute datorită omniprezenței browser-urilor web și ușurința de a folosi un browser web ca și utilizator. Având capacitatea de a actualiza și menține aplicații web fară instalarea software-ului pe potențial de mii de calculatoare reprezintă un motiv important pentru popularitatea lor.
Faptul că sunt imune la schimbarea sistemelor de operare (Windows, Linux, Machintos,etc) reprezintă o altă calitate importantă a aplicațiilor web.
Cele mai comune aplicații web sunt webmail, licitații online, vanzare on-line, wiki-uri și alte funcții, oferind o accesibilitate de neegalat, aplicațiile web sunt disponibile oricând 24/7 de la orice terminal conectat la internet .
În modelele anterioare de calculatoare, în client-server încărcarea aplicației se făcea între codul de pe server și codul instalat pe fiecare client local. Așadar, o aplicație avea propriul program-client care servea ca și user interface și trebuia să fie instalat separat pentru fiecare calculator personal.
Atunci când era necesar să se facă un update la un server , codul aplicației de asemenea avea nevoie de un update pentru fiecare workstation instalat, mărind costurile și scăzând eficiența.
Aplicațiile Web folosesc în schimb documente web scrise într-un format standard cum ar fii HTML și JavaScript, care sunt suportate pe mai multe versiuni de web browser.
Prin urmare aplicațiile web pot fi considerate ca o variantă specifică a client-server unde clientul descarcă automat conținutul când vizitează pagina web respectivă ,folosind procedura standard HTTP.
În 1999 conceptul de “aplicație web” a fost introdus în limbajul Java ca Servlet versiunea 2.2, în acea perioadă JavaScript și XML erau deja create dar, Ajax nu apăruse și XMLHttpRequest numai ce fusese introdus în Internet Explorer 5 ca un obiect de tip ActiveX.
În 2005 , termenul Ajax devenise popular și aplicațiile de tip Gmail începuseră să facă interțiune client-server-client mult mai dinamică, scriptul avea posibilitatea de a face legatura între client și server pentru a stoca și retrimite date fară să descarce toată pagina web.
În 2011, HTML5 a fost finalizat ,având capacitatea de a furniza grafica și multimedia fară nevoia de a instala plugin-uri de tip client-side, HTML5 îmbogațește conținutul documentelor, acest lucru ducând la posibilitatea de a crea aplicații web mult mai complexe.
Datorită interfeței de tip Java, JavaScript, DHTML, Flash și alte tehnologii, aplicațiile folosite pentru desenare pe ecran , redare audio și altele care se folosesc de mouse și tastatura au devenit posibile, unele servicii au lucrat înspre a combina toate cele meționate într-o interfață familiară care adoptă o afișare similară cu a unui sistem de operare.
Tehnologii de tip drag and drop au devenit de asemenea posibile, developatorii de programe folosind aceste facilități foarte des în special pentru a crea experiențe interactive .
Majoritatea aplicațiilor web sunt create în mai multe medii de dezvoltare :
Eclipse
NetBeans
IntelliJ IDEA
UltreEdit
BlueJ
Obiective
realizarea unei aplicții web
instalarea și utilizarea mediului de dezvoltare NetBeans
folosirea limbajului de programare Java pentru a crea o aplicație usor de accesat și utilizat
CAPITOLUL 2
GENERALITĂȚII JAVA
2.1 Introducere și generalitățile limbajului Java
Generalități Java
este un limbaj de programare dezvoltat de către JavaSoft, o companie în cadrul firmei Sun Microsystems.
este o progrmare orientată pe obiecte și oferă o posibilitate reala de refolosire a codului pe diferite platforme.
este neutru din punct de vedere arhitectural, cu alte cuvinte Java este un limbaj independent de platforma de lucru, aceeași aplicație rulând, fără nici o modificare, pe sisteme diferite cum ar fi Windows, UNIX sau Macintosh, lucru care aduce economii substanțiale firmelor care dezvoltă aplicații pentru Internet.[2.1]
limbajul Java este modelat după C și C++, trecerea de la C, C++ la Java făcându-se foarte usor.
elimină sursele frecvente de erori ce apar în programare prin eliminarea pointerilor, administrarea automată a memoriei și eliminarea fisurilor de memorie printr-o procedură de colectare a “gunoiului” care rulează în fundal;
este cel mai sigur limbaj de programare disponibil în acest moment, asigurând mecanisme stricte de securitate a programelor concretizate prin: verificarea dinamică a codului pentru detectarea secvențelor periculoase, impunerea unor reguli stricte pentru rularea programelor lansate pe calculatoare aflate la distanță (acestea nu au acces la rețeaua locală, la fișierele stocate în sistemul local și nu pot lansa în execuție programe locale), etc.
permite creearea unor documente Web îmbunătățite cu animație și multimedia.
a fost proiectat pentru a fi folosit în medii distribuite și sisteme deschise.[2.2]
2.2 Evoluția limbajului Java
În 1991, firma SUN, mergând pe direcția dezvoltării sistemelor deschise de lucru în rețea, a creat un proiect de lucru numit Green, care avea drept scop punerea la punct a unor procesoare care să poată rula pe diferite tipuri de aparate și punerea la punct a unui sistem care să poată rula pe platforme diferite.
Planul inițial prevedea dezvoltarea proiectului în C++, dar au apărut foarte multe probleme în încercarea de dezvoltare a compilatorului de C++.
Ca urmare, James Gosling, membru al grupului Green, a început să lucreze la dezvoltarea unui nou limbaj, numit Oak, care, mai târziu, avea să se numească Java. De asemenea grupul Green avea să-și schimbe numele întâi în FirstPerson, apoi în JavaSoft.
Abia după ce a fost înființată compania Netscape Communications Corporation, cei de la JavaSoft s-au orientat către Internet și Web, mediul multiplatforma distribuit al rețelei Internet fiind perfect pentru testarea proiectului.
În prezent licența pentru tehnologia Java a fost acordată unor firme precum IBM, Microsoft, Sillicon Graphics, Adobe și Netscape.
Java : un limbaj compilat și interpretat
În funcție de modul de execuție al programelor, limbajele de programare se împart în două categorii :
interpretate : instrucțiunile sunt citite linie cu linie de un program numit interpretor și traduse în instrucțiuni masină; avantaj : simplitate; dezavantaje : viteza de execuție redusă;
compilate : codul sursă al programelor este transformat de compilator într-un cod ce poate fi executat direct de procesor; avantaj : execuție rapidă; dezavantaj : lipsa portabilitații, codul compilat într-un format de nivel scăzut nu poate fi rulat decât pe platforma pe care a fost compilat.
Programele Java pot fi atât interpretate cât și compilate.[2.3]
Cod sursă Java (compilare) Cod de octeți
Codul de octeți este diferit de codul mașină. Codul mașină este reprezentat de o succesiune de 0 si 1; codurile de octeți sunt seturi de instrucțiuni care seamănă cu codul scris în limbaj de asamblare.
Codul mașină este executat direct de către procesor și poate fi folosit numai pe platforma pe care a fost creat. Codul de octeți este interpretat de mediul Java și de aceea poate fi rulat pe orice platformă care folosește mediul de execuție Java neutralitatea limbajului Java din punct de vedere arhitectural.
Cum este rulat un program Java ? Interpretorul Java transformă codul de octeț într-un set de instrucțiuni mașină, întârzierea interpretării fiind însă foarte mică datorită asemănării dintre codul de octeți și limbajul de asamblare și din acest motiv execuția se face aproape la fel de repede ca în cazul programelor compilate.
Cum este obținută neutralitatea arhitecturală a limbajului Java ? Cu alte cuvinte, cum este posibilă portarea codului de octeti pe calculatoare diferite?
Truc : codul sursă este compilat nu pentru calculatorul pe care se lucrează ci pentru un calculator inexistent, acest calculator imaginar fiind numit Mașina virtuală Java (Java Virtual Machine).[2.4]
Interpretorul acționează apoi ca un intermediar între Mașina Virtuală Java și mașina reală pe care este rulat programul (Tabelul 2.1).
Tabelul 2.1
2.3 Java și conceptele programării orientate pe obiecte
Limbajul Java este urmatorul pas logic în domeniul limbajelor de programare și se bazează pe cel mai popular limbaj de programare al momentului C++.
În Java se pot obține programe cu aspectul și comportarea programelor C++, dar beneficiind de avantajele oferite de un limbaj proiectat special pentru POO. Java renunță complet la programarea procedurală specifică C-ului și vă obligă să folosiți conceptele solide ale POO.
Conceptele programării orientate pe obiecte cuprind :
Obiectele;
Încapsularea și transmiterea de mesaje;
Clasele;
Bibliotecile (numite pachete, în Java);
Moștenirea;
Modificatorii de acces[2.5].
Obiectele
unitatea elementară a POO;
starea obiectului este dată de variabile de instanță;
comportamentul obiectului este dat de metode;
ușor de refolosit, actualizat, întreținut.
Încapsularea și transmiterea de mesaje
Clasele
încapsulează obiecte ;
singura clasă poate fi folosită pentru instanțierea mai multor obiecte.
Pachetele (bibliotecile): colecție de clase înrudite.
Moștenirea permite :
extinderea funcționalității unor clase existente;
refolosirea codului.
Modificatorii de acces : controlează accesul la metodele și variabilele obiectelor.
Acestea pot fi :
Private – accesibile doar obiectelor din aceeași clasă
Protejate – accesibile obiectelor din aceeași clasă și din subclasele clasei respective
Prietenosase – (nivelul de accesibilitate prestabilit) accesibile tuturor claselor din pachetul curent
Publice – accesibile tuturor claselor din orice pachet
Programarea în limbajul Java
Caracteristicile de bază al limbajului Java:
Folosirea în medii de rețea distribuite
Java a fost proiectat pentru un mediu complex cum este Internetul și de aceea trebuie să poată rula pe platforme eterogene distribuite.
Acest lucru este posibil deoarece :
este neutru din punct de vedere arhiectural = programele pot fi rulate pe orice platformă care are instalat mediul Java
are un grad ridicat de portabilitate = conține obictecte care pot fi folosite pe platforme eterogene și respectă standardele IEEE (Institue of Electrical and Electronics Engineers) pentru structurile de date (folosirea întregilor, a numerelor în virgulă mobilă, a șirurilor, etc)
este distribuit = poate folosi atât obiecte memorate local cât și obiecte stocate pe calculatoare aflate la distanță
este compatibil cu mediile de lucru în rețea (poate fi utilizat în rețele complexe) și acceptă direct protocoalele de rețea obisnuite cum ar fi FTP și HTTP
Asigurarea performanței ridicate
compilatorul și sistemul de execuție oferă o viteză ridicată rulării programelor
are încorporate posibilități de execuție multifilară (rularea simultană a mai multor procese) folosind un sistem de acordare de priorități proceselor ce trebuie executate. Printre procesele care rulează în fundal sunt cele de “colectare a gunoiului” și de gestionare a memoriei.
Refolosirea codului și fiabilitatea
Java este un limbaj dinamic, lucru asigurat prin întârzierea legării obiectelor și legarea dinamică a claselor în timpul execuției, ceea ce împiedică apariția erorilor în cazul schimbării mediului de lucru după compilarea programului sursă.
Fiabilitatea este asigurată prin eliminarea pointerilor, prin folosirea verificării dinamice a limitelor și prin gestionarea automată a memoriei, înlaturându-se posibilitatea fisurilor și violărilor de memorie. O altă cale de evitare a erorilor este verificarea structurilor de date atât la compilare cât și în timpul execuției.[2.6]
Asigurarea securității
Interzice accesul la stiva sistemului, la zona liberă de memorie și la secțiunile protejate de memorie
Verifică validitatea codului semnalând următoarele:
Violările de acces
Conversiile ilegale de date
Valori și parametri incorecți
Modificarea claselor sau folosirea incorectă a acestora
Depășirea stivei în partea superioară sau inferioară
Activități suspecte sau neautorizate
2.4 Elemente Java folosite în dezvoltarea aplicației Java Servlet (fig.2.1)
Un servlet este o clasă scrisă în Java al cărui scop este generarea dinamică de date într-un server de tip HTTP.
O clasă de acest tip poate crea atât conținut HTML, cât și documente XML, imagini, alte fișiere.
Fig. 2.1. Java Servlet
În servleți, în cea mai mare parte a lor sunt folosiți împreună cu protocolul HTTP, deși există posibilitatea de a folosi servleți care nu sunt legați de un anumit protocol. Ca atare prin „servlet” se înțelege de obicei un „servlet HTTP”.
Un servlet nu poate fi rulat direct de către server, ci doar de către un container web.
Pentru a răspunde unei cereri de la un client (de obicei un browser) către un anumit servlet, serverul trimite mai departe cererea către container, care se ocupă de instanțierea obiectului respectiv și de apelarea metodelor necesare.
Exemple de containere web care suportă servleți includ Apache Tomcat (acesta poate rula și ca server de sine stătător, dar performanțele sale nu se compară cu cele ale unui server web dedicat precum Apache), Jetty, GlasFish și Resin.[2.7]
Servlet-urile reprezintă o alternativă la tehnologiile non-Java CGI sau ASP.NET. Sun Microsystems a publicat o primă specificație completă, aceasta fiind versiunea 1.0, în 23 iunie 1997. Începând cu versiunea 2.4 specificațiile au fost create doar cu ajutorul Java Community Process, un mecanism care permite tuturor celor interesați ca să ia parte la creerea specificațiilor tehnice în dezvoltarea de platformele Java.
La data de 27 mai 2015 ultima specificație privind servleții are versiunea 3.2. Orice servlet, HTTP trebuie să se extindă javax.servlet.http.Http-Servlet, care extinde la rândul lui javax.servlet.GenericServlet ce implementează interfața javax.servlet.Servlet.
Atât Http-Servlet cât și Generic-Servlet sunt clase abstracte, amândouă nu pot fi instanțiate, adică nu se poate construi un niciun obiect din aceste clase).
Există trei metode în “viața” unui servlet:
init(),
service(),
destroy(),
Acestea sunt folosite de către orice servlet și sunt invocate de către server la un anumit moment, un scenariu tipic care folosește cele trei metode:
Asumând ca utilizator vizitează un URL:
Browser-ul generează un HTTP cu referire la URL,
Cererea este apoi trimisă server-ului.
Cererea HTTP este recepționată de către server și trimisă mai departe către container:
Containerul redistribuie cerința unui alt server dedicat,
Servletul este recepționar și este încărcat în adresa containerului,
Containerul invocă metoda ”init()” din servlet:
Metoda este invocată o singură dată atunci când servletul este încărcat în memorie,
Este posibil ca servletul să trimită parametrii inițiali pentru ca el să se poată configura singur,
Containerul invocă apoi metoda “service()” din servlet:
Această metodă se numește cerere HTTP,
Servletul poate citi date care provin din cererea HTTP,
Servletul poate de asemenea să formuleze un răspuns HTTP către client,
Servletul rămâne în adresa containerului și este valabil pentru a fi procesat de orice altă cerere HTTP recepționată de la client:
Metoda “service()” poate fi apelată de către orice cerere HTTP,
Acest container poate la orice moment dat să scoată servletul din memorie:
Decizia după care se ia algoritmii este specifică fiecarui container,
Containerul apelează metoda ”destroy()” din servletul lui să renunțe la orice resursă, cum ar fi mânerele de fișier care sunt alocate pentru servlet, datele importante pot fi salvate într-un magazin persistent,
Memoria alocată servlet-ului și obiectelor lui pot apoi să fie stocate ca garbage collection.
Generare dinamică de pagini HTML.
Posibilitatea de a crea direct răspunsul în format standard HTML mărește considerabil utilitatea servleților.
JavaServer Faces
JavaServer Faces ( JSF ) (fig.2.2) este o specificație Java pentru construirea unei interfețe bazate pe componente pentru aplicații web.
A fost formalizat ca standard prin Jaca Community Process și face parte din platforma Java Enterprise Edition.
Fig. 2.2. JavaServer Faces ( JSF )
JSF 2 folosește Facelets ca și default templating system. Alte tehnologii de vizualizare precum XUL pot fi de asemenea utilizate.
În schimb, JSF 1.x folosește JavaServer Pages ( JSP ) ca și default templating system. Java Server Faces este un framework folosit pentru dezvoltarea de aplicații web.
În 2001 Java Specification Request ( JSR ) datorată tehnologiei care în cele din urmă a devenit JavaServer Faces a propus elaborarea unui pachet cu numele javax.servlet.ui.
Prin iunie 2001 JavaWorld a putut prezenta echipei de design a lui Amy Fowler așa numitul API JavaServer Faces (Moonwalk), o aplicație framework pentru crearea interfeței Web-based user. Bazat pe un UI de design model-driven component, JavaServer Faces utilizează fișiere XML, numite șabloane de vizualizare sau Facelets views.
Faceletsurile procesează cererile, încarcă șabloanele de vizualizare, construiește un component tree, procesează evenimentele și crează răsunsuri (de obicei în limbajul HTML) pentru client.
Starea componentelor UI (fig. 2.3) și obiectele de interes sunt salvate la sfârșitul fiecărei cereri într-un proces numit stateSaving și este restaurat la urmatoarea creștere a fiecărui punct de vizualizare. Fie client sau server, ambii pot salva obiecte și stări.
Fig. 2.3. Starea componentelor UI
Facelets ( care a fost conceput special pentru JavaServer Faces) a fost adoptat oficial ca tehnologie view o dată cu JSF versiunea 2.0.
Acest lucru elimină conflictele ciclului de viața care au existat cu JSP, forțând soluții de către dezvoltatori Java. Facelets permite crearea cu ușurință a component/tag-urilor utilizând marcare XML în loc de cod Java.
Noile evoluții JSF de asemenea oferă acces larg la Java 5 cum ar fi:
ManagedBean,
ManagedProperty,
FacesComponent,
Acestea elimină necesitatea de folosire a config.xml în toate cazurile în afară de extensiile framework. Navigarea a fost simplificată eliminând această necesitate, tranzațiile de pagini pot fi invocate doar prin trecerea între View/Facelet.
Cea mai recentă versiune JSF are suport pentru manipularea resurselor cum ar fi CSS și Javascript, permițând artefacte să fie incluse în biblioteci de componente separate în fișiere de tip JAR sau pur și simplu co-situat într-un loc consistent în aplicația web. Aceasta conține denumire logică și versionare pe resurse.
JSF 2.0 include de asemenea o serie de alte modificări cum ar fi adăugarea de suport pentru evenimente, dezvoltare separată, etape de așteptare cât și moduri de producție ca RAILS_ENV în Ruby on Rails și extinde în mod semnificativ setul standard de componente.[2.8]
JavaServer Pages
JavaServer Pages (fig.2.4) este o tehnologie care ajută dezvoltatorii software să creeze pagini web dinamic generate bazate pe HTML, XML sau alt tip de document.
Lansat în 1999 de Sun Microsystems, JSP este similar cu PHP dar folosit în limbajul de programare Java.
Fig. 2.4. JavaServer Pages
Pentru a rula o JavaServer Pages este nevoie de un servlet și un web server compatibil cum ar fi Apache Tomcat sau Jetty.
Arhitectural, JSP poate fi vizualizat ca un high-level abstraction, JSP-urile sunt translatate în serlets la rulare până când fiecare JSP servlet refolosit ajunge să difere de original(să se modifice).
JSP poate fi utilizat independent sau vizualizat ca un component al server-side-ul modelului view-controller, în mod normal cu JavaBeans ca model și Java servlets sau Apache Strurs ca, controller. Acesta este o arhitectura de tip Model 2 (fig 2.5).
Fig 2.5. Arhitectura de tip Model 2
JSP-urile permit codului Java și a anumitor acțiuni predefinite să fie acoperite cu un conținut static de web markup rezultând o pagină compilată și executată pe server pentru a putea trimite documentele necesare.
Paginile compilate ca și orice bibliotecă Java folosesc Java bytecode în loc să folosească un format nativ al software-ul
Ca orice alt program Java, codul trebuie executat folosind un Java virtual machine care este integrat în host-ul sistemului de operare al serverului pentru a le oferi un mediu de platforma neutru abstract.[2.9]
JSP-urile sunt de obicei folosite pentru a trimite documente HTML și XML, dar prin folosirea OutputStream ele pot trimite și alt fel de date. Web containerul crează obiecte implicite JSP cum ar fi:
pageContext,
servletContext,
session,
request & response
Paginile JSP folosesc delimitatori pentru funcțiile de scripting, cele mai de bază sunt (<%….%>) care includ scriplet JSP.
Un scriplet este un fragment de cod Java ce rulează când utilizatorul accesează pagina, alte delimitări comune includ (<%=….%>) pentru expresii unde scripletul și delimitatorul sunt înlocuite cu rezultatul evaluat de expresie și de directive notat cu (<%@…%>).
Codul Java nu necesită a fi complet sau restrâns în scriplet element block pentru a putea fi pagina încărcată ca un întreg și sintactic corecta.
De exemplu orice comandă Java de tipul if/for/while deschise în scriplet trebuie să fie închise corect cu o literă pentru ca pagina să fie compilată cu succes. Următorul cod arată o bucla validă într-o pagină JSP:
<p>Numără până la trei:</p>
<% for (int i=1; i<4; i++) { %>
<p>Numărul <%= i %>.</p>
<% } %>
<p>OK.</p>
Pe browser-ul web se va afișa:
Numără până la trei:
Numărul 1.
Numărul 2.
Numărul 3.
OK.
Odată cu versiunea versiunea 2.0 al specificațiilor JSP s-a adăugat suport pentru Expression Language (EL) folosit pentru a accesa date și funcții în interiorul obiectelor Java. În JSP 2.1 s-a adăugat specificații în Unified Expression Language ce este de asemenea folosit în JavaServer Faces.
Un exemplu de sintaxa EL:
The value of "variable" in the object "javabean" is ${javabean.variable}.
În interiorul JSP syntax s-a adăugat noi taguri numite JSP actions pentru a invoca funcționaliți pre-create, în plus tehnologia a permis crearea de biblioteci de taguri JSP modificate ce acționează ca extensii la standardul JSP syntax.
O asemenea bibliotecă este JSTL ce suportă task-uri comune cum ar fi iteration și conditationals echivaletul pentru „for” și „if” în limbajul standard Java.
Un JavaServer Pages compiler este un program ce analizează JSP-uri și le transformă în Java Servlets, un program de acest tip este, de obicei încorporat în serverul aplicației și rulează automat prima dată când un JSP este accesat dar paginile pot fi de asemenea pre-compilate pentru o performanță mai bună sau compilat ca parte a procesului de construcție pentru a testa erorile.
Un container JSP sprijină configurarea de fiecare dată cînd se verifică containerul JSP pentru marcajele de timp din fișiere pentru a vedea dacă pagina s-a schimbat.
JavaScript
JavaScript (JS), de asemenea, cunoscut sub numele de ECMAScript (nume folosit standard), este un limbaj de programare dinamic.
Acesta este cel mai frecvent utilizat în cadrul de browsere web , care permite implementări scripturi client-side pentru a interacționa cu utilizatorul , de control browser-ul, de a comunica asincron, și modifica conținutul documentului afișat.
JavaScript (puțin strict subset la asm.js ) este, de asemenea, luat în considerare un "limbaj de asamblare a web", o țintă de compilare a source-to-source pentru a face aplicații web pe partea de client, folosind alte limbaje de programare, susținută de toate browserele importante, fără plug-in-uri.
Acesta este, de asemenea, utilizat în server-side de programare de rețea cu medii de rulare, cum ar fi Node.js , dezvoltarea de jocuri și crearea de desktop și aplicații mobile.
JavaScript este clasificat ca un prototip bazat pe limbaj de scripting cu dinamica de dactilografiere și funcții de primă clasă .
Acest amestec de caracteristici face un multi-paradigmă limba, sprijinind orientat-obiect, imperativ și funcționale stiluri de programare.
În ciuda unor denumire, sintactică și biblioteca standard de similitudini, JavaScript și Java sunt altfel, nu au legătură și au foarte diferită semantica . Sintaxa JavaScript este, de fapt derivat din C , în timp ce semantica și design sunt influențate de auto și Schemalimbaje de programare.
JavaScript este, de asemenea, utilizat în medii care nu sunt bazate pe web, cum ar fi PDF documente, browser-site-specific , șiwidget-uri desktop . Mai nou și mai rapid JavaScript mașini virtuale (VMS) și platforme construite pe ele au crescut, de asemenea popularitatea de JavaScript pentru a server-side aplicații web .
Pe partea de client, JavaScript a fost implementat în mod tradițional ca o interpretare a limbii, dar browsere mai recente efectuează compilarea just-in-time . JavaScript a fost standardizat în ECMAScript caietul de sarcini limbă.
Cea mai comună utilizare a JavaScript este de a adăuga un comportament client-side la HTML pagini, aka HTML dinamic (DHTML). Scripturile sunt încorporate în/ sau incluse la HTML pagini și de a interacționa cu Document Object Model (DOM) a paginii. Unele exemple simple ale acestui utilizare sunt:
Încărcarea noului conținut al paginii sau transmiterea de date la server prin intermediul AJAX fără a reîncărca pagina (de exemplu, o rețea socială ar putea permite utilizatorului pentru a posta actualizări de stare, fără a părăsi pagina).
Animație de elemente de pagină, decolorare lor și în afară, redimensionarea lor, le muta, etc. Conținut interactiv, de exemplu, jocuri, precum și redarea audio și video
Validarea valorilor de intrare a unui formular Web pentru a vă asigura că acestea sunt acceptabile înainte de a fi depus la server.
Transmitere a informațiilor despre obiceiurile de lectură utilizatorului și activități de navigare la diferite site-uri web. Paginile web fac frecvent acest lucru pentru web analytics ,de urmărire anunț , personalizare sau în alte scopuri.
Deoarece codul JavaScript poate rula la nivel local în browser-ul unui utilizator (mai degrabă decât pe un server de la distanță), browser-ul poate răspunde la acțiunile utilizatorului rapid, făcând mai receptiv o cerere.
În plus, codul JavaScript poate detecta acțiunile utilizatorului care HTML singur nu poate, cum ar fi tastatura individuale. Aplicații, cum ar fi Gmail profită de acest lucru: o mare parte din logica interfață utilizator este scris în JavaScript, și JavaScript expedieri cereri de informații (cum ar fi conținutul unui mesaj e-mail) la server. Tendința largă de Ajax programare exploatează în mod similar această putere.
Un motor JavaScript (de asemenea, cunoscut sub numele de JavaScript interpret sau JavaScript punerea în aplicare ) este un interpret care interpretează JavaScript codul sursă și execută script-ul în consecință. Primul motor JavaScript a fost creat de către Brendan Eich de la Netscape Communications Corporation , pentru Netscape Navigator browser-ul web . Motor, cu numele de cod SpiderMonkey , este implementat în C.
Acesta a fost de atunci actualizat (în JavaScript 1.5) să se conformeze ECMA-262 Edition 3 Rhinomotor, creat în primul rând prin Norris Boyd (fosta de Netscape, acum la Google) este o implementare JavaScript în Java . Rhino, ca SpiderMonkey, este ECMA-262 Edition 3 conforme.
Un browser web este de departe mediul gazdă cele mai comune pentru JavaScript. Browsere web a creat în mod obișnuit "obiecte gazdă" pentru a reprezenta modelul Document Object (DOM) în JavaScript.
Serverul web este un alt mediu gazdă comun. Un server web JavaScript va expune de obicei obiecte gazdă reprezintă HTTP cerere și obiecte de răspuns, ceea ce un program de activarea JavaScript ar putea interoga apoi și manipula pentru a genera dinamic pagini web.
Deoarece JavaScript este singura limbă pe care cele mai populare browsere împărtășesc sprijin pentru, a devenit o limbă țintă pentru multe cadre în alte limbi, chiar dacă JavaScript nu a fost niciodata destinat să fie o astfel de limbă.
În ciuda performanțelor limitări inerente sale natura dinamică, viteza tot mai mare de motoare JavaScript a făcut limba o țintă compilație surprinzător fezabilă.
CAPITOLUL 3
PREGATIREA MEDIULUI DE LUCRU
3.1 Instalare Java Development Kit(JDK) (fig.3.1)
Fig.3.1. Java Development Kit(JDK)
Java Development Kit(JDK) este o implementare a oricărei dintre platformele Java SE , Java EE sau Java ME , lansat de Oracle Corportaion sub forma unui produs binar care vizează dezvoltatorii java din Solaris, Linux, Mac OS X sau Windows.
JDK include un JVM privat și alte câteva resurse pentru a putea crea orice aplicație java. Inițial a fost introdusă ca platforma java un kit pe nume Software Development Kit sau SDK care se folosea la o scară mai largă, la 17 noiembrie 2006 Sun a anunțat ca va lansa un soft gratuit SDK-ul sub licența GNU General Public License(GPL) dar acest lucru s-a întâmplat în 2007 când Sun a creat codul sursa pentru OpenJDK. Instalare JDK:[3.0]
Se descarcă software-ul accesând linkul:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
– Se dă dublu click pe versiunea descărcată:
– Click Next >:
Click Next >:
Alegeți destinația instalării dorită apoi click Next >:
Finalizare click Close:
3.2. Instalare NetBeans (fig.3.2.)
Fig.3.2. NetBeans
NetBeans este o platforma pentru dezvoltare software scris în Java. Platforma NetBeans permite aplicațiilor să se dezvolte dintr-un set de module software numite Module.
Aplicațiile bazate pe platforma Netbeans inclusiv Netbeans IDE pot fi folosite și de către dezvoltatori terți.
NetBeans IDE este destinat în principal pentru dezvoltare Java dar suportă de asemenea și alte limbi, în special PHP, C/C++ și HTML5.
NetBeans este Cross-Platform și rulează pe Microsoft Windows, Mac OS X, Linux, Solaris și alte platforme care suportă Java Virtual Machine JVM.[3.1]
Instalare:
– Se descarcă software-ul accesând linkul:
https://netbeans.org/
– Se dă click pe Download:
– Se selectează versiunea(de preferat versiunea All):
Asteptăm până se inițializează instalarea:
– Verificăm dacă sunt selectate toate opțiunile de care avem nevoie:
– Acceptați termenii și condițiile instalării și dați click pe Next>:
– Acceptați termenii și condițiile instalării JUnit:
– Alegeți destinația instalării și dați click Next>:
Alegeți destinația instalării Glassfish(ATENTIE!! Nu modificați denumirea fișierului Glassfish, acest lucru poate crea conflicte în interiorul serverului și ca urmare poate rezulta o eroare de compilare a aplicației) și dați click Next>:
Bifați verificarea pentru Update și apoi dați click Install:
Finalizarea instalării click Finish:
Deschidere și rulare Netbeans IDE
Deschideți NetBeans IDE și asteptați să se încarce.
După încarcare se va deschide o fereasta nouă cu NetBeans IDE unde vom da click pe File>New Project și apoi se va deschide o alta fereastră( fereastra New Project).
În fereastra New Project vom selecta tipul proiectului/aplicției dorite.
CAPITOLUL 4
DESCRIEREA APLICATIEI
4.1 Introducere
Aplicația poartă denumirea de E-Shopping(electronic shopping), este o aplicație web dezvoltată în NetBeans care folosește o bază de dată MySQL și rulează pe localhost și folosește ca server GlassFish.
Aplicația este destinată persoanelor care doresc să cumpere online produse electrice și electrocasnice fară a fi nevoie să se deplaseze până la magazin astfel economisind timp și bani.
În aplicație sunt oferite informații legate de denumirea produsului, cantitatea disponibilă, valoarea în Lei, categoria din care face parte produsul și are un buton de Buy pentru a putea cumpărătorul să achiziționeze produsul.
În interiorul aplicației se găsește și un buton de HOME și unul pentru logare (LOGIN) care pot fi folosite atât de administrator cât și de cumpărător logarea fiind necesară și admin-ului și vizitatorului pentru a putea modifica/adăuga/șterge produse și respectiv pentru a putea cumpăra.
4.2 Structura aplicației
Aplicația este structurată în 3 mari categorii:
– Categoria Web Pages
– Categoria Libraries
– Categoria Configuration Files
– Categoria Web Pages conține subcategoriile
– META-INF( META-INF.exe si context.xml), această subcategorie conține fișiere și directoare care sunt recunoscute și interpretate de către Platforma Java pentru a configura aplicații, extensii, încărcătoare și servicii de clasă.
– menu_assets( image, menu_assets.exe si style.css), în această subcategorie găsim toate fișierele care nu aparțin de NetBeans și sunt direct introduse de cel care crează aplicația. Fișierele care pot și introduse sunt imagini, sunete, efecte grafice, etc.
În interiorul Web Pages găsim următoarele clase:
– admin.jsp
Clasa admin.jsp se ocupă cu partea de modificare, adaugare și ștergere a produselor.
– buy.jsp
Clasa buy.jsp se ocupă cu partea de cumpărare produse respectiv cu butonul BUY din categoria ADD to Cart.
Modificările aduse sunt la sețtiunea Customer ID, Customer Name, Customer Phone, Customer Email, Customer Address și Product ID date care trebuie introduse pentru a putea cumpăra produsul.
– check.jsp
Clasa check.jsp se ocupă cu partea de verificarea conexiunii bazei de date MySQL folosind driverul com.mysql.jdbc.
Driver și conexiunea jdbc:mysql://localhost și verifică dacă user-ul și parola bazei de date MySQL sunt corecte.
– deleteRecord.jsp
Clasa deleteRecord.jsp se ocupă cu ștergerea unui anumit produs din lista de către administrator introducând doar id-ul produsului, dacă produsul există și este șters din lista cu succes atunci se va deschide o noua pagină și se va afișa:
„Data is deleted successfully.
You will be redirected to the Previous Page in 3 seconds…..”
– index.jsp
Clasa index.jsp se ocupă cu afișarea intrgii pagini din secțiunea HOME și cu partea de vizualizare a produselor.
– login.jsp
Clasa login.jsp se ocupă cu partea de logare utilizator, cumpărător, administrator.
– saveRecord.jsp
Clasa saveRecord.jsp se ocupă cu salvarea în lista de produse a aplicației un anumit produs care este adăugat și stocarea acestui produs pentru a putea fi vizualizat de orice utilizator/vizitator al aplicației.
Dacă salvarea a fost realizată cu succes atunci se va deschide o noua pagina și se va afișa:
„Data is saved successfully.
You will be redirected to the Previous Page in 3 seconds…..”
– updatOrder.jsp
Clasa updatOrder.jsp se ocupă cu înregistrarea sau adăugarea a noi clienți sau vizitatori completând următoarele categori: CustID, custName, CustEmail, CustAdress, ProductID, custPhone, values.
Dacă înregistrarea fost realizată cu succes atunci se va deschide o noua pagină și se va afișa:
„Ordered successfully. Thank YOU for Ordering and visiting Our Web site
You will be redirected to the Main Page in 3 seconds…..”
– updateRecord.jsp
Clasa updateRecord.jsp se ocupă cu modificarea produselor din lista de produse modificând una sau mai multe din urmatoarele categori: PruductName, ProductQuant, ProductCAT, ProductPrice. Dacă modificarea fost realizată cu succes atunci se va deschide o nouă pagină și se va afișa:
„Data is Updated successfully.
You will be redirected to the Previous Page in 3 seconds…..”
– Categoria Libraries conține driverul MySQL(mysql-connector-java-5.1.6.jar), dirverele pentru Java Development Kit(JDK 1.8) și driverele pentru serverul Glassfish.
Categoria Configuration Files conține fișiere generate automat de către NetBeans pentru a putea fi configurate ulterior de Dezvoltator.
4.3 Rularea aplicației
Aplicația rulează pe browserul web ales folosind serverul Glassfish . Pentru a putea rula aplicația trebuie să verificăm dacă suntem conectați la baza de date MySQL.
În NetBeans vom da click pe Service din bara de comenți vom selecta connect și vom conecta jdbc:mysql://localhost:3306/onlineshop [root on Default schema] la baza de date, pentru securitate MySQL va solicita parola de autentificare dupa care datele din SQL vor fi disponibile și se va putea trece la etapa urmatoare:
Dupa verificarea conexiunii la baza de date avem nevoie să pornim serverul Glassfish pentru ca aplicația să poată fi redată în web browser. Vom da click pe + din dreptul iconiței cu Servers, vom selecta Glassfish și vom da click pe start:
Dupa conectarea la serverul Glassfish vom da click pe Projects, selectăm aplicația, dăm click dreapta și run:
După ce încărcarea și compilarea aplicației s-a finalizat cu succes și primim mesaj de confirmare în acest sens, se va deschide în browser o pagina noua aplicată E-shopping:
Pe prima pagină se gasește categoria HOME unde afla toate produsele disponibile pentru cumpărare, imediat în dreapta lângă Home se află LOGIN unde se gasește secțiunea de logare a utilizatoriilor sau administratorului:
Pentru a putea cumpăra produse din lista trebuie sa ne autentificăm prin introducerea unor date personale și să introducem id-ul produsului(pentru Samsung galaxy S6 id-ul este 1):
Datele personale:
Ca administrator trebuie sa avem posibilitatea de a adăuga, modifica sau șterge anumite produse, acest lucru este posibil numai daca ne autentificăm ca administrator:
După autentificare putem adăuga, modifica sau șterge orice produs dorim:
Concluzii
După ce am studiat in detaliu posibilitatea de a putea cumpăra online am putut observa o mare schimbare în comportamentul oamenilor din multe maniere , cum ar fi atitudinea lor cu referire la modul în care fac cumpăraturile.
În trecut oamenii se foloseau de tradiționalul mod de a face cumpăraturi, dar cu timpul oamenii sau schimbat devind tot mai ocupați și nu aveau destul timp să se deplaseze până la magazin pentru a cumpăra ceva, datorată tehnologiei s-a produs o revoluție aceea fiind cumpărături online.
Am început să fac cercetări în domeniu și am observat că persoanele tinere, adică 15-30 de ani utilizează sau preferă cumpărături online, deoarece economisesc timp și energie.
Dar persoanele de varsta mijlocie nu preferă shoppingul online, deoarece aceștia au percepție greșită aceea că dacă vor cumpăra de pe internet nu vor primi produsul la calitatea specificată.
Și chiar unii oameni nu preferă nici folosirea cardului de credit. Dar cumpărăturile on-line au un mare viitor datorat avantajelor superioare cumarării tradiționale, dar pentru a avea succes este necesar să raspândim aceste informații cu privire la beneficiile sale .
Bibliografie
[2.0] -18.06.2015- http://www.scritub.com/stiinta/informatica/java/ELEMENTE-GENERALE-JAVA63892.php
[2.1] -18.06.2015- http://www.webinvent.ro/referate-web/comment-page-4/
[2.2] -18.06.2015- http://biblioteca.regielive.ro/cursuri/calculatoare/java-elemente-generale-automatica-inteligenta-artificiala-limbaje-de-programare-155.html?ref=doc1
[2.3] -18.06.2015- http://biblioteca.regielive.ro/cursuri/calculatoare/java-elemente-generale-automatica-inteligenta-artificiala-limbaje-de-programare-155.html
[2.4] -18.06.2015- http://www.scritub.com/stiinta/informatica/java/ELEMENTE-GENERALE-JAVA63892.php
[2.5] -18.06.2015- http://www.scritub.com/stiinta/informatica/java/ELEMENTE-GENERALE-JAVA63892.php
[2.6] -18.06.2015- http://ro.wikipedia.org/wiki/Servlet
[2.7] -18.06.2015- https://en.wikipedia.org/wiki/JavaServer_Faces
[2.8] -18.06.2015- https://en.wikipedia.org/wiki/JavaServer_Pages
[2.9] -18.06.2015- https://en.wikipedia.org/wiki/JavaScript
[3.0] -18.06.2015- https://en.wikipedia.org/wiki/Java_Development_Kit
[3.1] -18.06.2015- https://en.wikipedia.org/wiki/NetBeans
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Realizarea Aplicatiilor Web Utilizand Limbajul Java (ID: 123410)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
