response.sendRedirect () не перенаправляет и не выдает никакой ошибки - PullRequest
0 голосов
/ 07 ноября 2018

Я пытаюсь разработать голосовое веб-приложение. Проблема в том, что он не перенаправляет на существующий URL-адрес Webservlets и не отображает никаких сообщений об ошибках. Вот мой метод doPost в моем файле Controller.java: (во втором «если» редирект работает нормально, только в третьем не работает.)

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
    HttpSession session = req.getSession();

    if (req.getParameter("productId") != null){
        int prodID = Integer.parseInt(req.getParameter("productId"));
        cartHandler.add(prodID);
    }
    // LOGOUT
    if(req.getParameter("btn-logout") != null){
        if(session.getAttribute("uID") != null) {
            session.removeAttribute("uID");
            resp.sendRedirect("/");
        }
    }

    if(req.getParameter("allieStart") != null){
        String greeting = allieDaoJDBC.getAnswer("greeting");
        playSound.play(greeting);
        Integer react = speechRecognition.listen(allieDaoJDBC, cartHandler);
        if(react == 1){
            resp.sendRedirect("/cart");
        }else if(react == 2){
            resp.sendRedirect("/login");
        }
    }
}

Заранее спасибо, ребята!

1 Ответ

0 голосов
/ 07 ноября 2018

Если вы уверены, что allieStart не равно нулю, то проблема должна быть с react (т.е. реакция не 1 или 2.) Попробуйте добавить еще одно условие, чтобы быть уверенным, что что-то произойдет.

    if(react == 1){
        resp.sendRedirect("/cart");
    }else if(react == 2){
        resp.sendRedirect("/login");
    }else{
        resp.sendRedirect("/login");
    }
...