Как реализовать страницу входа без дублирования кода - PullRequest
0 голосов
/ 08 октября 2009

В настоящее время я делаю систему просмотра DVD-дисков с использованием JSP / Java-сервлетов и испытываю трудности с поиском способа сделать мою страницу входа более эффективной.

Моя текущая система входа в систему делает это: Когда пользователь отправляет правильную комбинацию электронной почты и пароля, сервлет проверяет, является ли эта комбинация правильной, и перенаправляются ли они на страницу лобби. Если пароль неверный, они отправляются на страницу /retry.jsp, которая в основном является дубликатом страницы входа в систему с дополнительным

сообщением, что пароль неверный.

Я понимаю, что это не лучший способ сделать это, но есть ли альтернативный способ реализации надежной страницы входа?

EDIT Я нашел решение моей проблемы, хотя, возможно, и не самое лучшее. Я использовал переменную сеанса для хранения значения «badlogin», если использовалась неправильная комбинация имени пользователя и пароля. Если бы эта переменная сеанса существовала, то появилось бы сообщение «неправильный пароль». Любые комментарии по этому поводу?

Ответы [ 2 ]

4 голосов
/ 08 октября 2009

Я не использовал JSP, но в большинстве каркасов веб-приложений, которые я использовал, можно использовать переменную для переключения и сообщения об ошибках в шаблоне. Вы используете одну и ту же страницу для обоих представлений, но когда она отображается для неудачной попытки, добавляется дополнительный элемент div с соответствующим сообщением.

0 голосов
/ 09 октября 2009

Ваш сервлет может подтвердить пароль:

Например:

На странице входа в систему jsp:

<%
if(request.getAttribute("passwordError")!=null){
out.print(request.getAttribute("passwordError");
}
%>

In the Servlet

if(request.getParameter("password")!=null&&request.getParameter("password").equals("correctPassword"){
// Redirect to Lobby Page
}

else{
request.setAttribute("passwordError", "Incorrect Password");
// Send back to login page
}

Это затем отобразит ошибку пароля на странице входа в систему, избегая дублирования страницы и необходимости использовать сеансы.

Надеюсь, это поможет.

Tobias.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...