通过cookie记住用户名和密码
1.登陆页面如下:
每个字段对应的属性name如下表:
用户帐号 | name |
登陆密码 | password |
验证码 | checkNum |
记住我 | rememberMe |
2.Action中的处理如下:
在用户第一次登陆后,进行Cookie进行处理
登陆处理:
- /**登陆*/
- public String login() throws Exception{
- //处理验证码:判断验证码输入的是否正确
- boolean flag=VerificationCodeUtil.isCheckNum(request);
- if(!flag){
- this.addFieldError("checkNum", "验证码有误");
- return "loginUI";
- }
- User user=userService.findByLoginNameAndPassword(model.getName(),model.getPassword());
- if(user==null){
- addFieldError("login", "用户名或密码不正确");
- return "loginUI";
- }else{
- ActionContext.getContext().getSession().put("user", user);
- //处理Cookie
- addCookie(model.getName(),model.getPassword(),response,request);
- return "toIndex";
- }
- }
Cookie处理:
- /**Cookie的实现 **/
- private void addCookie(String name, String password,HttpServletResponse response, HttpServletRequest request) throws UnsupportedEncodingException {
- if(StringUtils.isNotBlank(name)&&StringUtils.isNotBlank(password)){
- //创建Cookie
- Cookie nameCookie=new Cookie("name",URLEncoder.encode(name,"utf-8"));
- Cookie pswCookie=new Cookie("psw",password);
- //设置Cookie的父路径
- nameCookie.setPath(request.getContextPath()+"/");
- pswCookie.setPath(request.getContextPath()+"/");
- //获取是否保存Cookie
- String rememberMe=request.getParameter("rememberMe");
- if(rememberMe==null){//不保存Cookie
- nameCookie.setMaxAge(0);
- pswCookie.setMaxAge(0);
- }else{//保存Cookie的时间长度,单位为秒
- nameCookie.setMaxAge(7*24*60*60);
- pswCookie.setMaxAge(7*24*60*60);
- }
- //加入Cookie到响应头
- response.addCookie(nameCookie);
- response.addCookie(pswCookie);
- }
- }
3.JSP页面的处理如下:
在登陆的JSP页面中加入下面代码,以获得用户名和密码并自动填写:
- <%
- String name="";
- String psw="";
- String checked="";
- Cookie[] cookies=request.getCookies();
- if(cookies!=null&&cookies.length>0){
- //遍历Cookie
- for(int i=0;i<cookies.length;i++){
- Cookie cookie=cookies[i];
- //此处类似与Map有name和value两个字段,name相等才赋值,并处理编码问题
- if("name".equals(cookie.getName())){
- name=URLDecoder.decode(cookie.getValue(),"utf-8");
- //将"记住我"设置为勾选
- checked="checked";
- }
- if("psw".equals(cookie.getName())){
- psw=cookie.getValue();
- }
- }
- }
- %>
最后对用户名,密码,记住我字段添加value即可:
- <TR>
- <TD class="td">用户帐号:</TD>
- <TD class="td"><input name="name" type="text" value="<%=name %>" id="name"/></TD>
- </TR>
- <TR>
- <TD class="td">登录密码:</TD>
- <TD class="td"><input name="password" type="password" value="<%=psw %>" id="password"></TD>
- </TR>
- <TR>
- <TD class="td">记住我:</TD>
- <TD class="td"><input name="rememberMe" type="checkbox" id="rememberMe" class="checkbox" <%=checked %>></TD>
- </TR>
4.可能出现的问题
如果出现设置了却没有自动填写用户名和密码,则可能是地址的问题:
解决办法:
1.进入Internet选项,点击浏览历史记录一栏的设置
2.进入浏览记录设置后,点击查看文件
3.在弹出的文件夹里找到Cookie文件,名字为你的项目名+“/”,格式如下图,这个文件一般在文件夹的最后面,将此文件复制到桌面,注:此文件是无法直接在该文件夹里打开的。
4.如下图,第三行为保存项目工程的路径,此时在Action里的Cookie处理中,根据该地址设置对应的Cookie父路径即可,上文已经设置。
通过cookie记住用户名和密码相关推荐
- java web项目用cookie记住用户名、密码
1.jsp页面: <% String flag = (String)session.getAttribute("flag")==null?"":(Stri ...
- jsp使用cookie实现记住用户名和密码
首先说一下实现的功能: 用户打开注册页面,最下面有个记住用户名和密码的复选框,如果勾选上,则在登录页面会自动将用户名和密码赋值到文本框中,使用java中的cookie实现,下面就是代码: 注册页面代码 ...
- java 的记住用户名和密码,JAVA--高级基础开发Cookie实现记住用户名和密码
今天为大家分享关于 JAVA--高级基础开发Cookie实现记住用户名和密码 的文章 ,文章写的挺好的就转载过来了,希望能在大家的学习与工作中帮助到大家,下面我们一起来看看吧! 前端JSP页面: 实现 ...
- java记住用户名和密码_JAVA--高级基础开发Cookie实现记住用户名和密码
前端JSP页面: 实现保存用户名和密码 Cookie // 用户名 String user = ""; // 登录密码 String pass = ""; // ...
- ajax实现登录成功后设置cookie,使用jquery的cookie实现登录页记住用户名和密码的方法...
对于初学者来说,登录页记住用户名和密码的功能是经常会遇到的(通常会用javaee的api去实现),今天为大家介绍在前端页面直接用jquery实现该功能(比传统的方法简单多了),长话短说直接进入正题: ...
- php让手机浏览器记住密码,php 利用cookie实现网页记住用户名和密码的功能
这篇文章介绍的内容是关于php 利用cookie实现网页记住用户名和密码的功能,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 1.html部分 记住账号密码 记住用户名和密码 用 户 ...
- php记住用户名功能,php利用cookie实现网页记住用户名和密码的功能
这篇文章介绍的内容是关于php 利用cookie实现网页记住用户名和密码的功能,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 1.html部分 记住账号密码 记住用户名和密码 用 户 ...
- php记住用户名功能,php使用cookie实现记住用户名和密码实现代码
记住用户名和密码 用 户 名:密码:记住用户名和密码<?php if($_COOKIE['remember'] == 1){?><?php }else{($_COOKIE['reme ...
- jsp 通过cookie 记住用户名
2019独角兽企业重金招聘Python工程师标准>>> jsp 通过cookie 记住用户名 博客分类: Java Web 记住用户名记住密码remember mecookie会话 ...
最新文章
- 依图颜水成:AI芯片设计要深度融合算法,才能实现极致性能
- 【opencv】15.H265Decoder解码h265为cv::Mat完整代码
- C/C++练习题(一)
- 网友:这才是高质量人类女性!32岁清华女博士获奖百万
- Python 中的numpy 库
- Try Redis : Redis 入门教程
- Oracle使用sqlplus登录用户尽量使用nolog登录
- 威联通架设php网站_如何架设PHP服务器
- MYSQL MYSQLI PDO
- 怎么查询sybase money列数据长度_用PBI分析上市公司财务数据(一)
- 带通滤波器的matlab程序设计
- C题:无线充电电动小车(本科)--2018年TI杯大学生电子设计竞赛
- opengl虚拟校园漫游
- 七周成为数据分析师—Excel实战篇
- 仿购物网站-HTML手写代码(仅提供参考)
- java语言中cpu数据_重塑云上的 Java 语言
- 不知如何选股?不知哪种指标策略可靠?量化分析比较DMA、DMI、MACD、KDJ、BOLL指标策略收益情况
- The 2020 ICPC Asia Macau Regional Contest
- 混淆矩阵 python实现
- 单元测试与E2E测试