java实现记住密码_JAVA记住密码功能的实现代码

本文介绍了使用JAVA实现记住密码功能的详细步骤,包括后端SSM框架与MySQL的配合,以及前端JSP页面的实现。通过UserMapper、Service、Impl层处理登录验证,若勾选记住密码,将用户信息保存在Cookie中。当用户再次访问时,可从Cookie读取信息实现自动登录。
摘要由CSDN通过智能技术生成

准备:SSM框架,mysql数据库

用户表 user

627c173034d1d650f181c32fd1ddd7fb.png

实体类:

public class User {

/**

* 主键id

*/

private Integer userId;

/**

* 账号

*/

private String username;

/**

* 密码

*/

private String password;

public Integer getUserId() {

return userId;

}

public void setUserId(Integer userId) {

this.userId = userId;

}

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

}

UserMapper

/p>

PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

select * from s_user where username=#{username}

mapper层

public interface UserMapper {

User getUserByname(String username);

}

service层

public interface UserService {

User getUserByname(String username, String password, HttpSession session, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse);

}

impl

@Service

public class UserServiceImpl implements UserService {

@Autowired

private UserMapper userMapper;

@Override

public ResultVO getUserByname(String username, String password, HttpSession session, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {

String remember = httpServletRequest.getParameter("remember");

if (username!= null && username!= 0){

User user = userMapper.getUserByname(username);

if (user != null && user.getPassword().equals(password)){

session.setAttribute("user", user);

if (remember != null){

Cookie cookieUser = new Cookie("username", username);

Cookie cookiePass = new Cookie("password", password);

cookieUser.setMaxAge(60 * 60 * 24);

cookiePass.setMaxAge(60 * 60 * 24);

httpServletResponse.addCookie(cookieUser);

httpServletResponse.addCookie(cookiePass);

return ResultVO.success(user);

}

return ResultVO.error(1, "用户名或密码错误");

}

return ResultVO.error(3, "用户名或密码不能为空");

}

}

Controller

@RestController

public class UserController {

@Autowired

private UserService userService;

//登录

@RequestMapping("/getUserByname")

public ResultVO getUserByname(String username, String password, HttpSession session, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse){

return userService.getUserByname(username, password, session, httpServletRequest, httpServletResponse);

}

}

前端代码(JSP)

html的自己修改下,样式是BootStrap的

登录

body{

background-color: #fafafa;

}

.nice{

position: relative;

display: flex;

align-items: center;

justify-content: center;

}

.container{

margin-top: 100px;

display: flex;

justify-content: space-between;

border: #b3b7bb 2px solid;

border-radius: 5px;

}

#loginForm{

width: 300px;

background-color: rgba(255,255,255,0.7);

margin-top: 30px;

border: #b3b7bb 1px solid;

border-radius: 5px;

}

login_bg_pic.jpg

用户名

密码

getVerifyCode

记住密码

登 录

忘记密码

欢迎来到:
教务综合信息服务平台

$(function () {

$(".login").click(function () {

//发送ajax请求

$.ajax({

url:'getUserByname',

type:'post',

data:$("#loginForm").serialize(),

success:function (res) {

console.log(res);

if (res.status === 0){

if(res.data.role === 0) {

location.href = "overview";

}else if (res.data.role === 1){

location.href = "teacher";

}else if (res.data.role === 2){

location.href = "teacher";

}else if (res.data.role === 3){

location.href = "student";

}

} else {

$(".nice").html("

" + res.message + "
");

}

}

});

});

});

总结

以上所述是小编给大家介绍的JAVA记住密码功能的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java实现登录记住账号密码的一种简单方法是使用Java的Preferences类。Preferences类提供了一种简单的方法来存储和读取应用程序的配置数据,包括用户名和密码等敏感信息。 以下是一个简单的示例代码,演示如何使用Preferences类来存储和读取用户名和密码: ```java import java.util.prefs.Preferences; public class LoginUtils { private static final String USERNAME = "username"; private static final String PASSWORD = "password"; public static void saveLoginInfo(String username, String password) { Preferences preferences = Preferences.userRoot().node(LoginUtils.class.getName()); preferences.put(USERNAME, username); preferences.put(PASSWORD, password); } public static String[] getLoginInfo() { Preferences preferences = Preferences.userRoot().node(LoginUtils.class.getName()); String username = preferences.get(USERNAME, ""); String password = preferences.get(PASSWORD, ""); return new String[]{username, password}; } } ``` 在登录时,调用saveLoginInfo()方法将用户名和密码存储在Preferences中,如下所示: ```java String username = "user"; String password = "pass"; LoginUtils.saveLoginInfo(username, password); ``` 在下次登录时,调用getLoginInfo()方法读取存储的用户名和密码,如下所示: ```java String[] loginInfo = LoginUtils.getLoginInfo(); String username = loginInfo[0]; String password = loginInfo[1]; ``` 请注意,使用Preferences类存储敏感信息存在一定的安全风险,因为Preferences存储在操作系统的注册表或类似位置中,可能会被其他应用程序访问。因此,建议对敏感信息进行加密或使用其他更安全的存储方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值