advertisement
javaboutique
Search Tips
Articles  |   Tutorials  |   Reviews  |   Tools  |   by Category  |   by Date  |   by Name  |   Submit  |   Source  |   Forums  |  
javaboutique
Browse DevX


Partners & Affiliates











advertisement


Listing 6: MyCookieHandler.java
import java.io.*;
import java.net.*;
import java.util.*;

//extend the CookieHandler class
public class MyCookieHandler extends CookieHandler{

//a store list for cookie
private List<Cookie> myCookieBriefcase=new LinkedList<Cookie>();

//implementing the put method
public void put(URI uri,Map<String,List<String>> responseHeaders)throws
IOException {
   
//a store list for all "Set-Cookie" headers
List<String> getCookies=responseHeaders.get("Set-Cookie");     
   
if(getCookies!=null)
     {         
     ListIterator getCookies_iterator=getCookies.listIterator();
     while(getCookies_iterator.hasNext())
              {
              String cookie_item=(String)getCookies_iterator.next();           
              Cookie cookie=new Cookie(uri,cookie_item);
              
              //checking for duplicate cookies
              ListIterator myCookieBriefcase_iterator=myCookieBriefcase.listIterator();
			  while(myCookieBriefcase_iterator.hasNext())
                  {
                  Cookie cookie_from_briefcase=(Cookie)myCookieBriefcase_iterator.next();
				    if((cookie.getURI().equals(cookie_from_briefcase.getURI()))&& 
                    (cookie.getCookieKey().equals(cookie_from_briefcase.getCookieKey())))
                      {
                      myCookieBriefcase.remove(cookie_from_briefcase);
					  break;
					  }
					 }
					 
          System.out.println("myCookieBriefcase: " + cookie);
		  
          //store the cookie
		  myCookieBriefcase.add(cookie);
		  }
		 }
	}
 
//implementing the get method
public Map<String, List<String>> get(URI uri,Map<String, 
List<String>> requestHeaders)throws IOException {
 
 //keep a copy of requestHeaders
  Map<String, List<String>> setCookies = new HashMap<String,
     List<String>>(requestHeaders);    

 StringBuilder selectCookies=new StringBuilder();
      
      ListIterator myCookieBriefcase_iterator=myCookieBriefcase.listIterator();
	           while(myCookieBriefcase_iterator.hasNext())
            {
            Cookie cookie=(Cookie)myCookieBriefcase_iterator.next();          
            
            //delete all the expired cookies
            if(cookie.ExpireState())
                   {
                   myCookieBriefcase.remove(cookie);
                   }
                   //verify if the current cookie coresponds to the accessed URI
                   else if(cookie.MatchState(uri))
                       {
                       if(selectCookies.length()>0)
                          {
                          //cookies are separated by ", "
                          selectCookies.append(", ");
                          }
                      selectCookies.append(cookie.toString()); 
                      }
           }
        
        //converting the StringBuilder object, selectCookies,to a List object
		        if(selectCookies.length()>0)
           {
           List<String>
		   finalCookies=Collections.singletonList(selectCookies.toString());
		              setCookies.put("Cookie",finalCookies);
           }    
        
    System.out.println("###"+setCookies+"###");       
    
    //set the setCookies as read-only
    Collections.unmodifiableMap(setCookies);
    
    //returning the headers list
    return(setCookies);
    }
  }

How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.

 Avaya DevConnect Center
 Service Component Architecture/Service Data Objects Solution Center
 Intel Go Parallel Portal
 Internet.com eBook Library
 IBM Software Construction Toolbox
 Microsoft RIA Development Center
 Destination .NET
XML error: not well-formed (invalid token) at line 53
advertisement
Receive Articles via our XML/RSS feed
Receive Articles via our XML/RSS feed

JavaBytes
Internet Cyclone
This powerful, easy-to-use, internet optimizer is for Windows 95, 98, ME, NT, 2000 and XP. It's designed to automatically optimize your Windows settings, boosting your Internet connection up to 200%.

