URL Pattern for servlet mapping in web.xml

Fernando Briano picture Fernando Briano · Jan 29, 2009 · Viewed 30.8k times · Source

I need a workaround with this URL mapping in web.xml to create URLs with a letter, followed by a "_" followed by any combination of alphanumeric characters.

I want to map a servlet to something like this:

/something_*

Instead of:

/something/*

Using different "somethings" for different JSP's. Example:

/search_Something-I-searched-for

I tried using:

  <servlet-mapping>
    <servlet-name>MyServlet</servlet-name>
    <url-pattern>/something_*</url-pattern>
  </servlet-mapping>

But this doesn't seem to work. This answer tells me I can't do this within web.xml, so maybe there's some workaround.

I don't know if this information is important, but I'm using JBoss and Struts2 in my project.

Answer

Tom Hawtin - tackline picture Tom Hawtin - tackline · Jan 29, 2009

Map a servlet to the containing directory. Inside that servlet, take apart the URL path and forward to the appropriate named servlet.