Sunteți pe pagina 1din 8

1. Structura aplicatiilor distribuite (par. 1.3 din curs) in Java EE.

Logica aplicatiei este impartita in diverse componente bazate pe functia acestora. Fiecare componenta
JAVA EE care face parte dintr-o aplicatie pot fii instantiate pe masini diferite daca fac parte din acelasi
nivel.
Exista 4 tier-uri (niveluri):

Client tier
Aplicatia client
pagini DHTML
Appleturi
Web Tier
servlet
JSP
JSF
Business tier
entity ejb
msg ejb
session ejb
EIS tier
sursa de date
2. Tipuri de containere in Java EE (par. 1.9.2).

Java EE server
partea de runtime pentru Java EE
Enterprise JavaBeans (EJB) container
Manager pentru executia enterprise beans
Ruleaza pe Java EE Server
Web container
Manager pentru executia paginilor JSP si componentelor servlet
Ruleaza pe Java EE Server
Application client container
Manager pentru executia aplicatiei clinetului
Ruleaza pe Client
Applet Container
Manager pentru executia applet-urilor
Ruleaza pe Client
3. Tehnologia Java Server Faces (par. 1.11.5).
Tehnologia JavaServer Faces este o interfata cu utilizatorul cadrul pentru construirea aplicatiilor web.
Principalele componente ale tehnologiei JavaServer Faces sunt dup cum urmeaz:
O componenta cadru GUI
Un model flexibil de randare in diferite tipuri de HTML sau diferite limbaje de markup si tehnologii.
O RenderKit standard pentru generarea HTML/4.01 markup.
Urmtoarele functii suporta componentele GUI:
Intrare de validare
Eveniment de manipulare
conversie de date ntre obiecte model i componente
Gestionat modelului de obiecte create
Pagina de navigare de configurare

Toate aceast funcionalitate este disponibil prin intermediul API-urile standard de Java si XML pe baz
de fiiere de configurare.
4. Structura unei cereri (request) HTTP.

Linie Initiala : GET specificatie /HTTP/1.1 unde GET-comanda, specificatie - URL, /HTTP/1.1 versiunea de HTTP
Linia header - contine un fel de prop, obligatoriu HOST, alte: CONTEXT-TYPE : text/html
Continutul mesajului - un si de bytes
5. Structura unui raspuns (response) HTTP.

Linie Initiala : /HTTP/1.1 status cod , unde /HTTP/1.1 - versiunea de HTTP, iar status cod - poate
fi de de ex page not found
6. Listati cele opt comenzi (metode) HTTP.
GET
HEAD
POST
CONNECT
DELETE
OPTIONS
PUT
TRACE
7. Listati cele 5 categorii de coduri (plus valoarea lor) de stare HTTP.
1XX informative
2XX - indica succesul
3XX - coduri de redirectionare
4XX - eroare client
5XX - eroare server
8. Care este diferenta dintre metodele HTTP HEAD si GET?
Comanda HEAD este identical cu GET cu o singura exceptie, aceea ca raspunsul nu trebuie sa aiba
body. Toata informatia necesara este returnata in sectiunea header a raspunsului.
9. Scrieti codul pentru un element <SELECT> cu cinci optiuni, a 4-a fiind cea selectata.
<.SELECT name=Numele size=marimea .>
<OPTION.>Nr 1<./OPTION.>
<OPTION.>Nr 2<./OPTION.>
<OPTION.>Nr 3<./OPTION.>

;<.OPTION SELECTED.>Nr 4<./OPTION.>


<OPTION.>Nr 5<./OPTION.>
<./SELECT.>
--- fara puncte
10. Care sint atributele obligatorii pentru elementul <FORM> si ce reprezinta?
<.FORM method=POST/GET action=URL .>
11. Listati tipurile posibile ale elementului HTML <INPUT>.
button
checkbox
color
date
datetime
datetime-local
email
file
hidden
image
month
number
password
radio
range
reset
search
submit
tel
text
time
url
week
12. Scrieti codul HTML pentru o tabela cu 2 linii si 3 coloane, cu prima celula extinsa pe 2 linii si ultima
celula extinsa pe 2 coloane.
<html>
<head>
<title>Tabela</title>
</head>
<body> <table border="1"> <tr> <td> <table border="1">
<tr> <td>&nbsp</td> </tr> <tr> <td>&nbsp</td> </tr> </table> </td> <td>&nbsp</td> <td>&nbsp</td>
</tr>
<tr> <td>&nbsp</td> <td>&nbsp</td> <td> <table border="1"> <tr> <td>&nbsp</td> <td>&nbsp</td>
</tr>
</td> </tr>
</table>
</body>

