Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / November 2007

Tip: Looking for answers? Try searching our database.

Request parameters missing

Thread view: 
Ravion - 20 Nov 2007 14:13 GMT
Dear all,

I am writing this after a strenous effort for a whole week, but ended up
without any clue. Here is the problem.

An application called "External" is built with JSF technology. Our module ,
let it be "internal". Both External and Internal are within the same EAR
file.External module talks with Internal through an interface servlet.
Interface Servlet receives the request from External module, and adds a URL
parameter ( like http://localhost:8080/Controller?id=200&value=300) and
does a RequestDispatcher.forward.

The controller from internal module receives it and prints the query string.
This shows that the query string is id=200&value=300.

Now the million dollar question, the internal module takes
request.getParameter("id") and this gives me a NULL!!!! When I print
request.getParameterMap, I get so many parameters which were set by External
in the request. Note that External does a "POST" to interface servlet, which
in turn again does a "forward" to controller.

I searched google for about 8 hours to get a link or clue, but so sad.
Kindly help, please...

One small doubt I am getting - Is JSF ServletRequest different from
HttpServletRequest ? Then the method of the controller (doGet/doPost) could
not have been called right? Or a new instance is getting created? Then how I
am getting query string... ahhhh

Warmest regards,
Ravion
Lew - 20 Nov 2007 14:28 GMT
> An application called "External" is built with JSF technology. Our module ,
> let it be "internal". Both External and Internal are within the same EAR
> file.External module talks with Internal through an interface servlet.
> Interface Servlet receives the request from External module, and adds a URL
> parameter ( like http://localhost:8080/Controller?id=200&value=300) and

How do you add the parameter?

> does a RequestDispatcher.forward.
...
> Now the million dollar question, the internal module takes
> request.getParameter("id") and this gives me a NULL!!!! When I print

Are you sure it doesn't give you a null?

> request.getParameterMap, I get so many parameters which were set by External
> in the request. Note that External does a "POST" to interface servlet, which
> in turn again does a "forward" to controller.

Perhaps the URL was added as an attribute, not a parameter?

> One small doubt I am getting - Is JSF ServletRequest different from
> HttpServletRequest ? Then the method of the controller (doGet/doPost) could
> not have been called right? Or a new instance is getting created? Then how I
> am getting query string... ahhhh

A request is a request is a request.

The JSF Faces Servlet grabs it first.  The Sun Java EE tutorial goes into
great detail about the JSF life cycle, plus there are many articles out there
about it.

SSCCE, please.
<http://www.physci.org/codes/sscce.html>

(P.S., Andrew, that page has some "<%@" litter peeking through.)

Signature

Lew

Ravion - 20 Nov 2007 20:16 GMT
Hi Lew,

I am not adding a parameter, because we cannot add a parameter to request
manually. I read the string directly from a configuration file, somehwta
like Struts.

The internal module "does" gove me null, when I get parameter.

When I check  request.getAttribute("id") or request.getParameter("id")  -
both are null.

One more info, if I do the same thing without being sent from a JSF
application, instead from a test JSP, it works, and it works exactly as
expected.

Please help, thanks.

(Regarding multipost, I am extremely sorry, let me continue this)

Thanks an dregards,
Ravion

>> An application called "External" is built with JSF technology. Our module
>> , let it be "internal". Both External and Internal are within the same
[quoted text clipped - 33 lines]
>
> (P.S., Andrew, that page has some "<%@" litter peeking through.)
Andrew Thompson - 20 Nov 2007 23:18 GMT
...
>SSCCE, please.
><http://www.physci.org/codes/sscce.html>
>
>(P.S., Andrew, that page has some "<%@" litter peeking through.)

Thanks Lew - I'll look into it when I get a moment.

Signature

Andrew Thompson
http://www.physci.org/

Ravion - 21 Nov 2007 12:53 GMT
Dear all,

I found the reason finally.

The external module was passing "MulipartRequest", a wrapper class which
wraps HttpServletRequest. And when a multipartrequest is received in a
servlet, request.getParameter will be null. Very useful learning, which
about 100 people could not find...

Thanks and regards,
Ravion

> ..
>>SSCCE, please.
[quoted text clipped - 3 lines]
>
> Thanks Lew - I'll look into it when I get a moment.


Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.