Получение объекта пользователя из метода request.getAttribute

Я делаю веб-проект Java, где мне нужно получить объект пользователя, чтобы использовать метод из моего DataMapper.

в моей форме входа у меня есть этот код:

String execute( HttpServletRequest request, HttpServletResponse response ) throws LoginSampleException {


    String email = request.getParameter( "email" );
    String password = request.getParameter( "password" );

    User user = null;
    try {
        user = LogicFacade.login(email, password);
    } catch (NoSuchAlgorithmException | InvalidKeySpecException ex) {
        Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex);
    }
    HttpSession session = request.getSession();
    session.setAttribute( "user", user );
    session.setAttribute( "role", user.getRole() );
    return user.getRole() + "page";
}

}

Теперь мне снова нужен пользовательский объект в другом сервлете.

Могу ли я просто вызвать метод request.getAttribute, чтобы получить тот же объект из Httpsession?

        Order order = new Order(length, height, width, shed, false);

        User user =(User)request.getAttribute("user");


    try {
        DataMapper.createOrder(order, user);
//error handling and code continues 

1 ответ

Решение

Когда вы устанавливаете пользовательский объект в HttpSession, вы можете получить пользовательский объект, используя следующий код:

request.getSession().getAttribute("user"); 
Другие вопросы по тегам