Christopher Schultz-2 wrote: > > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Huragan, > > Huragan wrote: > | I am new to j2ee and have been trying to understand how cookies work. > > Cookies are independent of the J2EE specification: they are part of the > HTTP specification. The servlet specification (part of J2EE) says that > cookies are one supported way of client identification for session > tracking. > > | I narrowed it down to the part of code where cookies get retrieved. > | There are no cookies being returned with the response object. When i > | displayed the header info there were no cookies being set at all. > > How did you observe this? > > | As you can see the code works if i comment out the cookies retrieval. > > If you say so. > > | However, I still tried to set it to true in the context.xml file. > | which didn't work. > > Setting cookies="true" on context.xml only affects the use of cookies > for session handling. It does not affect your application's ability to > use cookies for other reasons. > > | Then tried to set a context element in Host in server.xml. Needless > | to say that didn't work either. > > Yeah, don't do that. > > | Now am at my wits end as to why it is not working. i am attaching the > | servlet code below: > > Let's see... > > | public void doGet(HttpServletRequest request, > | HttpServletResponse response) > | throws ServletException, IOException { > | Cookie c1 = new Cookie("userName", "Sandeep"); > | Cookie c2 = new Cookie("password", "password"); > | response.addCookie(c1); > | response.addCookie(c2); > | > | response.setContentType("text/html"); > | PrintWriter out = response.getWriter(); > | out.println("<HTML>"); > | out.println("<HEAD>"); > | out.println("<TITLE>Cookie Test</TITLE>"); > | out.println("</HEAD>"); > | out.println("<BODY>"); > | out.println("Please click on the button to see the " + > | "cookies sent to you."); > | out.println("<BR>"); > | out.println("<FORM METHOD=POST>"); > | out.println("<INPUT TYPE=SUBMIT VALUE=SUBMIT>"); > | out.println("</FORM>"); > | out.println("</BODY>"); > | out.println("</HTML>"); > | } > > So, this doesn't send any cookies? What if you flush and close the > output writer? > > | Cookie[] cookies = request.getCookies(); > | int length = cookies.length; > > Since the documentation for request.getCookies says that NULL can be > returned, you ought to check for NULL before trying to do something with > your "cookies" reference. > > - -chris > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.8 (MingW32) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org > > iEYEARECAAYFAkemeMgACgkQ9CaO5/Lv0PA8DACeMglq8T8HhxZgJxL+AnT25mHk > sj0AoI3eGEEAaQ9mIJiNu3NgMrkjSxnB > =6EiW > -----END PGP SIGNATURE----- > > --------------------------------------------------------------------- > To start a new topic, e-mail: users@tomcat.apache.org > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > As to how i got to know if the cookies are being retrieved or not, i displayed all d info being retreived as part of d header. there was no cookie entry there. and i tried the flush and close. that didnt work either. i checked for null being returned. it enters the else clause where i had it display that cookies have not been retrieved. if(cookies != null) { int length = cookies.length; out.println(length); for(int i=0;i<length;i++) { Cookie c=cookies[i]; out.println("Cookie Name: " + c.getName() + "<BR>"); out.println("Cookie Value: " + c.getValue() + "<BR>"); } out.println("</BODY>"); out.println("</HTML>"); } else { out.println("unable to retrieve cookies. <BR>"); } -- View this message in context: http://www.nabble.com/unable-to-set-cookies-tp15258280p15280686.html Sent from the Tomcat - User mailing list archive at Nabble.com.
--------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]