java web中登录时如何记住用户名呢?
具体思路:
登录界面如下:
在后台(Servlet 或struts 的action)中进行判断,若登录成功则通过HttpServletResponse 添加一个cookie.
在登录的jsp页面中,通过request 获取cookie数组,然后遍历,若找到相应的cookie,则把cookie的value设置到表单的对应文本框中.
具体代码如下:
登录的JSP页面中(核心代码):
<body> <% Cookie[] cookies = request.getCookies(); String username33=""; if (cookies != null) { for (Cookie c : cookies) { /*if ("password22".equals(c.getName())) { user.setPassword(URLDecoder.decode(c.getValue(), "utf-8")); continue; }*/ if ("userEmail".equals(c.getName())) { username33=URLDecoder.decode(c.getValue(), "utf-8"); break; } } } %> <script type="text/javascript"> window.onload=function(){ var username1='<%=username33 %>'; //alert("username1:"+username1); if(username1){ if(username1!='' && username1!=null &&username1!=undefined){ document.getElementsByName("user.username")[0].value=username1; } } } </script> ... </body>
后台的action:
if (isLogin) { //保存用户名(目前是邮箱) String emaiCookieName = "userEmail"; HttpServletRequest request=ServletActionContext.getRequest(); Cookie[] cookies = request.getCookies(); boolean flag = false; Cookie emailCook = null; if (cookies != null) { System.out.println("cookie 不为空"); for (Cookie c : cookies) { if (emaiCookieName.equals(c.getName())) { System.out.println("找到了 "+emaiCookieName); System.out.println("cookie的值为 "+c.getValue()); try { c.setValue(URLEncoder.encode(this.user.getUsername(), "utf-8")); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } emailCook = c; flag = true; break; } } } if (!flag) { System.out.println("没有找到 "+emaiCookieName); try { emailCook = new Cookie(emaiCookieName, URLEncoder.encode( this.user.getUsername(), "utf-8")); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } if (null != emailCook) { HttpServletResponse response=ServletActionContext.getResponse(); if(!ValueWidget.isNullOrEmpty(issave) && issave.equalsIgnoreCase("save")){ emailCook.setMaxAge(10000000); response.addCookie(emailCook); System.out.println("保存cookie"); }else{ System.out.println("让 cookie 失效"); emailCook.setMaxAge(0); response.addCookie(emailCook); } } return Action.SUCCESS; }
源代码见附件
说明:
该项目使用maven 构建;
IDE:eclipse
数据库:mysql
登录地址:http://localhost:8080/shop_goods/user/loginInput.action
相关推荐
在这个“cookie实现记住用户名密码”的项目中,我们主要会涉及到Java Web开发环境,如IntelliJ IDEA和Tomcat服务器,以及关键的技术点——Cookie与JSP的结合。 1. **Cookie基础概念** - Cookie由服务器创建,存储...
当用户勾选“记住用户名”选项并成功登录后,系统需要将该用户名存储在一个持久化的介质上,如浏览器的Cookie或本地存储。当用户再次访问网站时,系统检查是否存在这个Cookie或本地存储的数据,如果存在,则自动填充...
### 使用Cookie记录用户名和密码:深入解析与实践 在现代Web开发中,用户认证与会话管理是构建安全且用户...通过结合以上技术与最佳实践,可以有效地使用Cookie来记录用户名和密码,同时保持良好的安全性和用户体验。
在Web开发中,"jsp+servlet+Cookie实现...总之,通过JSP、Servlet和Cookie的组合,开发者可以创建一个具备记住密码功能的登录系统,提高用户的使用体验。但在实现过程中,应始终关注安全性,以保护用户的数据不被滥用。
总结来说,通过合理设置和管理Cookie,开发者可以实现“记住用户名和密码登录期限”的功能。在实现这一功能时,要注意平衡用户体验与安全性的关系,确保用户数据的安全。同时,随着技术的发展,现代Web应用可能还会...
在Java Web开发中,实现“记住用户名和密码”的功能通常涉及到使用Cookie技术。Cookie是一种小型文本文件,由服务器发送到用户的浏览器并存储在本地,以便在用户下次访问同一网站时,浏览器可以将这些Cookie发送回...
JSP改造Cookie案例1 本例子展示了如何使用Java ...通过这个案例,我们学习了如何使用Java Servlet和Cookie来实现记住用户名的功能。我们还学习了如何使用QueryRunner来执行数据库查询,以验证用户的账户和密码。
在JavaWeb中,我们可以利用Cookie来存储诸如用户名、密码等敏感信息的加密版本,以便在用户下次访问时自动填充表单。 **二、Cookie带来的好处** 1. **跟踪用户行为**:Cookie帮助网站记录用户的访问频率、停留时间...
在JSP中,可以通过`request.getCookies()`方法从客户端读取Cookie。这个方法返回一个Cookie对象数组,代表了所有接收到的Cookies。然后,可以通过循环遍历这个数组,使用`getName`和`getValue`方法来识别和读取特定...
当用户再次访问同一网站时,浏览器会自动将这些Cookie发送回服务器,从而允许服务器识别用户身份或记住之前的状态。每个Cookie都有一个唯一的名称和值,还可以设置过期时间、路径和域等属性。 二、创建Cookie 在...
在用户登录时,如果用户勾选了“记住我”的选项,系统会将用户的用户名或加密后的密码存储在客户端的Cookie中。Cookie是一种小型文本文件,由服务器发送到用户的浏览器并存储在那里。在用户下次访问网站时,浏览器会...
在Java Web开发中,"jsp java中...总结起来,通过在JSP和Java中利用Cookie技术,我们可以实现“记住密码”的功能,为用户提供便捷的登录体验。但同时,必须注重安全性和隐私保护,遵循最佳实践,确保用户信息的安全。
综上所述,"jsp,自动登录,记住密码"是通过JSP和Cookie技术实现的一种用户体验优化,但同时也需要考虑到安全性和隐私保护。在设计和实现这样的功能时,开发者需要平衡便捷性与安全性,确保系统的可靠性和用户的数据...
当用户成功登录后,若选中了“记住我”,服务器将在响应中设置一个或两个Cookie("username"和"password"),并将它们的值设置为用户输入的用户名和密码。这样,这些Cookie就会存储在用户的浏览器中。 ```jsp // ...
这个功能允许用户在选择“记住用户名和密码”后,下一次访问网站时,系统能自动填充登录表单,提供便捷的用户体验。这个过程涉及到浏览器存储用户信息的方式,主要使用到的技术是Cookie。 Cookie是一种在客户端存储...
### Cookie详解及JSP中的应用 #### 一、Cookie简介 ...在JSP中,通过合理的设置Cookie的属性如有效期和路径,可以更好地管理和利用Cookie。同时,需要注意Cookie的安全性问题,避免敏感信息的泄露。
location.href = "/index.jsp"; }else{ $("#overlay").hide(); $("#tip").text("用户名或密码错误,请重新登录!"); return false; } } }); } ``` `save()`函数负责处理记住用户名和密码的逻辑。如果"记住...
知识点一:会话的基本概念 会话是指在Web应用中,一个客户端(通常为浏览器)与Web...Cookie的应用场景包括记住用户名、自动登录(记住用户名和密码)等。 以上就是对“cookie&session.pdf”文件中知识点的详细解析。
JSP页面内容介绍 index.jsp 登录表单界面,默认勾选十天记住登录 提交表单执行doLogin.jsp逻辑 同时页面加载时需要判断之前是否有记住的登陆状态的选项,即查cookie是否存在 存在则在用户名和密码输入框中自动填入...