TD N° 1 Citer 3 méthodes HTTP autres que GET et POST : PUT

publicité
TD N° 1
Q1.Citer 3 méthodes HTTP autres que GET et POST :

PUT : ajout ou remplace une ressource sur le serveur

DELETE : suppression d’une ressource du serveur

HEAD : Cette méthode permet d’envoyer des informations d’en-tête d’une ressource, sans demander le corps de la
ressource.
Q2.Quel est le nom du Header HTTP qui identifie le navigateur du client :

User-agent : Chaîne donnant des informations sur le client, comme le nom et la version du navigateur, du
système d'exploitation
Q3.Quelle est la superclasse d'un Filtre HTTP :

Un filtre http n’a pas de superclasse mais il doit implémenter l’interface javax.servlet.Filter
Q4. Quelle est la superclasse d'un "custom tag" :

javax.servlet.jsp.tagext.TagSupport
Q5.Quel est l’étendu par défaut (le scope) d’un JavaBean référencé par une page JSP ?

Page ( <jsp:usebean id="name" class="paquetage.class" scope="page|request|session|application"/>)
Q6.Citer 4 autres classes du framework Struts autres que ActionServlet et Action :
Q7.Citer deux tags lib que JSF 1.2 offre :
 <%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
 <%@ taglib prefix="h" uri=http://java.sun.com/jsf/html %>
Q8.Quelle est la différence entre un forward et un redirect d’une requête dans le cadre des applications web Java


Forward : La requête ne meurt pas et redirigé vers une autres page (le navigateur ne constate rien et l’URL
demeure intact.)
Redirect : la requete meurt et uen nouvelle requete est générer (Les objets placés dans le scope du request
original ne sont pas disponible dans le second request)
Q9. Comment déclare-t-on les datasources des bases de données utilisées par une application web ?
Q10.

Q11.
Où déclare-t-on les contraintes de sécurité d'accès aux ressources d'un site :
Au niveau du fichier web.xml par la balise <security-constraint>
Les noms d'objets implicites JSTL sont ils les mêmes que ceux de JSP ? NON
Choisir 4 objets implicites JSP et donner leur équivalent JSTL :
JSP
JSTL
request
requestScope
session
sessionScope
application
applicationScope
context
pageContext
Page : 1/1
Q12.
Expliquer l'effet des deux instructions suivantes :
1. HttpSession maSession = request.getSession(true);
o Rend la session courante ou une nouvelle session qui sera créé.
2. HttpSession maSession = request.getSession(false);
o Rend la session courante ou null.
Par defaut : false.
Q13. Pourquoi, à votre avis, le standard J2EE n’oblige pas à déclarer les pages JSP dans le descripteur de
déploiement web.xml alors qu’il l’exige avec les Servlets ?
 JSP et Servlet répondent à deux modèles de composantes differentes :
o La Servlet doit être instancié au démarrage de l’application
o La page JSP on peut l’appeler au cours de l’application.
Soit la capture suivante d’un dialogue http provenant d’un client et allant vers un serveur ?
Client -> Serveur
GET /IWD6I/personnes$.startup HTTP/1.1
Accept: application/vnd.ms-excel, application/msword, application/vnd.mspowerpoint, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
Accept-Language: fr
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0)
Host: insat.rnu.tn:80
Connection: Keep-Alive
Q14.
Ce pacquet de données HTTP contient-il un Header ? : OUI
Contient-il un Body ? NON
Quelle est la méthode Java (API des servlets) qui permet de récupérer le User-Agent ? :
 Request.getHeader("User-Agent")
Quelle est la méthode Java (API des servlets) qui permet de récupérer le Host ? :
 ?????????????,
Q15. Donner la séquence d'instructions JSP permettant de récupérer les informations provenant d'un champ de
formulaire du type SELECT et ayant l'attribut Multiple positionné à Yes?

String [ ] res = request.getParameterValues("nom du champs");
Quel est le nom du package java à importer au cas où l'on désirerait développer des "Custom tags"

Q16.
javax.servlet.jsp.tagext
Les descripteurs TLD d'une web-app doivent être déployés dans :

Le repertoire « web-inf »
Les JAR référencés dans les TLD doivent être déployés dans :

Le repertoire « /WEB-INF/lib/ »
Page : 2/1
Q17.
Ré-écrire la page suivante en exploitant les extentions JSTL :
<%@ page import="java.util.ArrayList" %>
<%
ArrayList erreurs=(ArrayList)request.getAttribute("erreurs");
String urlRetour=(String)request.getAttribute("urlRetour");%>
<html>
<head>
<body>
<title>Personne</title></head>
<h2>Les erreurs suivantes se sont produites</h2>
<ul>
<% for(int i=0;i<erreurs.size();i++){
out.println("<li>" + (String) erreurs.get(i) + "</li>\n");
}
%>
</ul><br><a href="<%= urlRetour %>">Retour au formulaire</a>
</body>
</html>
 En JSTL :
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<body>
<title>Personne</title></head>
<h2>Les erreurs suivantes se sont produites</h2>
<ul>
<c:forEach var="erreur" items="${requestScope.erreurs}" >
<li> <c:out value="${erreur}" /> </li>
</c:forEach>
</ul><br>
<a href="${requestScope.urlRetour}">Retour au formulaire </a>
</body>
</html>
Page : 3/1
Téléchargement