This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
laboratoare:laborator08 [2014/12/08 06:22] Andrei Roșu-Cojocaru |
laboratoare:laborator08 [2015/01/12 12:49] (current) Andrei Roșu-Cojocaru |
||
|---|---|---|---|
| Line 17: | Line 17: | ||
| ===== Materiale Ajutătoare ====== | ===== Materiale Ajutătoare ====== | ||
| + | |||
| + | {{ :laboratoare:laborator08:aipi2014-lab08-slides.pdf }} | ||
| + | |||
| + | {{ :laboratoare:laborator08:aipi2014-lab08-slides-3pp.pdf }} | ||
| ===== Tehnologia JavaServer Pages - aspecte generale ===== | ===== Tehnologia JavaServer Pages - aspecte generale ===== | ||
| Line 606: | Line 610: | ||
| În afară de această metodă, mai trebuie implementate şi metodele ''init()'' şi ''destroy()''. | În afară de această metodă, mai trebuie implementate şi metodele ''init()'' şi ''destroy()''. | ||
| - | Asocierea dintre un filtru şi un Java Servlet sau pagină JSP precum şi ordinea execuţiei acestora este determinată din fişierul de configurare ''web.xml'' în care elementul ''<filter>'' indică numele filtrului, clasa asociată precum şi parametrii folosiţi la iniţializarea acestuia, iar elementul ''<filter-mapping>'' specifică asocierile (şi ordinea) dintre un filtru şi clasele Java Servlet respectiv paginile JSP. Ordinea în care sunt executate filtrele pentru un Java Servlet respectiv pagină JSP este aceeaşi cu cea în care acestea sunt mapate în fişierul de configurare ''web.xml''. Dacă se doreşte ca un filtru să fie asociat la mai multe resurse, se poate folosi masca %%''/*''%% în cadrul elementului ''<url-pattern>''. | + | Asocierea dintre un filtru şi un Java Servlet sau pagină JSP precum şi ordinea execuţiei acestora este determinată din fişierul de configurare ''web.xml'' în care elementul ''<filter>'' indică numele filtrului, clasa asociată precum şi parametrii folosiţi la iniţializarea acestuia, iar elementul ''<filter-mapping>'' specifică asocierile (şi ordinea) dintre un filtru şi clasele Java Servlet respectiv paginile JSP. Ordinea în care sunt executate filtrele pentru un Java Servlet respectiv pagină JSP este aceeaşi cu cea în care acestea sunt mapate în fişierul de configurare ''web.xml''. Dacă se doreşte ca un filtru să fie asociat la mai multe resurse, se poate folosi masca ''%%/*%%'' în cadrul elementului ''<url-pattern>''. |
| ==== Încărcarea unui fișier pe server ==== | ==== Încărcarea unui fișier pe server ==== | ||
| Line 842: | Line 846: | ||
| </code> | </code> | ||
| - | O expresie literală este evaluată la textul expresiei, care are tipul ''String'', fiind utilizată atunci când este necesară folosirea sintaxei rezervate ''${}'' sau ''#{}''. Dacă se doreşte folosirea şirului de caractere ''${expression}'' se pot folosi alternativele ''${'${'}expression}'' sau ''\${expression}'' (idem şi pentru expresii ''#{}''). O expresie literală nu foloseşte delimitatorii ''${}'' sau ''#{}''. | + | O expresie literală este evaluată la textul expresiei, care are tipul ''String'', fiind utilizată atunci când este necesară folosirea sintaxei rezervate ''${}'' sau ''#{}''. Dacă se doreşte folosirea şirului de caractere ''${expression}'' se pot folosi alternativele ''${'${'}expression'' sau ''\${expression}'' (idem şi pentru expresii ''#{}''). O expresie literală nu foloseşte delimitatorii ''${}'' sau ''#{}''. |
| Expresiile literale pot fi cu evaluare imediată sau cu evaluare leneşă şi pot fi atât expresii de tip valoare cât şi expresii de tip metodă. Momentul la care este evaluată o expresie depinde de contextul în care aceasta este utilizată. | Expresiile literale pot fi cu evaluare imediată sau cu evaluare leneşă şi pot fi atât expresii de tip valoare cât şi expresii de tip metodă. Momentul la care este evaluată o expresie depinde de contextul în care aceasta este utilizată. | ||
| Line 1028: | Line 1032: | ||
| | ''<sql:setDataSource>'' | creează un obiect ''DataSource'' adecvat numai operaţiilor de prototipare\\ \\ Atributele asociate etichetei sunt:\\ • ''driver'' – numele clasei corespunzătoare "driver"-ului JDBC care trebuie înregistrată;\\ • ''url'' – URL-ul pentru realizarea conexiunii la baza de date;\\ • ''user'' – numele de utilizator folosit în mecanismul de autentificare pentru baza de date;\\ • ''password'' – parola folosită în mecanismul de autentificare pentru baza de date;\\ • ''dataSource'' – baza de date pregătită anterior;\\ • ''var'' – denumirea variabilei care va reprezenta baza de date;\\ • ''scope'' – domeniul de vizibilitate al variabile care va reprezenta baza de date. <code java> | | ''<sql:setDataSource>'' | creează un obiect ''DataSource'' adecvat numai operaţiilor de prototipare\\ \\ Atributele asociate etichetei sunt:\\ • ''driver'' – numele clasei corespunzătoare "driver"-ului JDBC care trebuie înregistrată;\\ • ''url'' – URL-ul pentru realizarea conexiunii la baza de date;\\ • ''user'' – numele de utilizator folosit în mecanismul de autentificare pentru baza de date;\\ • ''password'' – parola folosită în mecanismul de autentificare pentru baza de date;\\ • ''dataSource'' – baza de date pregătită anterior;\\ • ''var'' – denumirea variabilei care va reprezenta baza de date;\\ • ''scope'' – domeniul de vizibilitate al variabile care va reprezenta baza de date. <code java> | ||
| - | <sql:setDataSource var="connection" url="${dataBaseConnection}" user="${dataBaseUser}" password="${dataBasePassword}" /> | + | <sql:setDataSource var="connection" url="${dataBaseConnection}" |
| + | user="${dataBaseUser}" password="${dataBasePassword}" /> | ||
| </code> | | </code> | | ||
| - | | ''<sql:query>'' | execută interogarea SQL de tip ''SELECT'' definită în cadrul corpului folosind atributul sql, reţinând rezultatul într-o variabilă având un anumit domeniu de vizibilitate\\ \\ Atributele asociate etichetei sunt:\\ • ''sql'' – comanda SQL care va fi executată (ar trebui să întoarcă un obiect de tip ''ResultSet'');\\ • ''dataSource'' – conexiunea la baza de date care va fi utilizată (suprascrie valoarea implicită);\\ • ''maxRows'' – numărul maxim de rezultate care vor fi stocate în cadrul variabilei;\\ • ''startRow'' – numărul înregistrării (din cadrul rezultatului) de la care va începe stocarea;\\ • ''var'' – denumirea variabilei care va reprezenta baza de date;\\ • ''scope'' – domeniul de vizibilitate al variabilei care va reprezenta baza de date. <code java> | + | | ''<sql:query>'' | execută interogarea SQL de tip ''SELECT'' definită în cadrul corpului folosind atributul sql, reţinând rezultatul într-o variabilă având un anumit domeniu de vizibilitate\\ \\ Atributele asociate etichetei sunt:\\ • ''sql'' – comanda SQL care va fi executată (ar trebui să întoarcă un obiect de tip ''ResultSet'');\\ • ''dataSource'' – conexiunea la baza de date care va fi utilizată (suprascrie valoarea implicită);\\ • ''maxRows'' – numărul maxim de rezultate care vor fi stocate în cadrul variabilei;\\ • ''startRow'' – numărul înregistrării (din cadrul rezultatului) de la care va începe stocarea;\\ • ''var'' – denumirea variabilei care va reține rezultatul;\\ • ''scope'' – domeniul de vizibilitate al variabilei care va reține rezultatul. <code java> |
| <sql:query sql="${myQuery}" var="result" /> | <sql:query sql="${myQuery}" var="result" /> | ||
| </code> | | </code> | | ||
| Line 1276: | Line 1281: | ||
| ===== Activitate de Laborator ===== | ===== Activitate de Laborator ===== | ||
| + | * {{ :laboratoare:laborator08:aipi2014-lab08-eclipseee.zip }} (proiect EclipseEE ) | ||
| + | |||
| + | * {{ :laboratoare:laborator08:aipi2014-lab08-netbeans.zip }} (proiect NetBeans ) | ||
| + | * {{ :laboratoare:laborator08:aipi2014-lab08-noide.zip }} (proiect NoIDE - fără mediu integrat de dezvoltare) | ||
| **1.** [**0 puncte**] Să se instaleze baza de date prin rularea script-ului ''Laborator08.sql''. | **1.** [**0 puncte**] Să se instaleze baza de date prin rularea script-ului ''Laborator08.sql''. | ||
| Line 1429: | Line 1438: | ||
| ===== Soluții ===== | ===== Soluții ===== | ||
| - | disponibile pe 15 decembrie 2014 | + | [[https://github.com/aipi2014/Laborator08/tree/master/EclipseEE/|Proiect EclipseEE]]\\ |
| + | [[https://github.com/aipi2014/Laborator08/tree/master/NetBeans/|Proiect NetBeans]] | ||