Téléchargez le fichier audiodescription : Partie 4, Chapitre 4
Vous trouverez sous la vidéo les codes source du cours. Pensez à répondre au quiz, accessible depuis la sidebar à droite.
Codes source
La servlet Test.java lit et écrit des cookies :
package com.octest.servlets;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
* Servlet implementation class Test
*/
@WebServlet("/Test")
public class Test extends HttpServlet {
private static final long serialVersionUID = 1L;
public Test() {
super();
// TODO Auto-generated constructor stub
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
if (cookie.getName().equals("prenom")) {
request.setAttribute("prenom", cookie.getValue());
}
}
}
this.getServletContext().getRequestDispatcher("/WEB-INF/bonjour.jsp").forward(request, response);
}
public void doPost( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException {
String nom = request.getParameter("nom");
String prenom = request.getParameter("prenom");
Cookie cookie = new Cookie("prenom", prenom);
cookie.setMaxAge(60 * 60 * 24 * 30);
response.addCookie(cookie);
this.getServletContext().getRequestDispatcher("/WEB-INF/bonjour.jsp").forward(request, response);
}
}
bonjour.jsp ne fait rien de particulièrement nouveau ici : il y a un formulaire pour envoyer des données à enregistrer sous forme de cookies et on affiche le contenu du cookie envoyé par le contrôleur s'il existe.
<%@ page pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Test</title>
</head>
<body>
<c:out value="${ prenom }" />
<form method="post" action="bonjour">
<p>
<label for="nom">Nom : </label>
<input type="text" name="nom" id="nom" />
</p>
<p>
<label for="prenom">Prénom : </label>
<input type="text" name="prenom" id="prenom" />
</p>
<input type="submit" />
</form>
</body>
</html>