Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
laboratoare:laborator05 [2015/11/20 02:17]
Andrei Roșu-Cojocaru
laboratoare:laborator05 [2015/11/25 20:00] (current)
Andrei Roșu-Cojocaru
Line 1282: Line 1282:
 Pentru fiecare funcționalitate există o pagină dedicată, gestionată de câte o clasă Java Servlet și de o pagină .jsp: pagina de autentificare (''​LoginServlet''​ / ''​login.jsp''​) de unde, în funcţie de rolul utilizatorului se trece la pagina de tip administrator (''​AdministratorServlet''​ / ''​administrator.jsp''​) respectiv pagina de tip client (''​ClientServlet''​ / ''​client.jsp''​). Pentru fiecare pagină, cererea primită din navigator este preluată de clasa servlet corespunzătoare,​ unde sunt realizate procesările ce țin de logica aplicației,​ inclusiv accesarea informațiilor din baza de date. Prezentarea informațiilor astfel obținute este delegată către pagina .jsp, către care se transferă contextul. Datele care se doresc a fi vizualizate sunt transmise dinspre servlet către pagina JSP sub formă de atribute. În acest mod se construiește răspunsul care va fi trimis către navigator. Pentru fiecare funcționalitate există o pagină dedicată, gestionată de câte o clasă Java Servlet și de o pagină .jsp: pagina de autentificare (''​LoginServlet''​ / ''​login.jsp''​) de unde, în funcţie de rolul utilizatorului se trece la pagina de tip administrator (''​AdministratorServlet''​ / ''​administrator.jsp''​) respectiv pagina de tip client (''​ClientServlet''​ / ''​client.jsp''​). Pentru fiecare pagină, cererea primită din navigator este preluată de clasa servlet corespunzătoare,​ unde sunt realizate procesările ce țin de logica aplicației,​ inclusiv accesarea informațiilor din baza de date. Prezentarea informațiilor astfel obținute este delegată către pagina .jsp, către care se transferă contextul. Datele care se doresc a fi vizualizate sunt transmise dinspre servlet către pagina JSP sub formă de atribute. În acest mod se construiește răspunsul care va fi trimis către navigator.
  
-{{ :​laboratoare:​laborator04:​bookstore_webapplication_structure.png?​nolink&​300 }}+{{ :​laboratoare:​laborator05:​bookstore_webapplication_structure.png?​nolink&​300 }}
  
 <​html>​ <​html>​
Line 1308: Line 1308:
     * ''​Constants.DISPLAY''​ - identificatorul utilizatorului autentificat în cadrul aplicației web (format din prenume și nume);     * ''​Constants.DISPLAY''​ - identificatorul utilizatorului autentificat în cadrul aplicației web (format din prenume și nume);
     * ''​Constants.BOOKS''​ - lista cărților care vor fi vizualizate,​ împreună cu toate atributele, în funcție de criteriile de filtrare care au fost precizate;     * ''​Constants.BOOKS''​ - lista cărților care vor fi vizualizate,​ împreună cu toate atributele, în funcție de criteriile de filtrare care au fost precizate;
-    * ''​Constants.ERROR_MESSAGE'​ - mesaj de eroare legat de procesarea coșului de cumpărături;​ +    * ''​Constants.ERROR_MESSAGE'' - mesaj de eroare legat de procesarea coșului de cumpărături;​ 
-    * ''​Constants.SHOPPING_CART'​ - conținutul coșului de cumpărături (identificatorul formatului de prezentare și cantitatea solicitată);​+    * ''​Constants.SHOPPING_CART'' - conținutul coșului de cumpărături (identificatorul formatului de prezentare și cantitatea solicitată);​
     * ''​Constants.FORMATS_FILTER''​ - lista cu criteriile de sortare în funcție de formatul de prezentare;     * ''​Constants.FORMATS_FILTER''​ - lista cu criteriile de sortare în funcție de formatul de prezentare;
     * ''​Constants.LANGUAGES_FILTER''​ - lista cu criteriile de sortare în funcție de limbă;     * ''​Constants.LANGUAGES_FILTER''​ - lista cu criteriile de sortare în funcție de limbă;
Line 1375: Line 1375:
 ==== Eclipse ==== ==== Eclipse ====
  
-Să se creeze o referinţă către serverul HTTP Apache Tomcat care să fie adăugată la proiectul ​05-BookStore-JSP. +Să se creeze o referinţă către serverul HTTP Apache Tomcat care să fie adăugată la proiectul ​04-BookStore-JavaServlets. 
  
 Să se deschidă proiectul folosind opţiunea //File// → //Import// → //General// → //Existing Project into Workspace..//​. Să se deschidă proiectul folosind opţiunea //File// → //Import// → //General// → //Existing Project into Workspace..//​.
  
