| From | Sent On | Attachments |
|---|---|---|
| Rutledge, Aaron | Jul 24, 2002 2:04 pm | |
| Mike Jackson | Jul 24, 2002 2:25 pm | |
| Craig R. McClanahan | Jul 24, 2002 2:32 pm | |
| Rutledge, Aaron | Jul 24, 2002 3:01 pm | |
| Mike Jackson | Jul 24, 2002 3:05 pm | |
| Craig R. McClanahan | Jul 24, 2002 3:54 pm |
| Subject: | RE: Multiple HttpServletRequest objects | |
|---|---|---|
| From: | Rutledge, Aaron (ARut...@5prime.com) | |
| Date: | Jul 24, 2002 3:01:23 pm | |
| List: | org.apache.tomcat.users | |
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





