Не помещайте его в ServletContext , он переопределит предыдущие значения.Вместо этого поместите его в текущий сеанс, как показано ниже:
request.getSession().setAttribute("nom",usr.nom);
И получите эти значения в JSP из сеанса, например
(String)session.getAttribute("nom");
[Редактировать]
В настоящее время вы придерживаетесь такой архитектуры, как
Браузер (CLient) ---> Вызов JSP на войне 1 -----> Вызов сервлета на войне 2
Вы можете поддерживать сеанс междуБраузер (Клиент) ----> Вызов JSP на войне 1
Когда вы аутентифицируете своего пользователя сведения о пользователях войны 2, сведения о пользователях могут быть записаны в виде символа канала, разделенного в строке, которая Stringможет быть сохранен в ServletContext (Примечание: выполняйте этот код только в war 2)
Map<String. String> allUsers = new HashMap<>();
// add key as user id and value is comma separated in string
ServletContext servletContext =request.getSession().getServletContext().getContext("contextPath")
servletContext.setAttribute("users",allUsers );
Ваш сервлет должен вернуть идентификатор пользователя в JSP в ответ
war 2 ----> возвращая идентификатор пользователяв JSP in war 1
Теперь вы должны сохранить этот идентификатор пользователя в сеансе, который вы поддерживаете между Browser (CLient) -----> JSP on war 1.
Всякий раз, когда вы хотитечтобы использовать значения, которые вы сохранили в war 2 в контексте сервлета, вы можете использоватькод ниже в JSP in war 1
ServletContext servletContext =request.getSession().getServletContext().getContext("contextPath")
servletContext.getAttribute("user");
Примечание : вы не можете разделять сеанс между двумя файлами war, но вы можете делиться объектами между ними.
помочь вам.