Hi,

I wanted to do that but i didnt manage to get anywhere the session id as :
- I have no clue how to access the cookie information from the applet (in
J2SE there arent any Cookie class)
- i find no other information the http headers and the url parameters...

It looks like it s browser-dependant but i have been testing in several
environment (linux, wds, ie nets...) and it all works the same : after a
form authentication (simple html), the applet doesnt have to be
authenticated if a connection is made through the normal
java.net.URLConnection.

The only way i see to get it is to ask the server to give it to us through
java.net and request for example a JSP containing this simple tag:
<%=  request.getSession().getID() %>

Reading in client side would be like :
URLConnection conn = new URL(codebase, "/mysessionid.jsp").openConnection();
DataInputStream ois = new DataInputStream(conn.getInputStream());
String mysessionid = ois.readUTF();

After reading this info, as you said Adrian, we just have to append it to
the url of the HttpMethod from httpclient.

String myuri = "/myservlet";
myuri += ";jsessionid=" + mysessionid; // append
GetMethod get = new GetMethod(myuri); // ..etc...

It should work.. but is it the easiest solution ?


----- Original Message -----
From: "Adrian Sutton" <[EMAIL PROTECTED]>
To: "Commons HttpClient Project" <[EMAIL PROTECTED]>
Sent: Tuesday, February 03, 2004 10:00 PM
Subject: Re: problem with applet to j2ee session handling


> Hi Kamal,
>
> > Connecting an applet to a servlet via an http connection works fine if i
use
> > the java.net package using getCodeBase().openConnection(). I dont need
to
> > specify anywhere the session id (which i dont know how to get).
> >
> > But if i do the same via a GetMethod of httpclient, it doesnt work, my
> > connection is redirected to the login page. I guess that I need to get
the
> > j2ee session id somewhere and give it (as a header ?) to the http method
> > before execution...
> >
> > Does anyone have an idea about how it should go ?
>
> J2EE sessions are stored either as a parameter in the URL or as a cookie.
> In this case it sounds like it's in a cookie which on IE for Windows will
> automatically be sent back when using the standard URL classes.  For
> HttpClient and most other systems you have to manually send the cookie
> yourself.  You can retrieve it using javascript with document.cookie and
> then pass it in to the applet as a parameter which can then be passed
> through to HttpClient.
>
> I believe Matt Drance from Apple has polished up these instructions for me
> and posted them as a FAQ somewhere on Apple's site so it's probably worth
> doing a bit of a dig around there for more info.  If you can't find it and
> need more help I can do up some example code for you.
>
> > Kamal El Bedraoui
>
> Regards,
>
> Adrian Sutton.
>
> ----------------------------------------------
> Intencha "tomorrow's technology today"
> Ph: 38478913 0422236329
> Suite 8/29 Oatland Crescent
> Holland Park West 4121
> Australia QLD
> www.intencha.com
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
[EMAIL PROTECTED]
> For additional commands, e-mail:
[EMAIL PROTECTED]
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to