no, that is not true, this could be your servlet (note, this assumes your session was created by another JSP/servlet.
note, you can also do request.getSession().isNew() and so on,

public void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException {
   if ( req.getSession(false) == null ) {
       resp.sendError(505, "No session available on the server");
       return;

   } else {
      //execute code

 }
}

Klotz Jr, Dennis wrote:
Thanks Filip.

Please correct me if I am wrong...

Isn't it the case that if the session expires, the client cannot access
any of the servlets within my webapp? Therefore, the response you set
would never be seen by the clients applet.
So I how your code would ever work?

Thanks again for responding.

-Dennis


-----Original Message-----
From: Filip Hanik - Dev Lists [mailto:[EMAIL PROTECTED] Sent: Monday, February 20, 2006 11:24 AM
To: Tomcat Users List
Subject: Re: Help with detecting session timeout

in your servlet, you can do

...
if ( session_has_timed_out) {
  response.setError(505,"Session has timed out");
  return;
}
....

then in your applet, you can catch the 505,

Filip


Klotz Jr, Dennis wrote:
Greetings to all.

I hope everyone had a great weekend. :) I've run into a problem that I
can't find any answers for and I am hopeful that one of you has the
time
to respond.

Given:
* Tomcat 5.5.15
* Applet using jvm 1.5
* An applet that has been sitting idle and tomcat has expired the
session
* User tries to click on an applet function that sends and requests a
serialized object.

Here is code from the APPLET I'm trying to use. This applet code (run
inside a browser) always receives a status of HTTP_OK (200)! Any ideas
why? From what I can tell, tomcat is trying to send the user to the
forms based login but that never happens since the applet has control
of
the browser...

    URL servlet = <set to a servlet URL>;

    <snip>

    HttpURLConnection con = (HttpURLConnection)servlet.openConnection
();

    con.setDoInput (true);
    con.setDoOutput (true);
    con.setUseCaches (false);
    con.setRequestProperty ("Content-Type",
          "application/x-java-serialized-object");

    <snip>

    out = new ObjectOutputStream (con.getOutputStream ());
    out.writeObject (obj);
    out.flush ();
    out.close ();
in = con.getInputStream ();

    int status = con.getResponseCode();

    <snip> // print the status

    // exception always occurs here. EOF on stream or
// invalid stream header... result = new ObjectInputStream (in);
    o = result.readObject ();

    <return the object to caller>

The method call:

    int status = con.getResponseCode();

Always returns a status of HTTP_OK (200)! Why oh why can't I see a
status that indicates that the session has expired? :) Perhaps that
the
user is no longer authenticated?
Bueller? Bueller? :)

If anyone can help I offer them a thousands thanks!

-Dennis

---------------------------------------------------------------------
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]


---------------------------------------------------------------------
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