S
Stefanie Ertheld
Hi,
I got the following line of code:
if (request.getHeaders("user-agent") != null &&
request.getHeaders("user-agent").nextElement() != null)
Which throws a NullPointerException at .nextElement().
(I know I could improve the code but thats not the point here)
The api for getHeaders says:
<API>
getHeaders
public java.util.Enumeration getHeaders(java.lang.String name)
Returns all the values of the specified request header as an
Enumeration of String objects.
Some headers, such as Accept-Language can be sent by clients as
several headers each with a different value rather than sending the
header as a comma separated list.
If the request did not include any headers of the specified name,
this method returns an empty Enumeration. The header name is case
insensitive. You can use this method with any request header.
Parameters:
name - a String specifying the header name
Returns:
an Enumeration containing the values of the requested header.
If the request does not have any headers of that name return an empty
enumeration. If the container does not allow access to header
information, return null
</API>
So the important part is probably:
1. If the request did not include any headers of the specified name,
this method returns an empty Enumeration.
2. If the container does not allow access to header information, return null
------
But I don't get why requesting the same header info twice would not be
allowed?!
Any ideas?
Thanks in advance,
Stefanie
I got the following line of code:
if (request.getHeaders("user-agent") != null &&
request.getHeaders("user-agent").nextElement() != null)
Which throws a NullPointerException at .nextElement().
(I know I could improve the code but thats not the point here)
The api for getHeaders says:
<API>
getHeaders
public java.util.Enumeration getHeaders(java.lang.String name)
Returns all the values of the specified request header as an
Enumeration of String objects.
Some headers, such as Accept-Language can be sent by clients as
several headers each with a different value rather than sending the
header as a comma separated list.
If the request did not include any headers of the specified name,
this method returns an empty Enumeration. The header name is case
insensitive. You can use this method with any request header.
Parameters:
name - a String specifying the header name
Returns:
an Enumeration containing the values of the requested header.
If the request does not have any headers of that name return an empty
enumeration. If the container does not allow access to header
information, return null
</API>
So the important part is probably:
1. If the request did not include any headers of the specified name,
this method returns an empty Enumeration.
2. If the container does not allow access to header information, return null
------
But I don't get why requesting the same header info twice would not be
allowed?!
Any ideas?
Thanks in advance,
Stefanie