voilou mon pb.
Ma lecture des cookies fonctionne correctement avec une servlet mais pas avec une jsp. Un exemple concret :
j'ai une cookie dont le nom est : toto et la valeur est : 15
si je le lit avec ma servlet il me retourne toto et 15
si je le lit avec ma jsp il me retourne JSESSIONID et 16norzmyws1
Si je desire lire le cookie par ma jsp c'est pour creer ma page de presentation dynamiquement.
voici ma servlet (elle fonctionne pil poil)
package core;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
class ServletUtilities
{
public static final String DOCTYPE =
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 " +
"Transitional//EN\">";
public static String headWithTitle(String title)
{
return(DOCTYPE + "\n" +
"<HTML>\n" +
"<HEAD><TITLE>" + title + "</TITLE></HEAD>\n" );
}
}
/* create a table of the cookies associated with the current page */
public class ShowCookies extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html" );
PrintWriter out = response.getWriter();
String title = "Active Cookies";
out.println(ServletUtilities.headWithTitle(title) +
"<BODY BGCOLOR=\"#FDF5E6\">\n" +
"<H1 ALIGN=\"CENTER\">" + title + "</H1>\n" +
"<TABLE BORDER=1 ALIGN=\"CENTER\">\n" +
"<TR BGCOLOR=\"#FFAD00\">\n" +
"<TH> Cookie Name\n" +
"<TH> Cookie Value" );
Cookie[] cookies = request.getCookies();
Cookie cookie;
for(int i=0; i<cookies.length; i++)
{
cookie = cookies[i];
out.println("<TR>\n" +
" <TD>" + cookie.getName() + "\n" +
" <TD>" + cookie.getValue());
}
out.println("</TABLE></BODY></HTML>" );
}
}
et la page jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> Formulaire d'inscription </TITLE>
</HEAD>
<BODY BGCOLOR="#FDF5E6">
<H2 ALIGN="CENTER"> Transfert par méthode post du nom et prenom</H2>
<%-- vérification de la presence d'un cookie de nom generique AnimeCooky --%>
<%-- affichage dynamique de la page dans ce cas --%>
<%
boolean identification = false;
String nom_cookie = new String("animeCooky" );
Cookie[] cookies_list = request.getCookies();
Cookie cookie_recup;
for(int i=0; i<cookies_list.length; i++)
{
cookie_recup = cookies_list[i];
%>
nombre de cookie(s) : <%= cookies_list.length %> <BR>
recuperation du nom des cookie(s) : <%= cookie_recup.getName() %> <BR>
recuperation des valeurs des cookies : <%= cookie_recup.getValue() %><BR>
<%
if (nom_cookie.equals(cookie_recup.getName()))
{
identification = true;
break;
}
}
%>
<%-- Si le cookie existe, on appel la base de données pour affichage --%>
<%-- de la liste de téléchargement --%>
<%-- response.sendRedirect("/bean/inscription.jsp" ); --%>
<%-- Si le cookie n'est pas présent, on demande l'identifiant et --%>
<%-- on verifie son existance dans la base de données. --%>
<%-- Autrement on propose l'enregistrement de la personne --%>
Date du Jour : <%= new java.util.Date() %><BR><BR>
<FORM ACTION="/bean/servlet/core.present" METHOD="POST">
Nom :
<INPUT TYPE="TEXT" NAME="nom"><BR>
Prénom :
<INPUT TYPE="TEXT" NAME="prenom"><BR>
<BR>
<INPUT TYPE="SUBMIT"><BR><BR>
Il faut être identifié pour avoir accés à la base de données du site.
<BR>
Si vous desirez vous inscrire valider le lien ci-dessous.
<BR>
<I><A HREF="/bean/inscription.jsp">here</A></I>
</FORM>
Ma methode est elle bonne ??
---------------
Si tu ne poses pas les bonnes questions, comment veux-tu avoir les bonnes réponses ?