</html>
13. Enumerati tipurile si dati exemple de cod pentru pop-up boxes in JavaScript.
a) alert Box
-este utilizata cand se doreste sa se asigure receptionarea unei informatii de catre utilizator. Cand se
iveste un alert box, utilizatorul va trebui sa faca click "ok" pentru a continua.
Sintaxa: alert("sometext")
b)confirm Box
-este utilizata daca se doreste ca utilizatorul sa verifice sau sa accepte ceva. Cand apare un confirm box,
utilizatorul va trebui sa faca click fie pe "ok" fie pe"Cancel" pentru a continua. Daca utilizatorul apasa
"Ok", box-ul va returna true. In cazul in care apasa "Cancel", box-ul va returna false.
Sintaxa: confirm("sometext")
c)prompt box
-utilizat daca se doreste ca utilizatorul sa introduca o valoare inainte de a intra pe o pagina. Cand apare
un prompt box, utilizatorul va trebui sa apese "ok" sau "Cancel"pentru a continua dupa ce a introdus
valoarea. Daca utilizatorul apasa "ok" box-ul va returna valoarea input(introdusa), daca apasa "cancel"
box-ul va returna null
Sintaxa: prompt("sometext","defaultvalue")
14. Precizati unele obiecte (minimum 6) din ierarhia JavaScript a obiectelor atasate browser-elor precum
si relatia dintre ele (continere)(par. 5.10).
15. Specificati obiectele predefinite ale limbajului JavaScript.
a) Obiectul de tip String b) Obiectul de tip Date c) Obiectul de tip Array
d) Obiectul de tip Number e) Obiectul de tip Boolean f) Obiectul de tip Math
16. Scrieti codul de creare al unui obiect de tip XMLHttpRequest (pentru IE si Mozilla).
if (window.XMLHttpRequest) Object of the current windows
{
request = new XMLHttpRequest(); Firefox, Safari, ...
}
else if (window.ActiveXObject) ActiveX version {
request = new ActiveXObject("Microsoft.XMLHTTP");
Second step: wait for the response IE
}
17. Scrieti codul de conectare si trimitere a unei cereri de tip POST printr-un XMLHttpRequest object.
18. Scrieti (in JavaScript) codul de validare al unui nr de telefon al unei persoane fizice din RO (acoperiti
variantele de la 369110 la +40-256-369-110) (se admite +40 si '-' ca delimitator de blocuri de 3 cifre)
<script type="text/javascript">
function numere(e){
var unicode=e.charCode? e.charCode : e.keyCode
if (unicode!=8){ //daca tasta apasata nu e backspace

if (unicode<48||unicode>57) //si nu e nici numar


return false //nu se poate apasa
}
}
function limitarelungime(obj, length){
var lungime=length
if (obj.value.length>lungime)
obj.value=obj.value.substring(0, lungime)
}
</script>
introduceti numarul de telefon (lungimea maxima e de 10 de caractere):
<form>
<textarea onkeypress="return numere(event)" onkeyup="return limitarelungime(this, 10)"
style="width: 300px; height: 25px"></textarea>
</form>
19. Scrieti (in JavaScript) codul de validare al datei in format ZZ.LL.YYYY (ziua si luna pot avea o singura
cifra, nu se admit alti delimitatori decit '.')
20. Precizati structura de directori (si fisiere obligatorii) a unei aplicatii web.
O aplicaie web este format din 4 parti:
1. un registru public - cu un coninut HTML, fiierele JSP i a altor resurse publice. Acesta este directorul
rdcin al cererii.
2. un fiier WEB-INF/web.xml - descriptor de desfurare.
3. WEB-INF/classes directory.
4. WEB-INF/lib directory
21. Precizati metodele declarate de interfata Servlet.
Interfata Servlet este o parte din pachetul javax.servlet. Ea declara urmatoarele metode:
public void init(ServletConfig config) throws ServletException;
public void service(ServletRequest req, ServletResponse resp) throws
ServletException, IOException;
public void destroy() throws ServletException;
public ServletConfig getServletConfig();
public String getServletInfo();

22. Care sint exceptiile declarate in pachetul javax.servlet?


