Я новичок в веб-разработке JSP.У меня есть страница входа в систему (Login.jsp) для моего веб-приложения, которая имеет стандартные элементы управления входом в систему (например, имя пользователя, поля ввода пароля, флажок Запомнить меня и кнопку входа в систему), чего я хочу достичь, когда пользователь предоставляет учетные данные, после отправкиподробнее, вызывается Authenticate.jsp, где учетные данные сопоставляются с базой данных, если они правильные, создается сеанс для этого пользователя и если учетные данные неверны.Я перенаправляю пользователя обратно на страницу входа с помощью response.sendRedirect("./Login.jsp?status=fail");
В файле Login.jsp всегда проверяется параметр status
, и когда он дает значение fail
, у меня есть <div>
ниже текстовых полей, в которых естьсообщение User Name or Password Incorrect!
, показывается пользователю при такой ошибке.Безопасно ли отправлять такие параметры через URL (для данной цели)?Какой более подходящий или стандартный способ реализовать что-то подобное?Кроме того, когда пользователь заходит на страницу входа в первый раз, при поиске параметра status
будет выброшено NullPointerException
.У меня есть весь код Login.jsp для проверки параметра, как показано ниже.
try
{
String stat = request.getParameter("Status");
if(stat.equalsIgnoreCase("fail"))
msg = "Invalid Username or Password!";
else
msg = " ";
}
catch(NullPointerException e)
{
msg = " ";
}
catch(Exception e)
{
out.println(e);
}
И этот строковый объект msg
записан в этот <div>
, как я уже упоминал.Поэтому, если параметр status
не найден, предполагается, что пользователь посещает страницу в первый раз, и, следовательно, сообщение о неверных учетных данных не будет отображаться.
Возможно, это некак это реализовано в реальных системах.
Исправьте меня.
Спасибо.
Примечание: При поиске того же запроса в Интернете большинствоиз них была другая страница JSP для неудачного входа в систему, хотя я хочу оставить только одну страницу для этого.