Java
  Home arrow Java arrow Page 4 - The JSP Files (part 6): State Of Grace
Dev Shed Forums  
Administration  
AJAX  
Apache  
BrainDump  
DHTML  
Flash  
Java  
JavaScript  
Multimedia  
MySQL  
Oracle  
Perl  
PHP  
Practices  
Python  
Reviews  
Security  
Smartphone Development  
Style-Sheets  
Web Services  
XML  
Zend  
Zope  
Mobile Linux  
App Generation ROI  
IBM® developerWorks  
Forums Sitemap  
E-Commerce Hosting  
Linux Web Hosting  
Managed Hosting  
Small Business Hosting  
VPS Hosting  
Weekly Newsletter

 
Developer Updates  
Free Website Content 
 RSS  Articles
 RSS  Forums
 RSS  All Feeds
Write For Us Get Paid  
Request Media Kit
Contact Us  
Site Map  
Privacy Policy  
Support  
 USERNAME
 
 PASSWORD
 
 
  >>> SIGN UP!  
  Lost Password? 
Google.com  
JAVA

The JSP Files (part 6): State Of Grace
By: Vikram Vaswani and Harish Kamath, (c) Melonfire
  • Search For More Articles!
  • Disclaimer
  • Author Terms
  • Rating: starstarstarstarstar / 5
    2001-03-26


    Table of Contents:
  • The JSP Files (part 6): State Of Grace
  • Wasted, Dude!
  • A Few Ground Rules
  • Learning To Write...
  • ...And Read
  • What's In A Name?
  • Plan B
  • Session Dissection
  • Access Denied

  • Rate this Article: Poor Best 
      ADD THIS ARTICLE TO:
      error-file:tidyout.log Del.ici.ous error-file:tidyout.log Digg
      error-file:tidyout.log Blink error-file:tidyout.log Simpy
      error-file:tidyout.log Google error-file:tidyout.log Spurl
      error-file:tidyout.log Y! MyWeb error-file:tidyout.log Furl
    Email Me Similar Content When Posted
    Add Developer Shed Article Feed To Your Site
    Email Article To Friend
    Print Version Of Article
    PDF Version Of Article

     
     
    ADVERTISEMENT


    The JSP Files (part 6): State Of Grace - Learning To Write...
    ( Page 4 of 9 )

    Now, there are innumerable ways to go about creating and reading cookies on a client browser - you can use Javascript, you can use PHP, you can use any of the wonderful programming languages out there. However, our concern here is with JSP - so let's take a look at an example which demonstrates how to read and write a cookie.

    This is a simple hit counter which creates a cookie the first time the user visits the Web page, and then increments the counter on each subsequent visit.

    <% // counter.jsp // declare some variables Cookie cookieCounter = null; // the cookie you want String cookieName = "counter"; int cookieFound = 0; // a few more useful variables String tempString; int count=0; // get an array of all cookies available on client Cookie[] cookies = request.getCookies(); // iterate through array looking for your cookie for(int i=0; i<cookies.length; i++) { cookieCounter = cookies[i]; if (cookieName.equals(cookieCounter.getName())) { cookieFound = 1; break; } } // if found if(cookieFound == 1) { // get the counter value as string tempString = cookieCounter.getValue(); // convert it to a number count = Integer.parseInt(tempString); // increment it count++; // back to a string tempString = Integer.toString(count); // store it in the cookie for future use cookieCounter.setValue(tempString); // set some other attributes cookieCounter.setMaxAge(300); cookieCounter.setPath("/"); // send cookie to client response.addCookie(cookieCounter); } // if not found else { // create a new cookie with counter 0 Cookie alpha = null; alpha = new Cookie("counter", "0"); alpha.setMaxAge(300); alpha.setPath("/"); response.addCookie(alpha); } %> <html> <head> <basefont face="Arial"> </head> <body> <% // display appropriate message if (count > 0) { out.println("You have visited this page " + count + " time(s)! Don't you have anything else to do, you bum?! "); } else { out.println("Welcome, stranger!"); } %> </body> </html>

    Sure, it looks a little complicated - but it won't once we break it down for you.

    The first thing you need to know is how to create a cookie on the client - this is accomplished with the following code:

    <% Cookie alpha = null; alpha = new Cookie("counter", "0"); alpha.setMaxAge(300); alpha.setPath("/"); response.addCookie(alpha); %>

    The first two lines create a new instance of a Cookie object - "alpha". The cookie variable "counter" is then initialized and set to the string "0". Next, the setMaxAge() and setPath() methods of the Cookie object are used to set the expiry date (in seconds) and the cookie's availability, respectively. Finally, a call to the Response object's addCookie() method takes care of actually transmitting the cookie to the client.

    As already mentioned, the only attribute which is not optional is the NAME=VALUE pair. If you'd like your cookie to remain available even after the user closes the browser, you should explicitly set an expiry date; if not, the cookie will be destroyed once the browser is closed.

    The Cookie object also comes with a couple of other interesting methods.

    setValue(someString) - sets the value of the cookie to someString

    getValue() - returns the current value of the cookie

    setPath(someURL) - sets the PATH attribute of a cookie to someURL

    getPath() - returns the current value of the PATH attribute

    setMaxAge(someSeconds) - sets the EXPIRES attribute of the cookie, in seconds

    getMaxAge() - returns the current value of the EXPIRES attribute

    setDomain(someURL) - sets the DOMAIN attribute of the cookie

    getDomain() - returns the current value of the DOMAIN attribute

    setSecure(flag) - sets the SECURE attribute of the cookie as either true or false

    getSecure() - returns the current value of the SECURE attribute

    Note that you can only save string values in a cookie with setValue() - which entails a lot of string-to-number-to-string conversions if you actually want to store a number (as in this example).

     
     
    >>> More Java Articles          >>> More By Vikram Vaswani and Harish Kamath, (c) Melonfire
     

       

    JAVA ARTICLES

    - Exception Handling Techniques in Java
    - More About Multithreading in Java
    - The Basics of Multiple Threads in Java
    - Data Access Using Spring Framework JDBC
    - New Object Initialization in Java
    - Adding Images With iTextSharp
    - Adding Columns With iTextSharp
    - Creating Simple PDF Files With iTextSharp
    - The Spring Framework: Understanding IoC
    - Introducing the Spring Framework
    - Java Classes
    - Completing the Syntactic Comparison of Java ...
    - Syntactic Comparison of Java and C/C++
    - Java Statements
    - Conditionals, Expressions and Other Java Ope...





    © 2003-2009 by Developer Shed. All rights reserved. DS Cluster 4 Hosted by Hostway
    For more Enterprise Application Development news, visit eWeek