Servletul Java API specifica 2 tipuri de exceptii servlet:
javax.servlet.ServletException
javax.servlet.UnavailableException
Clasa ServletException extinde java.lang.Exception si poate fi aruncata de metodele implementarilor
interfetei init(), service(), doXXX() si destroy()
UnavailableException indica container-ului web ca instanta servlet-ului nu este disponibila. Ea de
asemenea extinde clasa java.lang.Exception
23. Precizati (cu ceva detalii) etapele din ciclul vietii unui servlet.
n general, un exemplu servlet parcurge urmtoarele etape:
instantiation
initialization
service
destroy
unavailable
24. Ce metoda a interfetei ServletRequest permite accesarea unui anumit parametru al unei cereri
HTTP? (9.9)
public String getParameter(String name)
25. Ce metoda a interfetei ServletRequest permite listarea tuturor parametrilor unei cereri?
public String[] getParameterValues()
26. Clasa ce implementeaza servletul cu alias-ul "Enroll" este "com.bank11.ccards.servlets.EnrollServlet".
Cum arata codul ce stabileste legatura dintre alias si clasa si in ce fisier de tip xml e acest cod?
web.xml
<servlet>
<servlet-name>Enroll</servlet-name>
<servlet-class>com.bank11.ccards.servlets.EnrollServlet </servlet-class>
</servlet>
27. Tipuri de drivere JDBC. Care este cel mai eficient?
1. Bridge JDBC-ODBC
2. Driver cu o parte nativa si o parte Java
3. Driver cu un server de acces intermediar la baza de date
4. Drivere pur Java

Cele mai eficiente sunt driverele pur Java pentru ca driverul JDBC acceseaza direct baza de date far a un
alt nivel intermediar.
28. Scrieti (intr-un bloc try{}) codul (complet, cu importuri si declaratii de variabile) de incarcare al
driverului JDBC "oracle.jdbc.driver.Oracle.Driver".
import java.sql.*;
import java.util.*;
try
{
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
} catch (Exception e) {
// driver not found
e.printStackTrace();
}
29. Scrieti (intr-un bloc try{}) codul de creare al unei conexiuni DB pentru connection URL
"jdbc:mysql://localhost:3306/ccards".
try
{
String connURL = "jdbc:mysql://localhost:3306/ccards";
Connection conn = DriverManager.getConnection(connURL);
} catch (Exception e) {
e.printStackTrace();
}
30. Ce metode ale interfetei Connection permit crearea de obiecte de tip Statement, PreparedStatement
sau CallableStatement?
Statement createStatement() throws SQLException
Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException
Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)
PreparedStatement prepareStatement(String sql)
throws SQLException
CallableStatement prepareCall(String sql)
throws SQLException
31. Presupunind ca avem deja o conexiune numita "conn01" cu baza de date "ccards", scrieti (utilizind o
interfata Statement) codul de listare a coloanelor firstName, lastName, custID din tabela CUSTOMERS,
toate articolele.
protected void processRequest(HttpServletRequest req, HttpServletResponse resp) throws
ServletException, java.io.IOException { String theCode = req.getParameter(CODE);
String sql = SELECT firstName, lastName, custID from
CUSTOMERS;
try {
Statement stmt = conn.getStatement();
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()) {
String firstName = rs.getString(firstName);
String lastName = rs.getString(lastName);
BigDecimal custID = rs.getBigDecimal(custID);
}

} catch (SQLException sqle) {


sqle.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
32. Presupunind ca avem deja o conexiune numita "conn02" cu o baza de date, scrieti (utilizind o interfata
Statement) codul de inserare a unui articol cu 3 coloane (firstName, lastName, custID) in tabela
CUSTOMERS.
try{
Statement stmt = conn02.createStatement();
String sql = INSERT INTO
CUSTOMER(firstName,lastName,custID)
VALUES (Nicu, Bucalaete, 1983);
stmt.executeUpdate(sql);
}catch (Exception e) {
e.printStackTrace();
}
33. Scrieti codul echivalent, dar utilizati un PreparedStatement.
try{
String sql=INSERT INTO
USTOMER(firstName,lastName,custID)
VALUES (?,?,?);
PreparedStatement ps = conn01.prepareStatement(sql);
ps.setString(1, Nicu);
ps.setString(2, Bucalaete);
ps.setInt(3, 1983);
ps.executeUpdate();
}
catch (Exception e) {
e.printStackTrace();
}

S-ar putea să vă placă și