jsp 通过cookie 记住用户名

Java Web中登录时如何记住用户名呢?

具体思路:

登录界面如下:

 在后台(Servlet 或struts 的action)中进行判断,若登录成功则通过HttpServletResponse 添加一个cookie.

在登录的jsp页面中,通过request 获取cookie数组,然后遍历,若找到相应的cookie,则把cookie的value设置到表单的对应文本框中.

 

具体代码如下:

登录的JSP页面中(核心代码):

Html代码  

  1. <body>  
  2. <%  
  3. Cookie[] cookies = request.getCookies();  
  4. String username33="";  
  5. if (cookies != null) {  
  6.     for (Cookie c : cookies) {  
  7.         /*if ("password22".equals(c.getName())) {  
  8.             user.setPassword(URLDecoder.decode(c.getValue(), "utf-8"));  
  9.             continue;  
  10.         }*/  
  11.         if ("userEmail".equals(c.getName())) {  
  12.             username33=URLDecoder.decode(c.getValue(), "utf-8");  
  13.             break;  
  14.         }  
  15.     }  
  16. }  
  17. %>  
  18. <script type="text/javascript">  
  19. window.onload=function(){  
  20. var username1='<%=username33 %>';  
  21. //alert("username1:"+username1);  
  22. if(username1){  
  23.     if(username1!='' && username1!=null &&username1!=undefined){  
  24.         document.getElementsByName("user.username")[0].value=username1;  
  25.     }  
  26. }  
  27. }  
  28. </script>  
  29. ...  
  30. </body>  

 后台的action:

Java代码  

  1. if (isLogin) {  
  2.               
  3.             //保存用户名(目前是邮箱)  
  4.               
  5.                 String emaiCookieName = "userEmail";  
  6.                 HttpServletRequest request=ServletActionContext.getRequest();  
  7.                 Cookie[] cookies = request.getCookies();  
  8.                 boolean flag = false;  
  9.                 Cookie emailCook = null;  
  10.                 if (cookies != null)  
  11.                 {  
  12.                     System.out.println("cookie 不为空");  
  13.                     for (Cookie c : cookies)  
  14.                     {  
  15.   
  16.                         if (emaiCookieName.equals(c.getName()))  
  17.                         {  
  18.                             System.out.println("找到了 "+emaiCookieName);  
  19.                             System.out.println("cookie的值为 "+c.getValue());  
  20.                             try {  
  21.                                 c.setValue(URLEncoder.encode(this.user.getUsername(), "utf-8"));  
  22.                             } catch (UnsupportedEncodingException e) {  
  23.                                 e.printStackTrace();  
  24.                             }  
  25.                             emailCook = c;  
  26.                             flag = true;  
  27.                             break;  
  28.                         }  
  29.                     }  
  30.                       
  31.                 }  
  32.                 if (!flag)  
  33.                 {  
  34.                     System.out.println("没有找到 "+emaiCookieName);  
  35.   
  36.   
  37.                     try {  
  38.                         emailCook = new Cookie(emaiCookieName, URLEncoder.encode(  
  39.                                 this.user.getUsername(), "utf-8"));  
  40.                     } catch (UnsupportedEncodingException e) {  
  41.                         e.printStackTrace();  
  42.                     }  
  43.                 }  
  44.   
  45.                     if (null != emailCook)  
  46.                     {  
  47.                          HttpServletResponse response=ServletActionContext.getResponse();  
  48.                         if(!ValueWidget.isNullOrEmpty(issave) && issave.equalsIgnoreCase("save")){  
  49.                             emailCook.setMaxAge(10000000);  
  50.                              
  51.                             response.addCookie(emailCook);  
  52.                             System.out.println("保存cookie");  
  53.                          }else{  
  54.                                 System.out.println("让 cookie 失效");  
  55.                                 emailCook.setMaxAge(0);  
  56.                                 response.addCookie(emailCook);  
  57.                          }  
  58.                     }  
  59.   
  60.                      
  61.               
  62.             return Action.SUCCESS;  
  63.         }  

 源代码见附件

说明:

该项目使用maven 构建;

IDE:eclipse

数据库:MySQL

登录地址:http://localhost:8080/shop_goods/user/loginInput.action

时间: 2025-01-07 18:37:13

jsp 通过cookie 记住用户名的相关文章

jsp 利用cookie 记住用户名和密码

<%...@page contentType="text/html; charset=GBK" language="java" import="java.sql.*" errorPage="" %><html><head><meta http-equiv="Content-Type" content="text/html; charset=GBK"

Jquery操作cookie记住用户名_jquery

一.jquery.cookie.js介绍 jquery.cookie.js是一个基于jquery的插件,一个轻量级的cookie 插件,可以读取.写入.删除 cookie. jquery.cookie.js可以从Github上面获得源码 https://github.com/carhartl/jquery-cookie 二.jquery.cookie.js的基本用法介绍 jQuery操作cookie的插件,大概的使用方法如下: 1. 读取Cookie值 $.cookie('the_cookie'

js使用cookie记住用户名与密码的实例

js如何设置一个全站都能使用的cookie来记住用户名,记住访客的信息,方便访客下次的操作.js设置一个cookie网上有很多资料,但是只能在同目录下使用,其他地方就失效了.设置全局cookie只需加一个参数即可. 把 document.cookie=c_name+ "=" +escape(value)+ ((expiredays==null) ? "" : ";expires="+exdate.toGMTString())改成 document

php使用cookie实现记住用户名和密码实现代码_php实例

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <form id="form1" name="form1" method="post" action="check_remember.php"> <table width="300" border=&

javascript记住用户名和登录密码(两种方式)_javascript技巧

下面主要通过代码给大家展示下javascript记住用户名和登录密码,具体代码内容请看下文. 第一种方式: CONTENT     login.html     welcome.html     cookie.js     common.jslogin.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-tr

Jsp使用Cookie完成记住账号密码的功能

网站中对于记住账号密码,方便下次登录的使用非常普遍,那么它是怎么实现的呢? 首先他的流程是,设计一个复选框,当选中复选框时,就会传值到处理页面,复选框的用途就是判断用户是否愿意记住账号密码. 我们通过一个小例子来掌握他的实现步骤,在开始之前首先要了解一下实现这一功能的关键: Cookie,所有的实现所依赖的都是cookie,那么什么是Cookie呢? 简单来说:cookie就是一段文本,它存储在客户端(通常来说是浏览器).你可以把cookie当作一个map,里边是键值对,每个键值对有 过期时间.

php使用cookie实现记住用户名和密码实现代码

  这篇文章主要介绍了php使用cookie实现记住用户名和密码实现代码,本文直接给出实现代码,需要的朋友可以参考下 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 <meta http-equiv="Content-Type" content="text/html; char

jquery cookie 与asp.net实现登录记住用户名密码

jquery实现cookie登录记住用户名密码问题,只需在页面写上相应js方法后台不用做任何处理,下次登录就能记住用户名和密码 先来介绍关于jquery读取cookie方法 example $.cookie('the_cookie', 'the_value'); 设置cookie的值 example $.cookie('the_cookie', 'the_value', {expires: 7, path: '/', domain: 'jquery.com', secure: true}); 新

JQuery实现记住用户名和密码的方法

 这篇文章主要介绍了JQuery实现记住用户名和密码的方法,需要的朋友可以参考下  代码如下: <div>  <input id="username" type="text" class="txt1" value="请输入用户名" onclick="if(this.value=='请输入用户名'){this.value=''; }" onfocus="if(this.value=