SECTION: 500-Servlets
TITLE: Path Mapping
QUESTION: How are Servlet paths mapped?
Path mappings are used to map a URI to a contexts, handlers and servlets.
The following types of mapping are supported and applied in the order presented.
Absolute Mapping
Prefix Mapping
Path Spec: /path
Will match: /path path=/path info=<null>
Will not match: /
/path/
/path/info
/path/info.jsp
/other
Suffix Mapping
Path Spec: /path/*
Will match: /path path=/path info=<null>
/path/ path=/path info=/
/path/info path=/path info=/info
/path/info.jsp path=/path info=/info.jsp
Will not match: /
/other
Default Mapping
Path Spec: *.jsp
Will match: /path/info.jsp path=/path/info.jsp info=<null>
Will not match: /
/path
/path/
/path/info
/other
Path Spec: /
Will match: / path= info=/
/path path= info=/path
/path/ path= info=/path/
/path/info path= info=/path/info
/path/info.jsp path= info=/path/info.jsp
/other path= info=/other
Will not match:
Context Path Spec : /context/*
Servlet Path Spec : /servlet/*
URI ContextPath ServletPath PathInfo
=========================================================
/context/servlet /context /servlet null
/context/servlet/ /context /servlet /
/context/servlet/x /context /servlet /x
Context Path Spec : /
Servlet Path Spec : /servlet/*
URI ContextPath ServletPath PathInfo
=========================================================
/servlet "" /servlet null
/servlet/ "" /servlet /
/servlet/x "" /servlet /x
Context Path Spec : /context/*
Servlet Path Spec : *.txt
URI ContextPath ServletPath PathInfo
=========================================================
/context/xxx.txt /context "" /xxx.txt
Context Path Spec : /context/*
Servlet Path Spec : /
URI ContextPath ServletPath PathInfo
=========================================================
/context/xxx /context "" /xxx
Context Path Spec : /
Servlet Path Spec : /
URI ContextPath ServletPath PathInfo
=========================================================
/xxx "" "" /xxx