Hi Prerna,
If i am not wrong , this is not session tracking.
it is session validation.

1) this has a problem,

 It unnecessarily creates a session.
2)think it works but using browser back button might fail
3) think it works  but using browser back button might fail

4)Using filters (Cookies) - filters are not cookies.
  it is just like a controller svlt.


please correct me if i am wrong
Regards
PH
On 7/31/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:


Hi All,



I would like to know which is the best approach for session tracking in
struts among the following



1)       Writing your own ActionServlet class which will have the
following code



public class MyActionServlet extends ActionServlet{

           /* (non-Javadoc)

            * @see
org.apache.struts.action.ActionServlet#doGet(javax.servlet.http.HttpServ
letRequest, javax.servlet.http.HttpServletResponse)

            */

           public void doGet(HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException {



                       System.out.println(" Inside doGet Method of
MyActionServlet");

                       String id = request.getRequestedSessionId();

                       System.out.println(" The REQUEST SESSION ID IS
::"+id);

                       HttpSession session=request.getSession(true);

                       System.out.println(" Value of the new SESSION
OBJECT IS :;"+session.getId());

                       System.out.println(" Is it a new session object
? :;"+session.isNew());



                       if (!(id.matches(session.getId())))

                       {


System.out.println("************************************");

                           System.out.println("*********SESSION TIME
OUT********");


System.out.println("************************************");

                       }



                       super.doGet(request,response);

           }



2)          Writing a base action and checking for session expiry in
that class



public class DisplayProfileAction extends Action



{

public ActionForward   execute(ActionMapping  mapping,

                    ActionForm     form,

                    HttpServletRequest request,

                   HttpServletResponse response) throws IOException,
ServletException

{



      HttpSession session= HttpSession
session=request.getSession(true);

      Boolean valid=session.getParameter("VALID");



      if (valid == null)

{


System.out.println("************************************");

                           System.out.println("*********SESSION TIME
OUT********");


System.out.println("************************************");

                       }

}

}



3)       Or using the following code. Any suggestion as to where should
this code be placed. In your own action servlet class or in BaseAction
class



           if (!request.isRequestedSessionIdValid())

                       {


System.out.println("************************************");


System.out.println("*********SESSION TIME OUT    ********");


System.out.println("************************************");

                       }

4)       Using filters (Cookies) to track session timeout which by using
filters will the performance of the system not get affected?



Thanks & Regards

Prerna








The information contained in this electronic message and any attachments
to this message are intended for the exclusive use of the addressee(s) and
may contain proprietary, confidential or privileged information. If you are
not the intended recipient, you should not disseminate, distribute or copy
this e-mail. Please notify the sender immediately and destroy all copies of
this message and any attachments.

WARNING: Computer viruses can be transmitted via email. The recipient
should check this email and any attachments for the presence of viruses. The
company accepts no liability for any damage caused by any virus transmitted
by this email.

www.wipro.com

Reply via email to