从request.getAttribute方法获取用户对象

时间:2018-05-15 10:54:06

标签: java web

我正在创建一个java web项目,我需要获取一个用户对象,以使用我的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";
}

}

现在我需要在另一个servlet中再次使用用户对象。

我可以简单地调用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 个答案:

答案 0 :(得分:0)

当您将用户对象设置为HttpSession时,您可以使用以下代码获取用户对象:

driver.find_element_by_xpath("//*[@value=' Search ']").click()