`
wanghaopk
  • 浏览: 48597 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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);       
}

分享到:
评论
1 楼 JustT0 2013-06-16  
漂亮漂亮漂亮

相关推荐

    Java后台获取JSP页面多个复选框选中的值

    在Java后台获取JSP页面多个复选框选中的值是一个常见的需求,特别是在开发Web应用程序时。SSM(Spring、SpringMVC、MyBatis)框架是Java Web开发中广泛使用的集成框架,它提供了处理此类问题的高效解决方案。下面将...

    两个jsp页面之间传值的问题,和checkbox多选框之间的问题

    JSP(JavaServer Pages)作为Java平台上的动态网页技术,提供了多种方式来实现页面间的传值。本篇文章将聚焦于“两个JSP页面之间传值的问题”以及与之相关的“checkbox多选框”处理。博主houyajie在iteye博客上分享...

    JSP列表中复选框批量选择功能实现

    在JavaServer Pages (JSP) 开发中,常常需要实现用户界面中的批量选择功能,比如在列表中通过复选框来选中多个项目。本文将详细介绍如何在JSP中实现这样的功能,主要涉及HTML、JavaScript 和后端Java的交互。 首先...

    jsp中checkbox用法详解.docx

    在Web开发中,Checkbox(复选框)是非常常见的表单元素之一,主要用于收集用户的多选数据。在JSP(JavaServer Pages)环境下,Checkbox的使用同样广泛。本文将详细介绍在JSP中如何使用Checkbox,包括基本语法、动态...

    java web 记住用户名功能实现

    1. **创建登录页面(login.jsp)**:在这个页面,我们需要一个表单让用户输入用户名和密码,并包含一个勾选框用于选择“记住我”。表单提交时应指向Servlet处理程序。 ```jsp &lt;%@ page language="java" contentType...

    jsp/html 实现下拉复选框

    在网页开发中,"jsp/html 实现下拉复选框" 是一个常见的需求,它能够为用户提供更加便捷的多选项选择方式。下拉复选框通常由HTML的`&lt;select&gt;`元素与`&lt;option&gt;`子元素配合使用,而为了实现更丰富的交互效果,我们可能...

    c#实现记住密码代码

    2:我若选中了记住密码,那需要能把这个密码记录起来。 3:用户名、密码记录到注册表里,往往会遇到没有写入权限或者被杀毒软件拦截的问题发生。 4:用户名可以不加密存储,但是密码一定要加密存储才可以,否则...

    checkbox实现复选框

    在编程领域,`Checkbox`(复选框)是一种常见的用户界面元素,用于让用户在多个选项中选择一个或多个。在本教程中,我们将探讨如何在不同的编程语言和框架中实现复选框的功能,以及如何处理与之相关的事件,如点击...

    jsp实现checkbox的ajax传值实例.docx

    在网页开发中,有时我们需要实现在用户不离开当前页面的情况下,将数据发送到服务器进行处理。这通常是通过AJAX(Asynchronous JavaScript and XML)技术来实现的。在本例中,我们将关注如何在JSP(JavaServer Pages...

    Java中带复选框的树(Java CheckBox Tree)的实现和应用.doc

    总结来说,Java 中实现带复选框的树(CheckBox Tree)需要自定义 TreeNode 类(CheckBoxTreeNode),用于存储结点是否被选中的状态,并实现选中/取消选中时子结点和父结点的状态更新。同时,还需要创建一个 ...

    android studio 第五章课后实践(实现登录界面设计、记住密码操作)

    在Android Studio中,第五章的课后实践主要涵盖了两个关键知识点:登录界面设计和记住密码功能的实现。这两个部分是移动应用开发中的基础模块,对于任何需要用户认证的应用来说都至关重要。下面将详细阐述这两个方面...

    checkbox复选框传值

    在网页设计和开发中,复选框(Checkbox)是一种常见的用户界面元素,允许用户从多个选项中选择一个或多个。当涉及到数据提交,比如通过HTML表单POST方法将用户的选择发送到服务器并存储到数据库中时,理解如何处理复...

    js实现翻页后保持checkbox选中状态的实现方法

    所以checkbox为false。 比如酷狗音乐中,上下页选中的歌曲不会保留,只能在每页中选择添加后,再切换下页。 但是项目中有着需求,所以只能完成实现。 项目具体的需求如下:给角色授权时,选择模块以及模块下的操作,...

    vue基于element-ui的三级CheckBox复选框功能的实现代码.zip

    在本项目中,我们关注的是如何利用 Element UI 在 Vue 中实现三级复选框(CheckBox)的功能。 在 Vue 中,Element UI 提供了一个名为 `el-checkbox-group` 和 `el-checkbox` 的组件来处理复选框的选择。`el-...

    checkbox全选,选中数据传到后台

    在IT行业中,尤其是在Web开发领域,"checkbox全选,选中数据传到后台"是一个常见的功能需求。这个功能主要用于用户批量处理数据,如删除、修改等。以下是对这个主题的详细解析: 首先,我们需要理解标题中的关键词...

    C#复选框重绘 Checkbox

    本教程将深入探讨如何在C#中实现`Checkbox`的重绘,以实现这些高级功能。 首先,我们需要了解Windows Forms中的控件绘制机制。每个Windows Forms控件都有一个`OnPaint`事件,当控件需要更新其外观时,系统会触发这...

    delphi Listview复选框checkbox实现单选的功能

    它提供了多种视图模式,包括报告视图,其中可以包含复选框(Checkbox)来实现用户交互。本示例着重讲解如何在ListView中实现复选框的单选功能。 在Delphi中,ListView的复选框功能可以通过设置`ListView.Style`属性...

    ListView添加CheckBox复选框

    本篇文章将详细讲解如何在ListView中实现CheckBox复选框的功能。 首先,我们需要创建一个自定义的ListView适配器。适配器是连接数据源和ListView的关键,它负责将数据转化为可显示的视图。创建一个继承自`...

    C# winform记住密码及自动登陆源码

    在C# WinForm应用开发中,实现“记住密码”和“自动登录”的功能是一项常见的需求。这个源码示例提供了一种实现方式,其设计灵感来源于QQ客户端的用户登录界面,旨在帮助开发者学习如何在自己的应用程序中集成这些...

    三种方式实现checkbox全选,反选

    在网页开发中,Checkbox(复选框)是用户界面中常用的一种元素,它允许用户从多个选项中选择一个或多个。全选和反选功能在多选列表中尤其常见,例如在批量操作或者多条件筛选时。以下是三种实现Checkbox全选和反选的...

Global site tag (gtag.js) - Google Analytics