java 开发,jsp 页面那个checkbox 框记住密码是怎么实现的?
来源:互联网 发布:wps for mac问世 编辑:程序博客网 时间:2024/04/29 04:31
文章来源:http://wanghaopk.iteye.com/blog/1218009
java 开发,jsp 页面那个checkbox 框记住密码是怎么实现的?
- 博客分类:
- java
要实现题目这个功能,我们需要使用Cookie浏览器缓存来做到。Cookie与Session的最大不同,就在于它们的生命周期,Cookie通过设置后,生命周期可以与Session一样,或者比它长久。
通常来说,根据我的习惯,对于一些通用的业务能够,我希望把它们封装到一个工具类里面,使用方法就是直接调用它的静态方法。
CookieTool.java 源代码:
/**
* 设置cookie(接口方法)
* @param response
* @param name cookie名字
* @param value cookie值
* @param maxAge cookie生命周期 以秒为单位
*/
public static void addCookie(HttpServletResponse response,String name,String value,int maxAge){
Cookie cookie = new Cookie(name,value);
cookie.setPath("/");
if(maxAge>0) cookie.setMaxAge(maxAge);
response.addCookie(cookie);
}
/**
* 根据名字获取cookie(接口方法)
* @param request
* @param name cookie名字
* @return
*/
public static Cookie getCookieByName(HttpServletRequest request,String name){
Map<String,Cookie> cookieMap = ReadCookieMap(request);
if(cookieMap.containsKey(name)){
Cookie cookie = (Cookie)cookieMap.get(name);
return cookie;
}else{
return null;
}
}
/**
* 将cookie封装到Map里面(非接口方法)
* @param request
* @return
*/
private static Map<String,Cookie> ReadCookieMap(HttpServletRequest request){
Map<String,Cookie> cookieMap = new HashMap<String,Cookie>();
Cookie[] cookies = request.getCookies();
if(null!=cookies){
for(Cookie cookie : cookies){
cookieMap.put(cookie.getName(), cookie);
}
}
return cookieMap;
}
好了,工具类的静态方法已经定义好了。
我先假定楼主对表现层提交表单到业务层是有概念的,
这里存在两种情况:
(1)客户端没有登录记录,则进入登录页面
(2)客户端存在有效的登录记录,进入登录后的页面。
因此在显示登录页面之前就要通过一个业务方法进行判断,其中最核心的是:
Cookie cokLoginName = CookieTool.getCookieByName(request,"loginName");
Cookie cokLoginPwd = CookieTool.getCookieByName(request,"loginPwd");
if (cokLoginName != null && cokLoginPwd != null && cokLoginName.getValue()!=null && cokLoginPwd.getValue()!=null){
String loginName = cokLoginName.getValue();
String loginPwd = cokLoginPwd.getValue();
//检查到客户端保存了用户的密码,进行该账户的验证
//这里要使用你自己的账户验证方法
//如果账户验证成功,则跳转到登录成功的页面
//如果账户验证失败,则
CookieTool.addCookie(response,"loginName",null,0); //清除Cookie
CookieTool.addCookie(response,"loginPwd",null,0); //清除Cookie
//然后跳转到登录页面
}
其次就是在登录JSP页面的表单所提交到的登录Action。这里假设表单提交到的是Servlet,读取表单参数楼主应该没有问题吧?我这里只关注和插入Cookie代码。
插入的地方在账户密码的正确性经过验证,在跳转页面之前。假设储存用户输入的帐号和密码字段分别为String username,String password。
int loginMaxAge = 30*24*60*60; //定义账户密码的生命周期,这里是一个月。单位为秒
if ( 单选框 ) {
CookieTool.addCookie(response , "loginName" , username , loginMaxAge);
CookieTool.addCookie(response , "loginPwd" , password , loginMaxAge);
}
- java 开发,jsp 页面那个checkbox 框记住密码是怎么实现的?
- java JSP 记住密码
- jsp login登录页面的记住密码 cookie控制
- webapp开发‘记住密码’的实现
- java shiro配置记住密码功能 RememberMe功能怎么实现
- 安卓开发点击CheckBox记住密码
- JAVA之登录页面记住密码之COOKIE实现
- jsp页面使用cookie记住密码 jquery
- 记住密码的实现
- 记住密码的实现
- jsp使用cookie实现记住密码的功能
- jsp使用cookie实现记住密码的功能
- 如何利用cookie实现html页面的记住密码
- 点击CheckBox复选框是否记住密码
- CheckBox记住密码功能
- 点击CheckBox记住密码
- java实现记住密码功能
- jsp+servlet+Cookie实现记住密码功能
- 南邮 OJ 1033 硬件DIY秀
- Qt 5.3 下OpenCV 2.4.11 开发(8)查表法直方图修改图像
- 消除listview ScrollView滚动到顶部或底部时的边框
- bootstrap基础01
- cv:mat
- java 开发,jsp 页面那个checkbox 框记住密码是怎么实现的?
- Android中的“再按一次返回键退出程序”实现
- 第三方验证
- C++中将string转换为int
- the following sdk components were not installed+win8如何配置VPN
- php5.3.3 gdb breakpoints
- 学UNP所感
- 51nod 1421:最大MOD值
- The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files