aspose file tools*
The moose likes Web Component Certification (SCWCD/OCPJWCD) and the fly likes ServletContext Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Web Component Certification (SCWCD/OCPJWCD)
Bookmark "ServletContext" Watch "ServletContext" New topic
Author

ServletContext

Renu Radhika
Ranch Hand

Joined: Oct 21, 2005
Posts: 243
why is it that getParameterValues is there only in HttpServletRequest and not in ServletContext?What if I want to associate multiple values with the same name in Context?
Sayak Banerjee
Ranch Hand

Joined: Nov 28, 2006
Posts: 292
First of all getParameterValues() is there in the superclass ServletRequest as well...
Read the topic on request parameters once again....getParameterValues(String str) returns multiple values associated with a particular request parameter (parameter name being passed as a String argument)....there is no way you can get it by calling getParameterValues from ServletContext.....

However, you can get the context init parameter by calling getInitParameter(String s) on the servlet context.


Turn on, tune in, drop out.
Sreeraj G Harilal
Ranch Hand

Joined: Apr 19, 2006
Posts: 310
request may contain many values for single parameter.

but ServletContext may not.Because we can only specify context's init parameters through DD. In DD you can specify only a single value for any parameter name. check this

<context-param>

<param-name>e-mail</param-name>
<param-value>raj_2566@yahoo.co.in</param-value>

</context-param>

there is no way to pass multiple values to single parameter e-mail.


SCJP 5.0<br />SCWCD 1.4<br />Preparing for <b>SCEA</b>.<br /><b>"I prefer an interesting vice to a virtue that bores."</b>
Renu Radhika
Ranch Hand

Joined: Oct 21, 2005
Posts: 243
No we can set attributes programmatically to ServletContext using setAttribute right?What if I want to set multiple values with the same name?
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 41863
    
  63
You can't. You could use a collection to hold all the values you want to store under a particular name, and use that as the attribute value, but for one name there can be only one value.


Ping & DNS - my free Android networking tools app
Renu Radhika
Ranch Hand

Joined: Oct 21, 2005
Posts: 243
ok.So I will conclude it this way
<B>
Only in case of request where we may encounter a situation where we have to send multiple values with the same name through request url from client,we have this provision.In other cases like session or context where it can be done only at the server side,we dont have this facility.
</B>
Please correct me if I am wrong
Arunabh Dash
Greenhorn

Joined: Apr 05, 2006
Posts: 20
hi,
Your question was :-
>>why is it that getParameterValues is there only in HttpServletRequest and not in ServletContext?

Cheak out the return type of the getParameterValues() .It's an array of String . As we know that request stores it's attributes in Map where key is a String and value is a object . Those are generated during run time .

>>What if I want to associate multiple values with the same name in Context?
Multiple values you can't add since ServletContext also uses Map to store it's Attributes . And it has to be a Key value pare .

Ya .......You can do one thing ..... Using ServletContextListener you can add object in ServletContext. In that way you can put a collection of object in ServletCotext also. Now as you was getting a bunch of objects in getParameterValues(), you can do the same here .

SCJP(1.4)
Preparing(SCWCD)
Sayak Banerjee
Ranch Hand

Joined: Nov 28, 2006
Posts: 292
Don't confuse parameters(associated with request) and init Paramaters(associated with servlet config and servlet context) with attributes (page scope(for JSPs only), request scope, session scope or application(or context) scope)

No attribute can have multiple values (even for a Map it's a single value- a Map)
Only request parameter can have multiple values for the same request parameter

That's it.
[ November 30, 2006: Message edited by: Sayak Banerjee ]
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: ServletContext