Problème avec une fenêtre de connexion
Bonjour,
Je voudrais faire un petit programme, qui quand je fais la connexion avec l'admin, affiche sur le même page (où était la fenêtre de connexion) Bienvenue et un bouton déconnexion. Je ne sais pas comment le faire dans la même fenêtre.
En même temps je voudrais qu'après trois tentative de connexion (avec mauvais mot de passe ou mauvais identifiant) bloquer le possibilité de connexion pendant 10 minutes et afficher en dessous la fenêtre de connexion une message sur l'erreur.
Merci d'avance!!!
Code:
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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
package servlets;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
@WebServlet(name = "servlet04", urlPatterns = {"/servlet04"})
public class servlet04 extends HttpServlet {
private Cookie getCookie(Cookie[] cookies, String name){
if (cookies != null) {
for (Cookie cookie : cookies) {
if (cookie.getName().equals(name)) {
return cookie;
}
}
}
return null;
}
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet servlet04</title>");
out.println("</head>");
out.println("<body>");
String user;
String motdepasse;
out.println(
"<html>"+
"<head>"+
"<title></title>"+
"<meta http-equiv=\"Content-Type\"content=\"text/html; charset=UTF-8\">"+
"</head>"+
"<body>"+
"<form action=\"servlet04\" method=\"POST\">"+
"User: <input type=\"text\" name=\"user\" />"+
"<br><br>"+
"Mot de passe: <input type=\"password\" name=\"motdepasse\"/>"+
"<br><br>"+
"<input type=\"submit\" value=\"Ok\" name=\"doit\" />"+
"</form>"+
"</body>"+
"</html>");
int compteur = 0;
if (request.getParameter("user").equals("admin") && request.getParameter("motdepasse").equals("root")) {
// String destination ="servlet";
// response.sendRedirect(response.encodeRedirectURL(destination));
//response.sendRedirect("/servlets/servlet.java");
out.println("Bienvenu admin!");
out.println("<input type=\"submit\" value=\"Déconnexion\" name=\"doit\" />");
} else {
out.println("User et mot de passe invalide!");
compteur++;
if (compteur == 3) {
Cookie cc = new Cookie("LASTVISIT", new Date().toString());
cc.setMaxAge(60 * 10);
response.addCookie(cc);
out.println("Apès 3 tentatives, user et mot de passe invalide! Vous avez 10 minutes avant le prochain essai!");
out.println("LASTVISIT: " + cc.getValue());
}
}
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
}
} |