Search code examples
servletsweb.xml

servlet mapping in web.xml (*.* vs *.any_pattern)


I have the following URL pattern:

    <servlet-mapping>
      <servlet-name>name_of_a_servlet</servlet-name>
      <url-pattern>*.some_pattern</url-pattern>
    </servlet-mapping>

If i have more than one pattern in url pattern e.g: *.htm, *.css, *.do etc, can I use *.* in url pattern? or I have to use like this;

<url-pattern>*.htm</url-pattern>
<url-pattern>*.css</url-pattern>
<url-pattern>*.do</url-pattern>

Solution

  • The *.* is not a valid URL pattern. The * can only be at start or end of the pattern. If you intend to cover every HTTP request, then you need to use /*.

    <servlet-mapping>
      <servlet-name>name_of_a_servlet</servlet-name>
      <url-pattern>/*</url-pattern>
    </servlet-mapping>
    

    I'd however question if that servlet couldn't better be a filter.