Не работает redirect и forward в сервлете

252
06 мая 2017, 20:20

Всем привет. Проблема вот в чем. Есть 2 сервлета, и 2 jsp.

Из первого jsp я с помощью запроса:

$(document).ready( function(){
    $("#login-submit").click(authUser);
});
var authUser = function () {
    var data = {
        "username": $("#user").prop("value"),
        "password": $("#pass").prop("value")
    };
    $.post(
        "auth",
        data
    ).fail(failed);
};
var failed = function() {
    $(".error").prop("innerHTML", "Не верное имя пользователя или пароль")
};

Обращаюсь к первому сервлету:

package servlet;
import webservice.service.SendModel;
import webservice.util.HibernateWebService;
import webservice.util.HibernateWebServiceImplService;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet(name="auth", urlPatterns = "/auth")
public class ServletAuth extends HttpServlet {
    private HibernateWebServiceImplService webServiceImpl = new HibernateWebServiceImplService();
    private HibernateWebService service = webServiceImpl.getHibernateWebServiceImplPort();
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String username = req.getParameter("username"),
               password = req.getParameter("password");
        SendModel user = service.getUser(username, password);
        if (user.getItem() != null) {
            req.getSession().setAttribute("user", username);
            resp.sendRedirect("store");
        } else {
            resp.sendError(HttpServletResponse.SC_UNAUTHORIZED);
        }
    }
}

В котором хочу сделать редирект во второй сервлет:

package servlet;
import webservice.service.SendModel;
import webservice.util.HibernateWebService;
import webservice.util.HibernateWebServiceImplService;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet(name="store", urlPatterns = "/store")
public class ServletStore extends HttpServlet {
    private HibernateWebServiceImplService webServiceImpl = new HibernateWebServiceImplService();
    private HibernateWebService service = webServiceImpl.getHibernateWebServiceImplPort();
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        if (!req.getSession().isNew()) {
            String username = String.valueOf(req.getSession().getAttribute("user"));
            SendModel products = service.findAllProducts();
            req.setAttribute("products", products);
            req.setAttribute("username", username);
            req.getRequestDispatcher("store.jsp").forward(req, resp);
        } else {
            req.setAttribute("error", "Вы не авторизованы");
            req.getRequestDispatcher("loginError.jsp").forward(req, resp);
        }
    }
}

И туда я попадаю, но в итоге такие строки:

req.getRequestDispatcher("store.jsp").forward(req, resp); 
и
req.getRequestDispatcher("loginError.jsp").forward(req, resp);

Не делаю редиректа, а только возвращают jsp в ответе в первоначальный скрипт.

Вопрос в том, что мне нужен передавать корректные данные не в формате jsp кода либо, чтобы прошел редирект все таки.

READ ALSO
Как в моем случае правильно обратиться к переменным другого класса

Как в моем случае правильно обратиться к переменным другого класса

хочу разнести змейку в Eclipse по файлам - классам, чтобы не было помойки в одномпри запуске все работает, создаю новый класс - переношу туда код,...

291
Ошибка при открытии activity

Ошибка при открытии activity

Помогите, пожалуйста, делаю вкладки в стиле Material Design с сайта этогоПытаюсь добавить их в своё приложение, но вылетает ошибка при открытии той...

338
Cannot be resolved to a type [требует правки]

Cannot be resolved to a type [требует правки]

Coding Parrot drone according to tutorial, but there are many mistakes of this type "Cannot be resolved to a type"

180