我正在创建一个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
答案 0 :(得分:0)
当您将用户对象设置为HttpSession时,您可以使用以下代码获取用户对象:
driver.find_element_by_xpath("//*[@value=' Search ']").click()