This week's book giveaway is in the Servlets forum.
We're giving away four copies of Murach's Java Servlets and JSP and have Joel Murach on-line!
See this thread for details.
The moose likes Servlets and the fly likes passing information between servlets Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Java » Servlets
Bookmark "passing information between servlets" Watch "passing information between servlets" New topic
Author

passing information between servlets

arnold yan
Ranch Hand

Joined: May 31, 2002
Posts: 40
Hi, this seems to be a long one, please bear with me,

I have jsp A, servlet B running on web app 1, and jsp C and servlet D running on web app2.

jsp A invokes servlet B, then B opens a URLConnection to servlet D, and writes some information through the connection. servlet D reads the information through the connection and invokes jsp C, passing .

My question is, how do I delegate control from jsp A over to jsp C? I believe once the URLConnection is closed, the control is still on servlet B of app 1. If I use response.sendRedirect to invoke servlet D after I close the URLConnection, the information I passed through URLConnection will be lost because my request will probably be handled by a new thread of servlet D, correct?

I can not use sendRedirect to pass the information because it is likely to run out of limit.

Thanks for your help.

Arnold
Michael Parmeley
Greenhorn

Joined: Aug 20, 2004
Posts: 14
Why are you using a URLConnection to pass information from Servlet to Servlet?

Why don't you just use setAttribute() and forward the request on.

request.setAttribute(String, Object);
request.getRequestDispatcher("/url_of_servlet").forward(request, response);

Then in the servlet you forward to:

request.getAttribute(String); (make sure you cast it to the appropriate object type)
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 60766
    
  65

You cannot forward between different web apps.


[Asking smart questions] [Bear's FrontMan] [About Bear] [Books by Bear]
Jeff Walker
Ranch Hand

Joined: Apr 25, 2004
Posts: 116
Originally posted by Bear Bibeault:
You cannot forward between different web apps.


Bear,
In "SCWCD Exam Study Guide" by Deshmukh & Malavia, it says at the bottom of page 57,
"You cannot directly forward or include a request to a resource in another web application. To do this, you need to get a reference to the ServletContext of the other web application using

this.getServletContext().getContext(uripath);

using this servlet context reference, you can retrieve an appropriate RequestDispatcher object as usual"


I have not tried it, but suspect it's poor design anyway.
-Jeff Walker
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 60766
    
  65

That's true, but it assumes that the web apps are on the same server. I got the impression that they were not, but looking back at the OP, it's not clear.

(And no, I've never had the occasion to try it either).
arnold yan
Ranch Hand

Joined: May 31, 2002
Posts: 40
For the sake of clarification, the two web apps are sitting on different boxes.

Arnold
Adeel Ansari
Ranch Hand

Joined: Aug 15, 2004
Posts: 2874
isn't it weired mates. you mean to say, switch to the different web app right? sorry no solutions with me. but anyways i need to know the way if there is any.
 
jQuery in Action, 2nd edition
 
subject: passing information between servlets
 
Similar Threads
long post IBM.158
ibm websphere test 157 for websphere studio application developer 4.0.3 for windows
J2EE Recommended Reading
Bean initiating a JSP/Servlet?
287 Pre-assessment test questions - Please answer