To jest szybkie pytanie, ale nie mogłem znaleźć szybkiej odpowiedzi. Teraz mam BaseServlet serwletu, gdy żądanie użytkownika któregokolwiek z poniższym adresem:Servlet @WebServlet urlPatterns
host
host/
host/BaseServlet
Należy zawsze odwoływać się do tego samego serwletu i przekierowanie do strony głównej.
Kiedy ustawić
@WebServlet({"/BaseServlet", ""})
host/
host/BaseServlet
działa tylko
Jeżeli ustawić
@WebServlet({"/BaseServlet", "", "/"})
BaseServlet zostanie wezwany ciągle w pętli ...
Dlaczego?
Edycja: BaseServlet wykonuje przekierowanie do pliku index.html ukrytego w folderze WEB-INF i to wszystko.
getServletContext().getRequestDispatcher("/WEB-INF/index.html").forward(request,response);
Specyfikacja serwletu mówi "Ciąg zawierający tylko znak/wskazuje" domyślny "serwlet aplikacji." Dlatego chcę, aby baza BaseServlet była moim domyślnym. Dlaczego to nie działa?
Co robisz z odpowiedzią? –
Wykonaj wstępne przetwarzanie, a następnie odpowiedz ze strony internetowej. – kakacii
Strona ta może spowodować ponowne uruchomienie serwletu w pętli, o której mówisz. Pokaż nam. –