Я сделал страницу jsp для регистрации участников, при регистрации, если человек забыл заполнить любое поле в форме, сообщение об ошибке отображается на другой странице.Сохранение и получение значений в области запроса
Для достижения этого я использовал 3 сервлета, первый сервлет, чтобы получить значения со страницы jsp и передать второй сервлет, который проверяет, есть ли какие-либо поля в пустом поле, если да, то возвращается сообщение первый сервлет, который затем передает сообщение третьему сервлету, чтобы отобразить сообщение об ошибке пользователю.
Моя проблема в том, что сообщение не передается с первого сервлета на третий сервлет. Он просто возвращает null.
Вот что я сделал:
Первый Servlet Код:
String firstName=request.getParameter("firstName");
String lastName=request.getParameter("lastName");
String userName=request.getParameter("userName");
String password=request.getParameter("password");
Message message=Authenticator.registerUser(firstName, lastName, userName,"Student", password);
HttpSession mySession=request.getSession();
RequestDispatcher failMessageDispatcher= request.getRequestDispatcher("/ErrorController");
String message1=message.getMessage(); //gets the message to a variable
request.setAttribute("message", message1); // puts the variable in to the request scope
out.println(message1);
if(message.getStatus().equals("0"))
{
failMessageDispatcher.forward(request, response); //forwards to the third servlet for displaying
}
Третий Servlet Код:
String message= request.getParameter("message"); //get the message from the request scope
out.println(message); //display the message
Я знаю его проблемы в контексте запроса, потому что, если поместить он входит в область сеанса, он работает, но я хочу использовать область запроса для этой работы. Как я могу сделать эту работу?
Спасибо за ваше время.
Почему вы _want использовать запрос scope_? Это не то, для чего это предназначено. –
Просто я не хочу создавать сеанс, чтобы отображать сообщение об ошибке. –
Хорошо, я допустил ошибку. Я заметил, что теперь я использовал request.getParameter в третьем сервлете вместо request.getAttribute(), поэтому он возвращал значение null. –