屌丝成长之路——使用过滤器实现自动登录

使用过滤器实现自动登录

一、自动登录实现原理。

  (1)当用户勾选“记住密码”时,香港空间,先登录,然后把账号密码记录到客户端的Cookie中,下次访问任意页面的时候使用过滤器从客户端的Cookie中获取账号密码进行登录,最后把Cookie时间刷新一遍。

  (2)当用户不勾选“记住密码”时,先登录,然后把Cookie从客户端中销毁。

二、自动登录简单案例。

  登录的Servlet:

package com.servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.service.UserService;public class LoginServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//获取登录页面的属性String userName=request.getParameter(“userName”);String passWord=request.getParameter(“passWord”);String autoLogin=request.getParameter(“autoLogin”);//实例化自己定义的登录Service类UserService loginService=new UserService();boolean flag=loginService.login(userName, passWord);(autoLogin!=null&&!autoLogin.equals(“null”)){//如果勾选了“记录密码”,美国服务器,把账号密码存到客户端Cookie中Cookie c1=new Cookie(“userName”,userName);Cookie c2=new Cookie(“passWord”,passWord);c1.setMaxAge(60*60);c2.setMaxAge(60*60);response.addCookie(c1);response.addCookie(c2);}else{//如何不勾选“记录密码”则把客户端的Cookie替换掉,网站空间,并设置生存周期为0Cookie c1=new Cookie(“userName”,null);Cookie c2=new Cookie(“passWord”,null);c1.setMaxAge(0);c2.setMaxAge(0);response.addCookie(c1);response.addCookie(c2);}request.getSession().setAttribute(“userName”, userName);request.getRequestDispatcher(“index.jsp”).forward(request, response);}else{response.sendRedirect(“login.jsp”);}}}知已知彼,百战百胜。

屌丝成长之路——使用过滤器实现自动登录

相关文章:

你感兴趣的文章:

标签云: