在我们生活中,对于账户的自动登录已经很常见了,所以利用过滤器实现这个功能。
主要介绍用户的自动登录和取消自动登录,以及实现一天自动登录或者n天实现自动登录,当用户ip被加入到黑名单之后,直接利用过滤器返回一个警告页面。
过滤器的功能很是强大,我们只需要在写好的前台后servlet之后进行添加就可以实现这个功能
Ps:这个仅仅只是一个演示而已,里面的访问数据库的部分,自己随意模拟了下,主要是突出实现自动登录的功能。
前台代码:
前台代码是成功与否都在这个页面显示。用到的技术:jstl标签的应用,session读取值
你的密码或用户名错误。
这是登录的页面
NAME:
PWD:
不自动登录:
一天:
七天:
欢迎您,${sessionScope.user },登录成功
servlet的实现代码:
和以前的代码一样,只负责和前台交互即可:里面用到的技术有url编码,值存在cookie里面,存在session里面,页面跳转(转发)
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String name=request.getParameter("name");
String pwd=request.getParameter("pwd");
String time=request.getParameter("time");
if(name!=null && pwd!=null && name.equals(pwd)){//此处随意写写,后面应该去servvice-->dao访问数据库
//这里假设登录成功了,我们把信息存入session里面
request.getSession().setAttribute("user", name);
//兼容中文,我们需要进行编码
name=URLEncoder.encode(name, "utf-8");
pwd=URLEncoder.encode(pwd, "utf-8");
Cookie c =new Cookie("autologin