栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java web中使用cookie记住用户的账号和密码

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java web中使用cookie记住用户的账号和密码

毕业设计中需要用到记住账号密码的功能,网上搜到了一个解决方案,自己稍加改造就是下面的方法。

首先是登录的页面,当用户勾选记住密码,传递给controller(我用的SSM框架),后台设置cookie的值,然后下次登录的时候就不用再次输入账号和密码了。

login.jsp的代码:

<%@page import="org.apache.commons.lang.StringUtils"%> 
<%@ page language="java" contentType="text/html; charset=UTF-8" 
 pageEncoding="UTF-8"%> 
<%@include file="public/nocache.jsp" %> 
<%@include file="public/header.jsp" %> 
 
 
 
  body{ 
  margin:0px; 
  padding:0px; 
  } 
  .wrapper{ 
  width:100%;height:100%;position:fixed; 
  } 
  .content{ 
  width:100%; 
  height:100%; 
  position:relative;  
  text-align:center;  
  } 
  .login{ 
  width:1050px; 
  height:450px;   
  position:absolute; 
  top:50%; 
  left:50%; 
  margin-top:-225px; 
  margin-left:-525px; 
  } 
 
 
<%@include file="public/headertop.jsp" %> 
 
 
 <%-- 读取cookie --%> 
 <% 
  String name = ""; 
  String password = ""; 
  try{ 
   cookie[] cookies = request.getcookies(); 
   if(cookies!=null){ 
    for(int i = 0;i 
  
    
    
     
     

 
  
  
  
  

汽车维修管理系统
Vehicle Maintenance Management System

后台处理的java部分代码:

package com.javaweb.controller; 
import javax.servlet.http.cookie; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import org.apache.commons.lang.StringUtils; 
import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 
import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.context.annotation.Scope; 
import org.springframework.stereotype.Controller; 
import org.springframework.ui.Model; 
import org.springframework.web.bind.annotation.PathVariable; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.ResponseBody; 
import com.alibaba.fastjson.JSON; 
import com.javaweb.entity.Account; 
import com.javaweb.service.impl.ServiceFactory; 
import com.javaweb.utils.baseController; 
import com.javaweb.views.LoginBean; 
 
@Controller 
@Scope("prototype") 
@RequestMapping("/users") 
public class UserInfoController extends baseController{ 
 private static final Logger logger = LoggerFactory.getLogger(UserInfoController.class); 
 @Autowired 
 private ServiceFactory serviceFactory; 
  
 @RequestMapping("/login") 
 @ResponseBody 
 public String login(HttpServletRequest request,HttpServletResponse response,Model model,Account account){ 
  logger.info("用户尝试登录:"+JSON.toJSonString(account)); 
  if(account==null){ 
    return responseFail("提交的参数为空!"); 
  }else{ 
   if(StringUtils.isBlank(account.getAccountnumber())){ 
    return responseFail("用户的账号为空"); 
   } 
   if(StringUtils.isBlank(account.getPasswords())){ 
    return responseFail("用户的密码为空"); 
   } 
   LoginBean loginBean = null; 
   loginBean = serviceFactory.getUserValidateService().userislawable(account); 
   if(loginBean==null){ 
    return responseFail("用户名或者密码输入不正确"); 
   }else{// 如果成功 
    // 把loginbean放到session中 
    request.getSession().setAttribute("user", loginBean); 
    // 放到cookie中 
    String flag = request.getParameter("flag"); 
    // 如果需要记住账户就存储账号和密码 
    if(flag!=null&&flag.equals("1")){ 
     cookie cookie = new cookie("cookie_user",loginBean.getAccountnumber()+"-"+loginBean.getPasswords()); 
     cookie.setMaxAge(60*60*24*3);// 保存 
     response.addcookie(cookie); 
     logger.info("存储用户的cookie:"+loginBean.getAccountnumber()+"-"+loginBean.getPasswords()); 
    }else{// 如果没有要求记住账户密码,就保存账户 
     cookie cookie = new cookie("cookie_user", loginBean.getAccountnumber()); 
     cookie.setMaxAge(60*60*24*30); 
     response.addcookie(cookie); 
     logger.info("存储用户的cookie:"+loginBean.getAccountnumber()); 
    } 
    // 跳转到主页    
    logger.info("用户:"+loginBean.getAccountnumber()+"成功进入系统");  
    return responseSuccess(loginBean, "登录成功"); 
   } 
  } 
 } 
  
 @RequestMapping("/{accountnum}/logout.html") 
 public String logout(HttpServletRequest request,Model model,@PathVariable("accountnum") String accountnum){ 
  logger.info("用户"+accountnum+",退出系统登录..."); 
  // 设置session为空 
  request.getSession().setAttribute("user", null); 
  // 页面跳转 
  return "login"; 
 } 
} 

运行效果:

输入账号密码登录后:

退出后重新登录:

以上所述是小编给大家介绍的java web中使用cookie记住用户的账号和密码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对考高分网网站的支持!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/148149.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号