这是一个快速的问题,但我找不到快速的答案。现在我有一个 servlet BaseServlet,当用户请求以下任何 url 时:
host
host/
host/BaseServlet
它应该始终引用同一个 servlet 并重定向到主页。
当我设置
@WebServlet({"/BaseServlet", ""})
仅有的
host/
host/BaseServlet
作品
如果我设置
@WebServlet({"/BaseServlet", "", "/"})
BaseServlet 将在循环中不断被请求...
为什么?
编辑:BaseServlet 对隐藏在 WEB-INF 文件夹中的 index.html 进行转发,仅此而已。
getServletContext().getRequestDispatcher("/WEB-INF/index.html").forward(request,response);
servlet 规范说“仅包含 / 字符的字符串表示应用程序的“默认”servlet。” 所以我希望 BaseServlet 成为我的默认设置。为什么它不起作用?