Wie kann ich ein "Root" -Servlet zuordnen, damit andere Skripte noch ausgeführt werden können?
Ich versuche, ein Servlet zu erstellen, das eine JSP-Seite aufruft, die der folgenden ähnelt:
<code>public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException { req.getRequestDispatcher("/WEB-INF/main.jsp").forward(req, resp); } </code>
Ich brauche dieses Servlet, um auf das Root der Domain zu antworten (zB:http://example.com/) Also verwende ich das folgende Mapping in der web.xml:
<code><servlet-mapping> <servlet-name>MainServlet</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </code>
Das Problem, das ich habe, ist, dass dies ALLES entspricht. Wenn der Dispatcher also nach "/WEB-INF/main.jsp" weiterleitet, stimmt dies mit dem URL-Muster überein, sodass das Servlet erneut ausgeführt wird. Dies führt zu einer Schleife, die so lange ausgeführt wird, bis sie mit a endetjava.lang.StackOverflowError.
Wie kann ich den Root abgleichen, ohne zu verhindern, dass andere Skripte ausgeführt werden können?