Bonjour

j'ai deux fichiers jsp et une servlet : form.jsp et hello.jsp et login.java

je veux que les données saisi dans le formulaire jsp passe a l'autre page jsp

form.jsp

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
      // Récupération du message d'erreur 
      String erreur = (String) request.getAttribute("erreur");
      // Affichage du message s'il existe
      if (erreur != null) { %>
            <strong>Erreur : </strong>
      <%
      } %>
<form method="post" action="hello.jsp">
 Login : <input name="login" type="text" /><br><br>
 Mot de passe : <input name="password" type="password" />
 <input name="Valider" type="submit" />
 
</form>
</body>
</html>

hello.jsp

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
Bonjour !
 
 
      <%
            String login = (String) request.getAttribute("login");
            String password = (String) request.getAttribute("password");
      %>
 
 
<h2>Bonjour  ! <%out.print(request.getParameter(login)); %></h2>
 
 
<hr />
 
      Vous avez tapé le mot de passe : <% out.print(request.getParameter(password)); %>
 
</body>
</html>
login.java

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
public class Login extends HttpServlet {
      private static final long serialVersionUID = 1L;
 
      public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      }
 
      public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // Récupérer les données reçues du formulaire
            String loginEntered = (String) request.getParameter("login");
            String passwordEntered = (String) request.getParameter("password");
 
            // Si l'un des champs est vide
            if ("".equals(loginEntered) || "".equals(passwordEntered)) {
                  request.setAttribute("erreur", "Vous devez remplir les deux champs.");
                  // Redirection vers le formulaire form.jsp
                  getServletContext().getRequestDispatcher("/form.jsp")
                             .forward(request, response);
            }
 
            // Sinon
            else {
                  request.setAttribute("login", loginEntered);
                  request.setAttribute("password", passwordEntered);
                  // Redirection vers la page hello.jsp
                  getServletContext().getRequestDispatcher("/hello.jsp")
                             .forward(request, response);
            }
      }
}
lorsque j'execute il m'affiche null pour les deux variables saisies