java - Mapping cases in web.xml -


in web.xml, possible have main mapping , second mapping used mappings different first 1 shown below?

<servlet-mapping>     <servlet-name>faces servlet</servlet-name>     <url-pattern>/faces/*</url-pattern> </servlet-mapping> <servlet-mapping>     <servlet-name>errorhandler</servlet-name>     <url-pattern>/?</url-pattern> </servlet-mapping> 

you can have multiple servlet-mappings in deployment descriptor. rules selecting mapping described in java servlet specification chapter 12. mapping requests servlets:

12.1 use of url paths
...
path used mapping servlet request url request object minus context path , path parameters. url path mapping rules below used in order. first successful match used no further matches attempted:

  1. the container try find exact match of path of request path of servlet. successful match selects servlet.
  2. the container recursively try match longest path-prefix. done stepping down path tree directory @ time, using ’/’ character path separator. longest match determines servlet selected.
  3. if last segment in url path contains extension (e.g. .jsp), servlet container try match servlet handles requests extension. extension defined part of last segment after last ’.’ character.
  4. if neither of previous 3 rules result in servlet match, container attempt serve content appropriate resource requested. if "default" servlet defined application, used. many containers provide implicit default servlet serving content.

so means, if have exact match <url-pattern>/tar</url-pattern>, mapping selected. otherwise second, less specific mapping, (e.g. <url-pattern>/*</url-pattern>) used.

but cannot create mapping <url-pattern>/tar*</url-pattern>, because asterisk allowed @ end /* or @ beginning *. of pattern (note slash / before , period . after asterisk). see section 12.2 specification of mappings full details.


Comments

Popular posts from this blog

angularjs - ADAL JS Angular- WebAPI add a new role claim to the token -

php - CakePHP HttpSockets send array of paramms -

node.js - Using Node without global install -