0

I want to route all URLs through a single servlet. However, when I forward the request to the JSP, the request again ends up reaching the same servlet, and it goes into an infinite loop.

Is there a way to handle all URLs using a single servlet, excluding JSPs?

Ideally I want to find some way to have a simple servlet-mapping like below, with some additional configuration or code to prevent the infinite looping.

  <servlet>
    <servlet-name>TestController</servlet-name>
    <servlet-class>com.example.TestController</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>TestController</servlet-name>
    <url-pattern>/*</url-pattern>
  </servlet-mapping>

I could use sets of paths like /public/, /app/ etc., to ensure that only deep matches are routed to the Servlet and the JSP's path doesn't conflict.

  <servlet-mapping>
    <servlet-name>TestController</servlet-name>
    <url-pattern>/public/*</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>TestController</servlet-name>
    <url-pattern>/app/*</url-pattern>
  </servlet-mapping>

But, I would prefer to have root level paths if possible.

Also, I want to avoid adding root paths individually to the mapping.

  <servlet-mapping>
    <servlet-name>TestController</servlet-name>
    <url-pattern>/app/*</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>TestController</servlet-name>
    <url-pattern>/products</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>TestController</servlet-name>
    <url-pattern>/store</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>TestController</servlet-name>
    <url-pattern>/support</url-pattern>
  </servlet-mapping>

Because I don't want to have mappings in two configuration files.

Teddy
  • 4,009
  • 2
  • 33
  • 55
  • I found this answer to be very useful: http://stackoverflow.com/a/13522020/1364747 A filter catching all requests, and appending /app/ to anything except static resources is a great solution! – Teddy Feb 08 '17 at 05:19
  • And this was very useful to understand the intricacies of how urls are processed http://stackoverflow.com/questions/4140448/difference-between-and-in-servlet-mapping-url-pattern – Teddy Feb 08 '17 at 05:29

0 Answers0