Привет! Я делаю код Java, указанный ниже, для формы входа. Он не перенаправляет меня на страницу employee.jsp или клиента jsp.

1
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    try {
        user user = new user();
        user.setUsername(request.getParameter("username"));
        user.setPassword(request.getParameter("password"));
        user = loginBean.Login(user);
        if (user.getMessage() == null || user.getMessage().equals("")) {
            request.setAttribute("message", user.getMessage());
        }
        if (user.getRole().equals("Employee")) {
            request.getRequestDispatcher("/employee.jsp").forward(request, response);
        } else {
            request.getRequestDispatcher("/customer.jsp").forward(request, response);
        }
    } catch (Exception ex) {
        System.out.println(ex);
    }

}
Теги:
jsp
session
javabeans
login-script

2 ответа

1

Уверьте, что у этих страниц были в вашем каталоге проектов. Если их там нет, вы получите сообщение об ошибке. ваш код прав

 if (user.getRole().equals("Employee")) {
response.sendRedirect("/employee.jsp");} else {
response.sendRedirect("/customer.jsp");}
1

То, что вы пытаетесь сделать, - это после успешного входа в систему перенаправить пользователя на employee.jsp или customer.jsp в зависимости от их роли.

Вы в настоящее время перенаправляете запрос на employee.jsp или customer.jsp вместе со всеми параметрами (имя пользователя, пароль и сообщение и все остальное).

Что вам нужно сделать, это перенаправить пользователя на новую страницу следующим образом:

if (user.getRole().equals("Employee")) {
    response.sendRedirect("/employee.jsp");
} else {
    response.sendRedirect("/customer.jsp");
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню