atom feed6 messages in org.apache.tomcat.usersRE: Multiple HttpServletRequest objects
FromSent OnAttachments
Rutledge, AaronJul 24, 2002 2:04 pm 
Mike JacksonJul 24, 2002 2:25 pm 
Craig R. McClanahanJul 24, 2002 2:32 pm 
Rutledge, AaronJul 24, 2002 3:01 pm 
Mike JacksonJul 24, 2002 3:05 pm 
Craig R. McClanahanJul 24, 2002 3:54 pm 
Subject:RE: Multiple HttpServletRequest objects
From:Mike Jackson (mjac@cdi-hq.com)
Date:Jul 24, 2002 3:05:58 pm
List:org.apache.tomcat.users

Either hidden fields or you'd just read it in from the session.

-----Original Message----- From: Rutledge, Aaron [mailto:ARut@5prime.com] Sent: Wednesday, July 24, 2002 3:02 PM To: Tomcat Users List Subject: RE: Multiple HttpServletRequest objects

Thanks to both of you. Yes, using the MVC II would have alleviated this problem. Using a bean is an idea I had though of, but how would I then post the data back to the servlet as a request? --Aaron

-----Original Message----- From: Craig R. McClanahan [mailto:crai@apache.org] Sent: Wednesday, July 24, 2002 3:33 PM To: Tomcat Users List Subject: Re: Multiple HttpServletRequest objects

On Wed, 24 Jul 2002, Rutledge, Aaron wrote:

Date: Wed, 24 Jul 2002 15:04:52 -0600 From: "Rutledge, Aaron" <ARut@5prime.com> Reply-To: Tomcat Users List <tomc@jakarta.apache.org> To: "Tomcat Users List (E-mail)" <tomc@jakarta.apache.org> Subject: Multiple HttpServletRequest objects

Is it possible to have more than one HttpServletRequest object per session? I am trying to store a request from one form as a session object, process an intermediary form, and then pass the original request to a servlet. I have a couple clunky ways of doing this (having the servlet write a hidden form from the request object and passing this along). I tried to create a session object like...

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { HttpSession session = request.getSession(); session.setAttribute("form_data", request);

...and test the original value with...

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { HttpSession session = request.getSession(); HttpServletRequest old_form = (HttpServletRequest)session.getAttribute("form_data"); String a_field = old_form.getParameter("textfield");

to see if I get the original field value for the form field called "textfield", but I get a null value. Does anyone have any clever ways of storing a request object and then submitting later in the session?

It is not legal to maintain a reference to a request after that request has been completed.

My advice is to look at your problem completely differently -- plan on pulling out of any request whatever you need to save, and save *that* data as session attributes. Trying to save the requests themselves will lead you to design an application full of spaghetti code, because you'll try to make everything look like a servlet that processes requests.

It would also be worth your time investigating how Model-View-Controller (MVC) application frameworks like Struts <http://jakarta.apache.org/struts> encourage you to architect web applications.

Best regards to all! Aaron

Craig