Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #21208

Re: Web browser in java

Date 2013-01-08 13:10 +0000
From lipska the kat <lipskathekat@yahoo.co.uk>
Newsgroups comp.lang.java.programmer
Subject Re: Web browser in java
References <79904e78-2885-4a7f-a3e2-f260ffb6063a@googlegroups.com>
Message-ID <X_idnUUL5Mh5h3HNnZ2dnUVZ8jOdnZ2d@bt.com> (permalink)

Show all headers | View raw


On 08/01/13 12:19, Roma Asnani wrote:
> Want to create a web browser but unable to handle cookies can any one help?
> I get some source from this link
> http://www.apl.jhu.edu/~hall/java/Swing-Tutorial/Swing-Tutorial-JEditorPane.html
> but it display a simple browser but has no cookies or session handling.

Hi

Firstly it is not the browser that maintains a session it is the server.

When you make a request for a web page your browser looks in the place 
where it stores cookies (if you are writing a web browser this can be 
anywhere you like, a browser usually writes cookies to disk) and adds 
any cookies it finds that match the URL you are requesting to the 
request. Only then will it send the request

So, you need a way of searching your cookie store, finding any cookies 
that 'belong' to the URL you are requesting and adding the resulting 
cookies to the request before you send it.

When your request hits the server, you access the cookies by extracting 
them from the request, actually if you are using a Java servlet 
container like Tomcat you don't need to bother with explicitly managing 
session cookies, If a session exists (in other words if a valid session 
cookie was sent by the browser) Tomcat will retrieve the session using 
the contents of the cookie to 'lookup' the session in it's session 
store. If a session doesn't exist or if it has timed out, Tomcat will 
make a new one, create a cookie with a lookup key in it (amongst other 
things) and add the cookie to the response.

If you are making a request to a server that understands how to use 
cookies to maintain state then all you have to do is extract cookies 
from a response to your original request, store them somewhere safe, and 
add them to your next request, the server will take care of the rest.

The simplified sequence of events goes something like this

1. Make a request to foo.bar.com

Before you actually send the request but after you know the target

2. Search your browser cookie store for any cookies that belong to 
foo.bar.com, if you find them, add them to the request.

3. send the request

4. When the server replies, parse the response and extract any cookies 
written by the server, one of these is probably your session key. Save 
them to your cookie store.

5. make a new request to foo.bar.com adding the session cookie to the 
request.

bingo!  you have a session

Internet rfc2616 might be of interest but it's a bit of a head banger

lipska

-- 
Lipska the Kat©: Troll hunter, sandbox destroyer
and farscape dreamer of Aeryn Sun

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Web browser in java Roma Asnani <romaasnani@gmail.com> - 2013-01-08 04:19 -0800
  Re: Web browser in java lipska the kat <lipskathekat@yahoo.co.uk> - 2013-01-08 13:10 +0000
    Re: Web browser in java Arne Vajhøj <arne@vajhoej.dk> - 2013-01-09 21:31 -0500
      Re: Web browser in java lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-01-10 09:57 +0000
  Re: Web browser in java Arne Vajhøj <arne@vajhoej.dk> - 2013-01-08 20:10 -0500
    Re: Web browser in java lipska the kat <lipskathekat@yahoo.co.uk> - 2013-01-09 09:12 +0000
      Re: Web browser in java Arne Vajhøj <arne@vajhoej.dk> - 2013-01-09 21:21 -0500
        Re: Web browser in java lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-01-10 08:46 +0000
  Re: Web browser in java Roedy Green <see_website@mindprod.com.invalid> - 2013-01-09 11:20 -0800

csiph-web