记住我 功能实现

原创 2015年11月20日 17:08:52

大家都知道pc端在系统登录时有一个类似于【记住我】的功能 ,做开发半年我没有接触过cookie,觉得可能很难,今天刚好自己抽几分钟时间学习了一下,发现很基本,在这里也就算给一些学习者写一个实现方法吧,分享出来大家批评指教:

登录页面,记住我复选框


 

<td>

<input type="checkbox" name="remeberMe" id="remeberMe" value="yes"/>

</td>

 

首先登录需要用户名和密码,创建一个vo对象 MenuForm 

 

public class MenuForm {

 

private String name;

private String password;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

}

第二步,登录的Action中获取到页面传递的用户名和密码,并调用记住我的方法:

 

public String menuHome(){

//获取用户名和密码

String name = menuForm.getName();

String password = menuForm.getPassword();

/**  其他方法事件*/


/**记住我*/

LogonUtils.remeberMe(name,password,request,response);


}

第三步:Action代码的处理,创建LoginUtils

public class LogonUtils {

 

/**记住我功能*/

public static void remeberMe(String name, String password,

HttpServletRequest requestHttpServletResponse response) {

//1:创建2Cookie,存放指定值

Cookie nameCookie = new Cookie("name",name);

Cookie passwordCookie = new Cookie("password",password);

//2:设置Cookie的有效路径(指定当前项目)

nameCookie.setPath(request.getContextPath()+"/");

passwordCookie.setPath(request.getContextPath()+"/");


//获取页面复选框的值(用作判断)

String remeberMe = request.getParameter("remeberMe");

//此时表示复选框选中

//3:设置Cookie的有效时间(1周)

if(remeberMe!=null && remeberMe.equals("yes")){

nameCookie.setMaxAge(7*24*60*60);

passwordCookie.setMaxAge(7*24*60*60);

}

//此时表示复选框没有被选中

else{

nameCookie.setMaxAge(0);

passwordCookie.setMaxAge(0);

}

//4:将Cookie存放到response

response.addCookie(nameCookie);

response.addCookie(passwordCookie);

}

}

 

第四步:在index.jsp页面中读取Cookie中的数据,jsp中嵌套java代码

<%

String name = "";

String password = "";

String checked = "";

Cookie [] cookies = request.getCookies();

if(cookies!=null && cookies.length>0){

for(Cookie cookie:cookies){

if(cookie.getName().equals("name")){

name = cookie.getValue();

checked = "checked";

}

if(cookie.getName().equals("password")){

password = cookie.getValue();

}

}

}

%>

这样的缺点:将java代码放置到jsp上,要求jsp先要执行编译java代码,然后再执行。效率会降低

分析:在跳转到index.jsp页面之前先从Cookie中获取数据,放置到HttpRequest对象中进行显示,这样可以使用过滤器(filter)完成,过滤器在这因为时间原因就暂时不写了。谢谢!

版权声明:本文为博主原创文章,未经博主允许不得转载。

记住我 功能实现

登录页面,记住我复选框   td> "checkbox" name="remeberMe" id="remeberMe" value="yes"/> td> ...
  • scholar_man
  • scholar_man
  • 2016年03月30日 19:48
  • 3049

前端记住密码功能

前端记住密码功能
  • lemon_zhao
  • lemon_zhao
  • 2017年04月06日 16:32
  • 6106

登录页面“记住我”的功能实现

登录页面的lon
  • zfc0826
  • zfc0826
  • 2014年04月06日 12:35
  • 2710

记住我remember-me功能的几种实现方式

本文讨论几种记住我功能的实现方式。
  • fangchao2061
  • fangchao2061
  • 2016年04月18日 14:47
  • 5154

JavaWeb JQuery实现记住我功能

一般记住我,都要求密码可以进行加密处理,如果有一个插件来实现自然不用再麻烦,所以百度了一下,有如下方法,步骤如下:      1. 有一个插件:需要使用jquery的jquery.cookie.js插...
  • omayyouhappy
  • omayyouhappy
  • 2016年10月09日 13:33
  • 1801

spring-shiro外篇记住我功能

it浪子号 2017-04-09 18:57 记住我功能在各大网站是比较常见的,实现起来也是大同小异,主要就是利用cookie来实现,而shiro对记住我功能的实现也是比较简单的,只需要几步...
  • u011277123
  • u011277123
  • 2017年04月17日 18:32
  • 2085

记住密码,自动登录功能实现

初步代码,功能正在逐步完善。 1.activity_mian.xml
  • mzpsilence
  • mzpsilence
  • 2015年06月15日 10:58
  • 716

javaweb实现记住密码功能

具体思路是,如果用户勾选了记住密码那个框,那么肯定有是否勾选框的一个biao...
  • Tro_picana
  • Tro_picana
  • 2014年07月29日 17:55
  • 2330

java shiro配置记住密码功能 RememberMe功能怎么实现

我当时刚学shiro,知道RememberMe是记住密码下次就可以直接登录,但是一直不知道怎么用,理论上来说,第一次登录以后,跳转到success页面,那么如果shiro使用了RememberMe ...
  • chl191623691
  • chl191623691
  • 2017年11月21日 10:06
  • 243

js实现cookie记住密码

近来做记住密码时,用js的实现方式做了一下。 login.jsp页面代码
  • u013614451
  • u013614451
  • 2014年12月27日 23:21
  • 1843
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:记住我 功能实现
举报原因:
原因补充:

(最多只允许输入30个字)