2017-02-22 117 views
0

Я выполняю некоторый проект на основе аутентификации с использованием сервлета/jsp. Когда пользователь вступает в систему с использованием имени пользователя и пароля, где аутентификация происходит через сервлет регистрации, мне нужно сохранить электронную почту пользователя в переменной, скажем String email, выполнив запрос SELECT. Мне нужно получить доступ к этой переменной из сервлета регистрации в сервлет электронной почты для отправки своего рода OTP в электронную почту пользователя. Как достичь этого с помощью атрибута сеанса или любой соответствующей идеи?Как использовать значение переменной во время сеанса в servlet/jsp?

+4

Возможный дубликат [Как установить атрибут сеанса в Java?] (Http://stackoverflow.com/questions/8292940/how- в настройке-сессия-атрибут-в-Java) – vanje

ответ

1

Использование session.setAttribute() и session.getAttribute() методов.

Прочитать javadoc HttpSession here.

Вы можете сослаться на this полный пример.

1

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

<%session.setAttribute("email", "[email protected]");%> 
<%= session.getAttribute("email") %> 

Другой способ, который мы используем.

<c:set var="email" value="[email protected]" scope="session"/> 

вы получите это с помощью JS:

var mail ="${email}"; 
1

Чтобы сохранить данные сеанса вы должны использовать объект сеанса из запроса HTTP, как это:

HttpSession session = request.getSession(); 
session.setAttribute("email", email); 

Для извлечения данных из объекта сеанса с использование сценария:

<%= session.getAttribute("email")%> 

или

<%= request.getSession().getAttribute("email")%> 

Вы также можете использовать EL выражение:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 

<c:out value="${sessionScope.email}"/>