[] Re: [[nbdiscuss-fr]] Servlet introuvable...
Didier Fradet <[email protected]> Sun, 28 Mar 2010 10:04:08 +0200
| Newsgroups | gmane.comp.java.netbeans.general.french |
|---|---|
| Message-ID | <[email protected]> |
--Apple-Mail-4--601527644
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
charset=iso-8859-1
Bonjour,
Dans la page html qui contient le formulaire, essaie avec <form =
action=3D"./authentificationclient" method=3D"post"> =E0 la place de =
<form action=3D"authentificationclient" method=3D"post">
Cordialement,
Le 27 mars 2010 =E0 21:36, Jacques PIOTROWSKI a =E9crit :
> Bonjour,
>=20
>=20
> je bouquine en ce moment le livre "Java EE" de J=E9r=F4me Lafosse =
(ENI) et j'essaie de faire fonctionner un exemple d'authentification, =
mais =E7a ne marche pas,
> la servlet n'est pas trouv=E9e :
>=20
> Firefox ne peut trouver le fichier =E0 l'adresse =
/Users/jacquespiotrowski/NetBeansProjects/WebAuthentification/authentifica=
tionclient.
>=20
> Voici les codes sources. Si quelqu'un =E0 une id=E9e...
>=20
> 1) la page HTML avec son formulaire
>=20
> <!--
> Document : authentification
> Created on : 25 mars 2010, 21:03:32
> Author : jacquespiotrowski
> -->
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
> <html>
> <head>
> <title>Authentification Client</title>
> <meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3DUTF-8">
> </head>
> <body>
> <center>
> <h1>Authentification Client</h1>
> <form action=3D"authentificationclient" method=3D"post">
> <table border=3D"1" cellspacing=3D"0" cellpadding=3D"5">=
> <tr>
> <td>Identifiant</td>
> <td><input type=3D"text" name=3D"identifiant" =
id=3D"identifiant" size=3D"20" maxlength=3D"20" value=3D""></td>
> </tr>
> <tr>
> <td>Mot de passe</td>
> <td><input type=3D"password" name=3D"motdepasse"=
id=3D"motdepasse" size=3D"20" maxlength=3D"20" value=3D""></td>
> </tr>
> <tr>
> <td colspan=3D"2" align=3D"center">
> <input type=3D"submit" name=3D"valider" =
id=3D"valider" value=3D"Valider">
> </td>
> </tr>
> </table>
> </form>
> </center>
> </body>
> </html>
>=20
> 2) la Servlet:
>=20
> /*
> * Document : ServletAuthentification
> * Created on : 25 mars 2010, 21:03:32
> Author : jacquespiotrowski
> */
> package betaboutique.servlets.client;
>=20
> import java.io.IOException;
> import java.util.ArrayList;
>=20
> import javax.servlet.ServletConfig;
> import javax.servlet.ServletContext;
> import javax.servlet.ServletException;
>=20
> import javax.servlet.http.HttpServlet;
> import javax.servlet.http.HttpServletRequest;
> import javax.servlet.http.HttpServletResponse;
>=20
> import betaboutique.javabean.Client;
>=20
> public class ServletAuthentification extends HttpServlet {
>=20
> String ident =3D null;
> String mdp =3D null;
> String emailadministrateur =3D null;
> String urlAuthentification =3D null;
> String urlErreurs =3D null;
> String urlBienvenue =3D null;
>=20
> public void init() {
>=20
> // preparer la lecture des informations de configutaion de la =
servlet
> ServletConfig config =3D getServletConfig();
>=20
> // lire les parametres d'initialisation dans "web.xml"
> ident =3D (String) =
config.getInitParameter("defautIdentifiant");
> mdp =3D (String) config.getInitParameter("defautMotDePasse");
>=20
> // lire les routes
> urlAuthentification =3D (String) =
config.getInitParameter("urlAuthentification");
> urlErreurs =3D (String) config.getInitParameter("urlErreurs");
> urlBienvenue =3D (String) =
config.getInitParameter("urlBienvenue");
>=20
> }
>=20
> public void doGet(HttpServletRequest request, HttpServletResponse =
response)
> throws ServletException, IOException {
>=20
> // lire les donnees saisies dans le formulaire
> String identifiant =3D request.getParameter("identifiant");
> String motdepasse =3D request.getParameter("motdepasse");
>=20
> // declarer le tableau des erreurs liees au controle de saisie
> ArrayList<String> erreursParametres =3D new =
ArrayList<String>();
>=20
> // pas d'identifiant : retour sur la page d'authentification
> if (identifiant =3D=3D null) {
> if (urlAuthentification =3D=3D null) {
> throw new ServletException("Le parametre =
urlAuthentification est absent");
> } else {
> =
getServletContext().getRequestDispatcher(urlAuthentification).forward(requ=
est, response);
> }
> return;
> }
>=20
> // controler l'identifiant
> if (identifiant.equals("")) {
> erreursParametres.add("Le parametre identifiant est =
vide");
> }
> if (!identifiant.matches("^[0-9a-zA-Z]{5,}$")) {
> erreursParametres.add("Le parametre identifiant doit =
comporter au moins 5 signes (0-9, a-z, A-Z)");
> }
>=20
> // controler le mot de passe
> if (motdepasse.equals("")) {
> erreursParametres.add("Le parametre mot de passe est =
vide");
> }
> if (!motdepasse.matches("^[0-9a-zA-Z]{5,}$")) {
> erreursParametres.add("Le parametre mot de passe doit =
comporter au moins 5 signes (0-9, a-z, A-Z)");
> }
>=20
> // en cas d'erreur, redirection vers l'affichage des erreurs
> if (erreursParametres.size() > 0) {
> request.setAttribute("erreurs",erreursParametres);
> =
getServletContext().getRequestDispatcher("/erreurs.jsp").forward(request, =
response);
> }
>=20
> // v=E9rifier l'=E9galit=E9 de la saisie avec les param=E8tres =
externes
> // so ok, redirection vers la page de bienvenue
> if (identifiant!=3Dnull && motdepasse!=3Dnull && =
identifiant.equals(ident) && motdepasse.equals(mdp)) {
> request.setAttribute(identifiant, "identifiant");
> request.setAttribute(motdepasse, "motdepasse");
> =
getServletContext().getRequestDispatcher("/bienvenue.jsp").forward(request=
, response);
> }
>=20
> }
>=20
> public void doPost(HttpServletRequest request, HttpServletResponse =
response)
> throws ServletException, IOException {
>=20
> doGet(request, response);
>=20
> }
> }
>=20
> 3) deux autres pages (JSP) pour afficher les erreurs de saisie, ou un =
message de bienvenue:
>=20
> <%--=20
> Document : erreurs
> Created on : 25 mars 2010, 21:03:32
> Author : jacquespiotrowski
> --%>
>=20
> <%@page contentType=3D"text/html" pageEncoding=3D"UTF-8"%>
> <%@page import=3D"java.util.ArrayList"%>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
> "http://www.w3.org/TR/html4/loose.dtd">
>=20
> <html>
> <head>
> <meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3DUTF-8">
> <title>Erreurs - Authentification Client</title>
> </head>
> <body>
> <%ArrayList erreurs =3D =
(ArrayList)request.getAttribute("erreurs");%>
> <h2>Les erreurs suivantes se sont produites</h2>
> <ul>
> <%
> for (int i =3D 0; i < erreurs.size(); i++) {
> out.println("<li>" + (String)erreurs.get(i) + =
"</li>");
> }
> %>
> </ul>
> </body>
> </html>
>=20
> <%--=20
> Document : bienvenue
> Created on : 25 mars 2010, 20:41:05
> Author : jacquespiotrowski
> --%>
>=20
> <%@page contentType=3D"text/html" pageEncoding=3D"UTF-8"%>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
> "http://www.w3.org/TR/html4/loose.dtd">
>=20
> <html>
> <head>
> <meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3DUTF-8">
> <title>Bienvenue - Authentification Client</title>
> </head>
> <body>
> <%
> String identifiant =3D =
(String)request.getAttribute("identifiant");
> String motdepasse =3D =
(String)request.getAttribute("motdepasse");
> if (identifiant =3D=3D null) {
> identifiant =3D "inconnu";
> }
> if (motdepasse =3D=3D null) {
> motdepasse =3D "inconnu";
> }
> %>
> <center>
> <h2>Bienvenue, utilisateur <%=3Didentifiant%>, mot de =
passe <%=3Dmotdepasse%></h2>
> </center>
> </body>
> </html>
>=20
> 4) et enfin le descripteur de d=E9ploiement:
>=20
> <?xml version=3D"1.0" encoding=3D"UTF-8"?>
> <web-app version=3D"2.5" xmlns=3D"http://java.sun.com/xml/ns/javaee" =
xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema-instance" =
xsi:schemaLocation=3D"http://java.sun.com/xml/ns/javaee =
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
> <servlet>
> <servlet-name>servletauthentification</servlet-name>
> =
<servlet-class>betaboutique.servlets.client.ServletAuthentification</servl=
et-class>
> <init-param>
> <param-name>defautIdentifiant</param-name>
> <param-value>monidentifiant</param-value>
> </init-param>
> <init-param>
> <param-name>defautMotDePasse</param-name>
> <param-value>monmotdepasse</param-value>
> </init-param>
> </servlet>
> <servlet-mapping>
> <servlet-name>servletauthentification</servlet-name>
> <url-pattern>/authentificationclient</url-pattern>
> </servlet-mapping>
> <session-config>
> <session-timeout>
> 30
> </session-timeout>
> </session-config>
> <welcome-file-list>
> <welcome-file>authentification.html</welcome-file>
> </welcome-file-list>
> </web-app>
>=20
> J'ai supprim=E9 ce qui me semble une coquille apr=E8s =
</welcome-file-list> : =E7a sent le bug =E0 pleine souris...
>=20
> <init-param>
> <param-name>d</param-name>
> <param-value>m</param-value>
> </init-param>
> <init-param>
> <param-name>defautIdentifiant</param-name>
> <param-value>monidentifiant</param-value>
> </init-param>
>=20
> Tout compile bien, se d=E9ploie bien (enfin, j'ai aucun message =
d'anomalie).
>=20
> Merci d'avance de votre aide.
>=20
> PJ=20
>=20
> <ecran.jpg>
Didier Fradet
--Apple-Mail-4--601527644
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
charset=iso-8859-1
<html><head></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; =
">Bonjour,<div><br></div><div>Dans la page html qui contient le =
formulaire, essaie avec <font class=3D"Apple-style-span" =
face=3D"Courier" size=3D"3"><span class=3D"Apple-style-span" =
style=3D"font-size: 12px;"><form action=3D"./authentificationclient" =
method=3D"post"></span></font> =E0 la place de <font =
class=3D"Apple-style-span" face=3D"Courier" size=3D"3"><span =
class=3D"Apple-style-span" style=3D"font-size: 12px;"><form =
action=3D"authentificationclient" =
method=3D"post"></span></font></div><div><br></div><div>Cordialement,</=
div><div><br>Le 27 mars 2010 =E0 21:36, Jacques PIOTROWSKI a =E9crit =
:<br><br><blockquote type=3D"cite">Bonjour,<br><br><br>je bouquine en ce =
moment le livre "Java EE" de J=E9r=F4me Lafosse (ENI) et j'essaie de =
faire fonctionner un exemple d'authentification, mais =E7a ne marche =
pas,<br>la servlet n'est pas trouv=E9e :<br><br>Firefox ne peut trouver =
le fichier =E0 l'adresse =
/Users/jacquespiotrowski/NetBeansProjects/WebAuthentification/authentifica=
tionclient.<br><br>Voici les codes sources. Si quelqu'un =E0 une =
id=E9e...<br><br>1) la page HTML avec son =
formulaire<br><br><!--<br> Document : =
authentification<br> Created on : 25 mars 2010, =
21:03:32<br> Author : =
jacquespiotrowski<br>--><br><!DOCTYPE HTML PUBLIC "-//W3C//DTD =
HTML 4.01 Transitional//EN"><br><html><br> =
<head><br> =
<title>Authentification Client</title><br> =
<meta http-equiv=3D"Content-Type" =
content=3D"text/html; charset=3DUTF-8"><br> =
</head><br> <body><br> =
<center><br> =
<h1>Authentification =
Client</h1><br> =
<form action=3D"authentificationclient" =
method=3D"post"><br> =
<table border=3D"1" cellspacing=3D"0" =
cellpadding=3D"5"><br> =
<tr><br> =
=
<td>Identifiant</td><br> =
=
<td><input type=3D"text" name=3D"identifiant" =
id=3D"identifiant" size=3D"20" maxlength=3D"20" =
value=3D""></td><br> =
</tr><br> =
=
<tr><br> =
<td>Mot de =
passe</td><br> =
<td><input =
type=3D"password" name=3D"motdepasse" id=3D"motdepasse" size=3D"20" =
maxlength=3D"20" value=3D""></td><br> =
=
</tr><br> =
<tr><br> =
<td =
colspan=3D"2" align=3D"center"><br> =
=
<input type=3D"submit" name=3D"valider" id=3D"valider" =
value=3D"Valider"><br> =
</td><br> =
=
</tr><br> =
</table><br> =
</form><br> =
</center><br> =
</body><br></html><br><br>2) la =
Servlet:<br><br>/*<br> * Document : =
ServletAuthentification<br> * Created on : 25 mars 2010, =
21:03:32<br>Author : =
jacquespiotrowski<br> */<br>package =
betaboutique.servlets.client;<br><br>import =
java.io.IOException;<br>import java.util.ArrayList;<br><br>import =
javax.servlet.ServletConfig;<br>import =
javax.servlet.ServletContext;<br>import =
javax.servlet.ServletException;<br><br>import =
javax.servlet.http.HttpServlet;<br>import =
javax.servlet.http.HttpServletRequest;<br>import =
javax.servlet.http.HttpServletResponse;<br><br>import =
betaboutique.javabean.Client;<br><br>public class =
ServletAuthentification extends HttpServlet {<br><br> =
String ident =3D null;<br> String mdp =3D =
null;<br> String emailadministrateur =3D =
null;<br> String urlAuthentification =3D =
null;<br> String urlErreurs =3D null;<br> =
String urlBienvenue =3D null;<br><br> public =
void init() {<br><br> // preparer la =
lecture des informations de configutaion de la servlet<br> =
ServletConfig config =3D =
getServletConfig();<br><br> // lire les =
parametres d'initialisation dans "web.xml"<br> =
ident =3D (String) =
config.getInitParameter("defautIdentifiant");<br> =
mdp =3D (String) =
config.getInitParameter("defautMotDePasse");<br><br> =
// lire les routes<br> =
urlAuthentification =3D (String) =
config.getInitParameter("urlAuthentification");<br> =
urlErreurs =3D (String) =
config.getInitParameter("urlErreurs");<br> =
urlBienvenue =3D (String) =
config.getInitParameter("urlBienvenue");<br><br> =
}<br><br> public void doGet(HttpServletRequest =
request, HttpServletResponse response)<br> =
throws ServletException, IOException =
{<br><br> // lire les donnees saisies =
dans le formulaire<br> String =
identifiant =3D request.getParameter("identifiant");<br> =
String motdepasse =3D =
request.getParameter("motdepasse");<br><br> =
// declarer le tableau des erreurs liees au controle de =
saisie<br> ArrayList<String> =
erreursParametres =3D new ArrayList<String>();<br><br> =
// pas d'identifiant : retour sur la page =
d'authentification<br> if (identifiant =
=3D=3D null) {<br> if =
(urlAuthentification =3D=3D null) {<br> =
throw new ServletException("Le parametre =
urlAuthentification est absent");<br> =
} else {<br> =
=
getServletContext().getRequestDispatcher(urlAuthentification).forwar=
d(request, response);<br> =
}<br> =
return;<br> }<br><br> =
// controler l'identifiant<br> =
if (identifiant.equals("")) {<br> =
erreursParametres.add("Le parametre identifiant est =
vide");<br> }<br> =
if (!identifiant.matches("^[0-9a-zA-Z]{5,}$")) =
{<br> =
erreursParametres.add("Le parametre identifiant doit comporter au =
moins 5 signes (0-9, a-z, A-Z)");<br> =
}<br><br> // controler le mot de =
passe<br> if (motdepasse.equals("")) =
{<br> =
erreursParametres.add("Le parametre mot de passe est =
vide");<br> }<br> =
if (!motdepasse.matches("^[0-9a-zA-Z]{5,}$")) =
{<br> =
erreursParametres.add("Le parametre mot de passe doit comporter au =
moins 5 signes (0-9, a-z, A-Z)");<br> =
}<br><br> // en cas d'erreur, =
redirection vers l'affichage des erreurs<br> =
if (erreursParametres.size() > 0) {<br> =
=
request.setAttribute("erreurs",erreursParametres);<br> =
=
getServletContext().getRequestDispatcher("/erreurs.jsp").forward(req=
uest, response);<br> =
}<br><br> // v=E9rifier l'=E9galit=E9=
de la saisie avec les param=E8tres externes<br> =
// so ok, redirection vers la page de =
bienvenue<br> if (identifiant!=3Dnull =
&& motdepasse!=3Dnull && identifiant.equals(ident) =
&& motdepasse.equals(mdp)) {<br> =
request.setAttribute(identifiant, =
"identifiant");<br> =
request.setAttribute(motdepasse, "motdepasse");<br> =
=
getServletContext().getRequestDispatcher("/bienvenue.jsp").forward(r=
equest, response);<br> =
}<br><br> }<br><br> public =
void doPost(HttpServletRequest request, HttpServletResponse =
response)<br> throws =
ServletException, IOException {<br><br> =
doGet(request, response);<br><br> =
}<br>}<br><br>3) deux autres pages (JSP) pour afficher les erreurs =
de saisie, ou un message de =
bienvenue:<br><br><%-- <br> Document : =
erreurs<br> Created on : 25 mars 2010, =
21:03:32<br> Author : =
jacquespiotrowski<br>--%><br><br><%@page contentType=3D"text/html" =
pageEncoding=3D"UTF-8"%><br><%@page =
import=3D"java.util.ArrayList"%><br><!DOCTYPE HTML PUBLIC =
"-//W3C//DTD HTML 4.01 Transitional//EN"<br> "<a =
href=3D"http://www.w3.org/TR/html4/loose.dtd">http://www.w3.org/TR/html4/l=
oose.dtd</a>"><br><br><html><br> =
<head><br> <meta =
http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3DUTF-8"><br> =
<title>Erreurs - Authentification =
Client</title><br> </head><br> =
<body><br> <%ArrayList =
erreurs =3D =
(ArrayList)request.getAttribute("erreurs");%><br> =
<h2>Les erreurs suivantes se sont =
produites</h2><br> =
<ul><br> =
<%<br> =
for (int i =3D 0; i < erreurs.size(); i++) =
{<br> =
out.println("<li>" + =
(String)erreurs.get(i) + "</li>");<br> =
}<br> =
%><br> =
</ul><br> =
</body><br></html><br><br><%-- <br> =
Document : bienvenue<br> Created on : 25 =
mars 2010, 20:41:05<br> Author : =
jacquespiotrowski<br>--%><br><br><%@page contentType=3D"text/html" =
pageEncoding=3D"UTF-8"%><br><!DOCTYPE HTML PUBLIC "-//W3C//DTD =
HTML 4.01 Transitional//EN"<br> =
"http://www.w3.org/TR/html4/loose.dtd"><br><br><html><br>&n=
bsp; <head><br> =
<meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3DUTF-8"><br> =
<title>Bienvenue - Authentification =
Client</title><br> </head><br> =
<body><br> =
<%<br> =
String identifiant =3D =
(String)request.getAttribute("identifiant");<br> =
String motdepasse =3D =
(String)request.getAttribute("motdepasse");<br> =
if (identifiant =3D=3D null) =
{<br> =
identifiant =3D "inconnu";<br> =
}<br> =
if (motdepasse =3D=3D null) {<br> =
motdepasse =
=3D "inconnu";<br> =
}<br> %><br> =
<center><br> =
<h2>Bienvenue, utilisateur <%=3Didentifiant%>, mot de =
passe <%=3Dmotdepasse%></h2><br> =
</center><br> =
</body><br></html><br><br>4) et enfin le descripteur =
de d=E9ploiement:<br><br><?xml version=3D"1.0" =
encoding=3D"UTF-8"?><br><web-app version=3D"2.5" =
xmlns=3D"http://java.sun.com/xml/ns/javaee" =
xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema-instance" =
xsi:schemaLocation=3D"http://java.sun.com/xml/ns/javaee http://java.s=
un.com/xml/ns/javaee/web-app_2_5.xsd"><br> =
<servlet><br> =
<servlet-name>servletauthentification</servlet-name><br>=
=
<servlet-class>betaboutique.servlets.client.ServletAuthentific=
ation</servlet-class><br> =
<init-param><br> =
<param-name>defautIdentifiant</param-name><br> &nbs=
p; =
<param-value>monidentifiant</param-value><br>  =
; </init-param><br> =
<init-param><br> =
<param-name>defautMotDePasse</param-name><br>  =
; =
<param-value>monmotdepasse</param-value><br> =
</init-param><br> =
</servlet><br> =
<servlet-mapping><br> =
<servlet-name>servletauthentification</servlet-name><br>=
=
<url-pattern>/authentificationclient</url-pattern><br>&n=
bsp; </servlet-mapping><br> =
<session-config><br> =
<session-timeout><br> =
30<br> =
</session-timeout><br> =
</session-config><br> =
<welcome-file-list><br> =
<welcome-file>authentification.html</welcome-file><br>&n=
bsp; =
</welcome-file-list><br></web-app><br><br>J'ai =
supprim=E9 ce qui me semble une coquille apr=E8s =
</welcome-file-list> : =E7a sent le bug =E0 pleine =
souris...<br><br> <init-param><br> =
=
<param-name>d</param-name><br> =
<param-value>m</param-value><br> =
</init-param><br> =
<init-param><br> =
<param-name>defautIdentifiant</param-name><br> &nbs=
p; =
<param-value>monidentifiant</param-value><br>  =
; </init-param><br><br>Tout compile bien, se d=E9ploie bien =
(enfin, j'ai aucun message d'anomalie).<br><br>Merci d'avance de votre =
aide.<br><br>PJ <br><br><span><ecran.jpg></span><br></blockquot=
e><br><div>Didier =
Fradet<br><br><br><br><br><br></div><br></div></body></html>=
--Apple-Mail-4--601527644--