Vous êtes sur la page 1sur 27

Université M’hamed Bougara – Boumerdes

Faculté des sciences


Département Informatique

Conception des Applications Web Avancées

Présenté par :
SALHI.D
Les Servlets

lundi 17 juin 2019 SALHI.D 2


Les Servlets
Rappel

Cycle de vie

- Init()
- Service()
- doPpost() où doGet()
- Destroy()

lundi 17 juin 2019 SALHI.D 3


Les Servlets

Deux méthodes principales: GET et POST

lundi 17 juin 2019 SALHI.D 4


Les Servlets
import java.io.* ;
import javax.servlet.* ;
import javax.servlet.http.* ;

public Bonjour extends HttpServlet {


public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException {
response.setContentType("text/html") ;
PrintWriter out = response.getWriter()
out.println("<html><head>") ;
out.println("<title>Bonjour le monde !</title></head>") ;
out.println("<body>") ;
out.println("<h1>Bonjour le monde !</h1>") ;
out.println("</body></html>") ;
}
}

lundi 17 juin 2019 SALHI.D 5


Les Servlets
Exemple d’extraction des informations HTTP

lundi 17 juin 2019 SALHI.D 6


Les Servlets
Exemple d’extraction des informations HTTP

lundi 17 juin 2019 SALHI.D 7


Les Servlets
Passer des paramètres dans un URL

Page 1 passe de numéros


comme paramètres pour
faire une somme et afficher
les résultats dans page2

Page 1 (servlet) Page 2 (servlet)

<a href= ‘’page2?num1=2&num2=20’’> cliquer ici pour faire la somme </a>

lundi 17 juin 2019 SALHI.D 8


Les Servlets
Passer des paramètres dans un URL

lundi 17 juin 2019 SALHI.D 9


Les Servlets
Passer des paramètres dans un URL

lundi 17 juin 2019 SALHI.D 10


Les Servlets
Formulaire GET

<form action="LogServlet" method="GET">

Login: <input type="text" name="param1"/><br/>


Mot de passe: <input type="password" name="param2"/><br/>

<input type="submit" value="Valider"/>

</form>

lundi 17 juin 2019 SALHI.D 11


Les Servlets
Formulaire GET

lundi 17 juin 2019 SALHI.D 12


Les Servlets
La méthode POST
Une requête POST n'est utilisable qu'avec un formulaire HTML.

<form action="LogServlet" method="POST">

Login: <input type="text" name="param1"/><br/>


Mot de passe: <input type="password" name="param2"/><br/>

<input type="submit" value="Valider"/>

</form>

lundi 17 juin 2019 SALHI.D 13


Les Servlets
La méthode POST

lundi 17 juin 2019 SALHI.D 14


Les Servlets
La redirection sendRedirect ()

La méthode sendRedirect () de l'interface HttpServletResponse peut être utilisée


pour rediriger la réponse vers une autre ressource, elle peut être servlet, jsp ou
html.

Il accepte l'URL relative ainsi que l'URL absolue.

Il fonctionne côté client car il utilise la barre url du navigateur pour faire une autre
demande. Ainsi, il peut fonctionner à l'intérieur et à l'extérieur du serveur.

lundi 17 juin 2019 SALHI.D 15


Les Servlets
La redirection sendRedirect ()

lundi 17 juin 2019 SALHI.D 16


Les Servlets
La redirection sendRedirect ()

lundi 17 juin 2019 SALHI.D 17


Les Servlets
La redirection sendRedirect ()

lundi 17 juin 2019 SALHI.D 18


Les Servlets
RequestDispatcher interface

Elle a deux méthodes principales


1. Forward
2. Include

lundi 17 juin 2019 SALHI.D 19


Les Servlets
1. Forward

RequestDispatcher rd=request.getRequestDispatcher("servlet2");

rd.forward(request, response);

lundi 17 juin 2019 SALHI.D 20


Les Servlets
1. Include

RequestDispatcher rd=request.getRequestDispatcher("servlet2");

rd.include(request, response);

lundi 17 juin 2019 SALHI.D 21


Les Servlets
Exemple

lundi 17 juin 2019 SALHI.D 22


Les Servlets
Exemple

Index.html

<form action="servlet1" method="post">


Name:<input type="text" name="userName"/><br/>
Password:<input type="password" name="userPass"/><br/>
<input type="submit" value="login"/>
</form>

lundi 17 juin 2019 SALHI.D 23


Les Servlets
Exemple
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html");
PrintWriter p = response.getWriter();

String n=request.getParameter("userName");
String pwd=request.getParameter("userPass");

if(pwd.equals("servlet"){
RequestDispatcher rd=request.getRequestDispatcher("servlet2");
rd.forward(request, response);
}
else{
p.print("Sorry UserName or Password Error!");
RequestDispatcher rd=request.getRequestDispatcher("/index.html");
rd.include(request, response);
}
}
lundi 17 juin 2019 SALHI.D 24
Les Servlets
La définition des types setContentType

lundi 17 juin 2019 SALHI.D 25


Les Servlets
La définition des types setContentType

lundi 17 juin 2019 SALHI.D 26


Merci pour votre attention

lundi 17 juin 2019 SALHI.D 27

Vous aimerez peut-être aussi