HttpSessionBindingListener 是一个接口,继承这个接口的object在我们调用session的setAttribute()方法时将会由容易调用其中该object的方法valueBound()
import javax.servlet.*;
import javax.servlet.http.*;
public class UseridWrapper implements HttpSessionBindingListener {
public String userid = "default";
public UseridWrapper(String id) {
this.userid = id;
}
public void valueBound(HttpSessionBindingEvent e) {
//insert transient user data into the database
}
public void valueUnbound(HttpSessionBindingEvent e) {
//remove transient user data from the database
}
}
//code for doPost() of LoginServlet
public void doPost(HttpServletRequest req, HttpServletResponse res) {
String userid = req.getParameter("userid");
String password = req.getParameter("password");
boolean valid = //validate the userid/password.
if (valid) {
UseridWrapper useridwrapper = new UseridWrapper(userid);
//Sets the UseridWrapper object in the session
req.getSession().setAttribute("useridwrapper", useridwrapper);
} else {
//forward the user to the login page.
}
......
}
HttpSessionBindingListener in practice
最新推荐文章于 2024-02-07 22:09:49 发布