Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [JAVA] Gestione cookie

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    50

    [Java Servlet] Problema coi cookies

    Sono alle prime armi con la gestione dei cookies e ho provato a copiare da un libro questo semplice codice:

    codice:
    package coreservlets;
    
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    
    /** Sets six cookies: three that apply only to the current
    * session (regardless of how long that session lasts)
    * and three that persist for an hour (regardless of
    * whether the browser is restarted).
    */
    
    public class SetCookies extends HttpServlet {
    
        public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    	for(int i=0; i<3; i++) {
    
    	    // Default maxAge is -1, indicating cookie
    	    // applies only to current browsing session.
    	    Cookie cookie = new Cookie("Session-Cookie " + i, "Cookie-Value-S" + i);
    	    response.addCookie(cookie);
    	    cookie = new Cookie("Persistent-Cookie " + i, "Cookie-Value-P" + i);
    
    	    // Cookie is valid for an hour, regardless of whether
    	    // user quits browser, reboots computer, or whatever.
    	    cookie.setMaxAge(3600);
    	    response.addCookie(cookie);
    	}
    	response.setContentType("text/html");
    	PrintWriter out = response.getWriter();
    	String title = "Setting Cookies";
    	out.println(ServletUtilities.headWithTitle(title) +
    		"<BODY BGCOLOR=\"#FDF5E6\">\n" +
    		"<H1 ALIGN=\"CENTER\">" + title + "</H1>\n" +
    		"There are six cookies associated with this page.\n" +
    		"To see them, visit the\n" +
    		"<A HREF=\"/servlet/coreservlets.ShowCookies\">\n" +
    		"<CODE>ShowCookies</CODE> servlet</A>.\n" +
    		"
    
    \n" +
    		"Three of the cookies are associated only with the\n" +
    		"current session, while three are persistent.\n" +
    		"Quit the browser, restart, and return to the\n" +
    		"<CODE>ShowCookies</CODE> servlet to verify that\n" +
    		"the three long-lived ones persist across sessions.\n" +
    		"</BODY></HTML>");
        }
    }
    Il problema, č che mi dā il seguente errore, quando cerco di aprire la servlet da browser:

    codice:
    type Exception report
    
    message 
    
    description The server encountered an internal error () that prevented it from fulfilling this request.
    
    exception 
    
    java.lang.IllegalArgumentException: Cookie name "Session-Cookie 0" is a reserved token
    	javax.servlet.http.Cookie.<init>(Cookie.java:140)
    	coreservlets.SetCookies.doGet(SetCookies.java:19)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:419)
    	org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:133)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    
    
    note The full stack trace of the root cause is available in the Apache Tomcat/5.5.15 logs.
    Help plz!

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    Session-Cookie 0 č riservato e non puoi usarlo
    usa un nome diverso

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    50
    Uff! Scusate, ho risolto (Session-Cookie 0 non era riservato, č che i cookies non possono avere spazi nč nel nome nč nel valore)...

    che pignoli 'sti cookies, perō!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.