Interface HttpServletMapping


public 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.

Expected values of properties for various URI paths
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