urlPatterns после / * не работает в сервлете - PullRequest
0 голосов
/ 09 ноября 2019

Я получаю ниже ошибка на tomcat

Описание Сервер обнаружил непредвиденное состояние, которое не позволило ему выполнить запрос.

Примечание Полная трассировка стека основной причины доступна в журналах сервера.

Когда я изменил urlPattern = "/display" Работает нормально

Код сервлета:

@WebServlet(name = "DisplayView", urlPatterns = "/display/*")
public class DisplayView extends javax.servlet.http.HttpServlet
{
    private static final long serialVersionUID = 1L;

    public static final String landingPage = "WEB-INF/jsps/display.jsp";

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    {
        request.getRequestDispatcher(landingPage).forward(request, response);
    }
}

HTTP-статус 500 - Внутренняя ошибка сервера

javax.servlet.ServletException: Servlet execution threw an exception
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    com.skr.mediaviewer.views.DisplayView.doGet(DisplayView.java:24)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    .
    .
    SAME LINES AGAIN AND AGAIN
    .
    .
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    com.skr.mediaviewer.views.DisplayView.doGet(DisplayView.java:24)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

Основная причина

java.lang.StackOverflowError
    javax.servlet.ServletRequestWrapper.isAsyncStarted(ServletRequestWrapper.java:409)
    javax.servlet.ServletRequestWrapper.isAsyncStarted(ServletRequestWrapper.java:409)
    .
    .
    SAME LINES AGAIN AND AGAIN
    .
    .
    javax.servlet.ServletRequestWrapper.isAsyncStarted(ServletRequestWrapper.java:409)
    javax.servlet.ServletRequestWrapper.isAsyncStarted(ServletRequestWrapper.java:409)
    com.skr.mediaviewer.views.DisplayView.doGet(DisplayView.java:24)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    .
    .
    SAME LINES AGAIN AND AGAIN
    .
    .
    com.skr.mediaviewer.views.DisplayView.doGet(DisplayView.java:24)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
...