Cisco Romancing Linux Developers
MobiUI Snares ActionEngine in iPhone/Mobile Push
Windows 7: It's Not Just a Codename Anymore
Microsoft Shines Silverlight on Eclipse
OpenOffice Hits 3.0: Can It Challenge Microsoft?
Get Ready for Microsoft's 'Oslo' Modeling Tool
Latest Linux Hits Networking Flaws
Metasploit 3.2 Offers More 'Evil Deeds'
'Thank You Apple. Seriously.'
The Buzz: BlackBerry App Store Seen Next

Intel Sees Fewer Power Cords in Your Future
F# 101
Use Explicit Conversion Functions to Avert Reckless Implicit Conversions
Polyglot Programming: Building Solutions by Composing Languages
Automated testing for .NET by Ben Hall
"Supply Chain" SOA with SKOS
Service Component Architecture in Real Life
C++Ox: The Dawning of a New Standard
Getting Started with Virtualization
Master Complex Builds with MSBuild

Advertising Info  |   Member Services  |   Contact Us  |   Help  |   Feedback  |   Site Map  |   Network Map  |   About



JupiterOnlineMedia

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info


Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

Solutions
Whitepapers and eBooks
Microsoft Article: Will Hyper-V Make VMware This Decade's Netscape?
Microsoft Article: BitLocker Encryption on Windows Server 2008
Go Parallel Article: Intel Thread Checker, Meet 20 Million LOC
IBM Whitepaper: Innovative Collaboration to Advance Your Business
Internet.com eBook: Real Life Rails
Avaya Article: Call Control XML - Powerful, Standards-Based Call Control
Tripwire Whitepaper: Seven Practical Steps to Mitigate Virtualization Security Risks
Internet.com eBook: The Pros and Cons of Outsourcing
Internet.com eBook: Best Practices for Developing a Web Site
IBM CXO Whitepaper: The 2008 Global CEO Study "The Enterprise of the Future"
Avaya Article: Call Control XML in Action - A CCXML Auto Attendant
Go Parallel Article: James Reinders on the Intel Parallel Studio Beta Program
IBM CXO Whitepaper: Unlocking the DNA of the Adaptable Workforce--The Global Human Capital Study 2008
Adobe Acrobat Connect Pro: Web Conferencing and eLearning Whitepapers
Go Parallel Article: Getting Started with TBB on Windows
HP eBook: Storage Networking , Part 1
MORE WHITEPAPERS, EBOOKS, AND ARTICLES
Webcasts
Go Parallel Video: Intel(R) Threading Building Blocks: A New Method for Threading in C++
HP Video: Is Your Data Center Ready for a Real World Disaster?
Microsoft Partner Portal Video: Microsoft Gold Certified Partners Build Successful Practices
HP On Demand Webcast: Virtualization in Action
Go Parallel Video: Performance and Threading Tools for Game Developers
Rackspace Hosting Center: Customer Videos
Intel vPro Developer Virtual Bootcamp
HP Disaster-Proof Solutions eSeminar
HP On Demand Webcast: Discover the Benefits of Virtualization
MORE WEBCASTS, PODCASTS, AND VIDEOS
Downloads and eKits
Amyuni Download: PDF & XPS Engine for Your .NET and ActiveX Applications
Microsoft Download: Silverlight 2 Software Development Kit Beta 2
30-Day Trial: SPAMfighter Exchange Module
Red Gate Download: SQL Toolbelt
Iron Speed Designer Application Generator
Microsoft Download: Silverlight 2 Beta 2 Runtime
MORE DOWNLOADS, EKITS, AND FREE TRIALS
Tutorials and Demos
IBM IT Innovation Article: Green Servers Provide a Competitive Advantage
Microsoft Article: Expression Web 2 for PHP Developers--Simplify Your PHP Applications
MORE TUTORIALS, DEMOS AND STEP-BY-STEP GUIDES