从servlet开始,前面的就是dao,domain,service,utis之类的,挺简单,从下面说起l
首先获取文本框的值,因为登陆有效期需要设置一下,cookie的最大有效起,应为int类型,转换一下类型;
接下来判断一下,调用service类,判断用户名密码是否正确,
调dao的方法判断;返回一个user类;
如果user不为空的话,
首先把用户名和密码即ussession域里;设置一下;
分别为用户名和密码创建一个cookie;
设置一下cookie的最大存活时间,setMaxAge;把刚才的有效期加入进去
setPath:访问哪个项目的站点,就是访问某个项目的站点吧cookie带过来
然后把cookie放到response的addCookie里;
登陆成功用重定向跳转到首页;sendRedirect
为空的话,用户名密码错误,就用转发跳转到一个jsp页面去;
接下来就是编写jsp页面;
接下来是重点是编写过滤器:
步骤:
首先把请求和响应丢转换成Http的
检查用户是否登录;
在session里进行查找;返回一个user;因为刚刚登陆的信息都在session域里,
如果user不为空的话,接着执行下一个过滤器,返回;
如果为空表示没有登录的话,检查用户是否带cookie
在请求段查找cookies,返回一个cookie数组
然后进行遍历。判断cookie的第i个元素的name是否等于username
等于的话,username = cookie的第i个值;
密码相同;
如果用户名和密码都为空的话,在进行下一个过滤器;,然后换回
调用service方法,返回一个user,调用user里的获取密码
如果文本框的密码不等于以保存的密码,执行下一个过滤器,直接返回;
然后设置吧user设置到session域里,
执行下一个过滤器;
接着在web.xml添加ok