6.18.3 Precautions for using the URI decode functionality
This section describes the precautions for using the URI decode functionality.
- Organization of this subsection
(1) Execution procedure for decoding and normalizing character strings
The URIs, normalized after decoding, are used for matching the URL patterns with the servlet path.
The URIs, normalized without decoding, are used for matching the context root with the context path.
(2) Attributes of request
The decoded values are also stored in the attributes that are added in requests during the forward or include processing. The following table describes whether the stored values are decoded for each attribute specified in requests during the forward or include processing:
Processing |
Attribute |
Decoding the stored value |
---|---|---|
Forward |
javax.servlet.forward.request_uri |
N |
javax.servlet.forward.context_path |
N |
|
javax.servlet.forward.servlet_path |
Y |
|
javax.servlet.forward.path_info |
Y |
|
javax.servlet.forward.query_string |
N |
|
Include |
javax.servlet.include.request_uri |
N |
javax.servlet.include.context_path |
N |
|
javax.servlet.include.servlet_path |
Y |
|
javax.servlet.include.path_info |
Y |
|
javax.servlet.include.query_string |
N |
For details on each attribute and the values stored in each attribute, see Servlet specifications.
(3) Inheriting HTTP session
The context path is not decoded and is handled as the original string, so the HTTP session is inherited.