-Se accesează opţiunea //Run as...// → //Run On Server// din meniul contextual al aplicaţiei ​05-BookStore-JSP (right-click),​ bifându-se opţiunea //Always use this server when running this project//.+Se accesează opţiunea //Run as...// → //Run On Server// din meniul contextual al aplicaţiei ​04-BookStore-JavaServlets ​(right-click),​ bifându-se opţiunea //Always use this server when running this project//.
  
 {{ :​laboratoare:​laborator04:​eclipse01.png?​nolink }} {{ :​laboratoare:​laborator04:​eclipse01.png?​nolink }}
Line 1385: Line 1385:
 {{ :​laboratoare:​laborator04:​eclipse02.png?​nolink }} {{ :​laboratoare:​laborator04:​eclipse02.png?​nolink }}
  
-{{ :​laboratoare:​laborator04:​eclipse03.png?​nolink }}+{{ :​laboratoare:​laborator05:​eclipse03.png?​nolink }}
  
 ==== NetBeans ==== ==== NetBeans ====
Line 1393: Line 1393:
 Se accesează opţiunea //Deploy// din meniul contextual al proiectului (accesat cu right-click). Se accesează opţiunea //Deploy// din meniul contextual al proiectului (accesat cu right-click).
  
-{{ :​laboratoare:​laborator04:​netbeans.png?nolink }}+{{ :​laboratoare:​laborator04:​netbeans01.png?nolink }}
  
 Alternativ, se poate porni serverul Apache Tomcat și dezvolta aplicația web în contextul său și prin opțiunea //Run// (F6), care va lansa și browser-ul implicit în care va fi prezentată pagina principală a aplicației web. Alternativ, se poate porni serverul Apache Tomcat și dezvolta aplicația web în contextul său și prin opțiunea //Run// (F6), care va lansa și browser-ul implicit în care va fi prezentată pagina principală a aplicației web.
Line 1405: Line 1405:
 org.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false org.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false
 </​file>​ </​file>​
 +
 +==== Eclipse ====
 +
 +Fișierul ''​catalina.properties''​ poate fi editat din mediul integrat de dezvoltare, în cazul în care sunt preluate informațiile din configurația de rulare specifică spațiului de lucru curent. În acest sens, în secțiunea //​Properties//​ asociată serverului Apache Tomcat 8.x (accesibilă prin intermediul meniului contextual, din panoul //​Servers//​),​ atributul //​Location//​ trebuie să refere metadatele din cadrul spațiului de lucru curent (având valoarea //​[workspace metadata]//​). În situația în care este precizată o altă valoare, se accesează butonul //Switch Location//.
 +
 +{{ :​laboratoare:​laborator04:​eclipse04.png?​nolink }}
 +
 +În panoul //Project Explorer//, în secțiunea //​Servers//,​ se editează fișierul ''​catalina.properties''​ corespunzător configurației de server Apache Tomcat 8.x pe care este rulată aplicația web.
 +
 +{{ :​laboratoare:​laborator04:​eclipse05.png?​nolink }}
 +
 +==== NetBeans ====
 +
 +Fișierul ''​catalina.properties''​ va fi editat manual, după ce se identifică locația la care este instalată instanța serverului Apache Tomcat 8.x pe care este rulată aplicația web. Aceasta poate fi determinată din secțiunea //Servers// corespunzătoare,​ în panoul //​Connection//,​ fiind referită prin atributul //Catalina Base//.
 +
 +{{ :​laboratoare:​laborator04:​netbeans02.png?​nolink }}
 +
 +===== =====
    
 **5.** Să se testeze aplicaţia prin accesarea adresei [[http://​localhost:​8080/​05-BookStore-JSP/​|]]. ​ **5.** Să se testeze aplicaţia prin accesarea adresei [[http://​localhost:​8080/​05-BookStore-JSP/​|]]. ​
Line 1598: Line 1616:
 ===== Soluții ===== ===== Soluții =====
  
-TODO+[[https://​github.com/​aipi2015/​Laborator05/​tree/​master/​solutions/​eclipse/​05-BookStore-JSP|Proiect Eclipse]]\\  
 +[[https://​github.com/​aipi2015/​Laborator05/​tree/​master/​solutions/​netbeans/​05-BookStore-JSP|Proiect NetBeans]]
laboratoare/laborator05.1447978662.txt.gz · Last modified: 2015/11/20 02:17 by Andrei Roșu-Cojocaru
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0