Bonjour,
J'ai un petit souci avec mon login. J'ai une formulaire de login, quand je clique sur le bouton "ok" sans préciser le login ou le mot de passe, le message bienvenue s'affiche quand même. Je n'arrive pas gérer ça. Qu'est-ce qu'il faudrait que je fasse? Merci bien pour votre aide!!!
Voici ma servlet:
@WebServlet("/controleur" )
public class controleur extends HttpServlet {
private Cookie getCookie(Cookie cookies[], String name) {
if (cookies != null) {
for (Cookie c : cookies) {
if (c.getName().equals(name)) {
return c;
}
}
}
return null;
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html;charset=UTF-8" );
HttpSession session = request.getSession();
String url = "/index.jsp";
beansLogin beansLogin = (beansLogin) session.getAttribute("beansLogin" );
if ("connexion".equalsIgnoreCase(request.getParameter("section" ))) {
System.out.println("connexion" );
if (null != request.getParameter(beansLogin.mdp)) {
beansLogin.mdp = request.getParameter("mdp" );
}
if (null != request.getParameter(beansLogin.login)) {
beansLogin.login = request.getParameter("login" );
}
if (null != request.getParameter(beansLogin.compagnie)) {
beansLogin.compagnie = request.getParameter("compagnie" );
}
url = "/WEB-INF/pages/bienvenue.jsp";
}
else {
System.out.println("erreur" );
String er = "login ou mot de passe invalide";
request.setAttribute("erreur", er);
}
if ("deconnexion".equals(request.getParameter("action" ))) {
System.out.println("déconnexion" );
if (request.getParameter("delogin" ) != null) {
System.out.println("déconnexion2" );
Cookie c = getCookie(request.getCookies(), "login" );
c.setMaxAge(0);
response.addCookie(c);
url = "/index.jsp";
}
}
if ("catalogue".equals(request.getParameter("section" )) == true) {
if (request.getParameter("cat" ) != null) {
url = "/WEB-INF/pages/catalogue.jsp";
}
}
getServletContext().getRequestDispatcher(url)
.forward(request, response);
}
}
et ma formulaire login:
<%@page import= "beans.beansLogin" %>
<% String er=(String)request.getAttribute("erreur" );
if(er==null) er="";
String log=request.getParameter("login" );
if(log==null) log="";
String mdp=request.getParameter("mdp" );
if(mdp==null) mdp="";
%>
<%@ 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">
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<form action="ctrl" method="get">
<input type="hidden" name="section" value="connexion" />
<legend>Se connecter</legend>
<table align="center">
<tr>
<td><label><strong>Login :</strong></label></td>
<td><input type="text" name="login" value="<%=log%>"/></td>
</tr>
<tr>
<td><label><strong>Mot de passe :</strong></label></td>
<td><input type="password" name="mdp" value="<%=mdp%>"/></td>
</tr>
<table align="center">
<tr>
<td><input type="submit" name="doIt" value="Ok"/></td>
</tr>
<tr>
<div class="er"></div><td><%=er%></td></div>
</tr>
</table>
</table>
</form>
</body>
</html>