防止用户非法登录到某个页面
需求:用户必须登录后,才能操作管理页面。
思路:当用户登录后,可以把用户的信息放到session,然后再需要验证的页面中获取用户信息,如果为null,说明该用户非法,强制返回用户登录页面去。
使用session解决:
把用户的信息存到session中去,下面的user是一个对象,有用户的账号密码,
//把user对象保存到session中
HttpSession session = request.getSession();
session.setAttribute("user", user);
//取出user
//HttpSession session = request.getSession();
//String u = (String) session.getAttribute("user");
可以直接写成下面语句:
User u = (User)request.getSession().getAttribute("user");
然后出判断:
if(u==null){//跳
request.setAttribute("err", "请输入用户名密码登录。。");
request.getRequestDispatcher("/LoginServlet").forward(request, response);
return; //import ,如果不带return,会继续往下走;
}
可以把代码封装成函数,这么在下次使用的时候,可以直接调用。
但是一个web项目,不可能只有一个页面,如果在一个页面,就要调用一次,未免有些太麻烦了。
所以推荐使用过滤器;