Interface HttpServletMapping
Allows runtime discovery of the manner in which the HttpServlet
for the current HttpServletRequest
was invoked. Invoking any of the methods must not block the caller. The implementation must be thread safe. Instances
are immutable and are returned from HttpServletRequest.getHttpServletMapping()
.
Following are some illustrative examples for various combinations of mappings. Consider the following Servlet declaration:
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/MyServlet</url-pattern>
<url-pattern>""</url-pattern>
<url-pattern>*.extension</url-pattern>
<url-pattern>/path/*</url-pattern>
</servlet-mapping>
The expected values of the properties for various incoming URI path values are as shown in this table. The
servletName
column is omitted as its value is always MyServlet
.
URI Path (in quotes) | matchValue | pattern | mappingMatch |
---|---|---|---|
"" | "" | "" | CONTEXT_ROOT |
"/index.html" | "" | / | DEFAULT |
"MyServlet/index.html" | "" | / | DEFAULT |
"/MyServlet" | MyServlet | /MyServlet | EXACT |
"MyServlet/foo" | "" | / | DEFAULT |
"/foo.extension" | foo | *.extension | EXTENSION |
"/bar/foo.extension" | bar/foo | *.extension | EXTENSION |
"/path/foo" | foo | /path/* | PATH |
"/path/foo/bar" | foo/bar | /path/* | PATH |
- Since:
- Servlet 4.0
-
Method Summary
Modifier and TypeMethodDescriptionReturn theMappingMatch
for this instance.Return the portion of the URI path that caused this request to be matched.Return the String representation for theurl-pattern
for this mapping.Return the String representation for theservlet-name
for this mapping.
-
Method Details
-
getMatchValue
String getMatchValue()Return the portion of the URI path that caused this request to be matched. If the
getMappingMatch()
value isCONTEXT_ROOT
orDEFAULT
, this method must return the empty string. If thegetMappingMatch()
value isEXACT
, this method must return the portion of the path that matched the servlet, omitting any leading slash. If thegetMappingMatch()
value isEXTENSION
orPATH
, this method must return the value that matched the '*' excluding any leading '/'. See the class javadoc for examples.- Returns:
- the match.
-
getPattern
String getPattern()Return the String representation for the
url-pattern
for this mapping. This method returns the pattern exactly as specified in the descriptor or Java configuration.- Returns:
- the String representation for the
url-pattern
for this mapping.
-
getServletName
String getServletName()Return the String representation for the
servlet-name
for this mapping. If the Servlet providing the response is the default servlet, the return from this method is the name of the default servlet, which is container specific.- Returns:
- the String representation for the
servlet-name
for this mapping.
-
getMappingMatch
MappingMatch getMappingMatch()Return the
MappingMatch
for this instance.- Returns:
- the
MappingMatch
for this instance.
-