最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JAVA記住密碼功能的實(shí)現(xiàn)代碼

 更新時(shí)間:2020年01月17日 10:59:57   作者:luo_同學(xué)  
這篇文章主要介紹了JAVA記住密碼功能的實(shí)現(xiàn)代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

準(zhǔn)備:SSM框架,mysql數(shù)據(jù)庫(kù)

用戶表 user

實(shí)體類:

public class User {
  /**
   * 主鍵id
   */
  private Integer userId;
  /**
   * 賬號(hào)
   */
  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

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 命名空間 -->
<mapper namespace="com.luowx.mapper.UserMapper">

  <resultMap id="userMap" type="User">
    <id property="userId" column="user_id"/>
    <result property="username" column="username"/>
    <result property="password" column="password"/>
  </resultMap>

  <select id="getUserByname" resultMap="userMap">
    select * from s_user where username=#{username}
  </select>
</mapper>

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, "用戶名或密碼錯(cuò)誤");
      }
    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的

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
  <title>登錄</title>
  <link rel="stylesheet" href="/bootstrap4/css/bootstrap.min.css" rel="external nofollow" >
  <style>
    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;
    }
  </style>
</head>
<body>
<div class="container">
  <div><img src="img/login_bg_pic.jpg"></div>
  <form action="getUserByname" method="post" id="loginForm">
    <div class="form-group">
      <label for="exampleInputEmail1">用戶名</label>
      <input type="text" class="form-control" id="exampleInputEmail1" name="userId" autocomplete="off" value="${userId}">
    </div>
    <div class="form-group">
      <label for="exampleInputPassword1">密碼</label>
      <input type="password" class="form-control" id="exampleInputPassword1" name="password" value="${password}">
    </div>
    <%--驗(yàn)證碼--%>
    <div class="form-group">
      <div class="input-icon" style="display: flex;justify-content: space-around;align-items: center">
        <i class="fa fa-picture-o"></i>
        <input class="form-control" style="width:180px;" type="text" id="verifyCode" name="verifyCode" placeholder="驗(yàn)證碼" maxlength="4" autocomplete="off">
        <img src="${pageContext.request.contextPath }/getVerifyCode" width="110" height="34" id="verifyCodeImage">
      </div>
    </div>
    <div class="custom-control custom-checkbox mb-3 was-validated">
      <input type="checkbox" class="custom-control-input" id="rem" name="remember" checked>
      <label class="custom-control-label" for="rem">記住密碼</label>
    </div>
    <button type="button" class="btn btn-primary login">登 錄</button>
    <a href="/forgotpass" rel="external nofollow" ><button type="button" class="btn btn-danger">忘記密碼</button></a>
    <br><br>
    <div class="nice">
      歡迎來到:<br>教務(wù)綜合信息服務(wù)平臺(tái)
    </div>
  </form>
  <script src="/js/jquery-3.4.1.min.js"></script>
  <script src="/bootstrap4/js/bootstrap.min.js"></script>
  <script>
    $(function () {
      $(".login").click(function () {
        //發(fā)送ajax請(qǐng)求
        $.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("<div>" + res.message + "</div>");
            }
          }
        });
      });

    });

  </script>

</div>
</body>
</html>

總結(jié)

以上所述是小編給大家介紹的JAVA記住密碼功能的實(shí)現(xiàn)代碼,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • Jenkins系統(tǒng)如何進(jìn)行數(shù)據(jù)備份

    Jenkins系統(tǒng)如何進(jìn)行數(shù)據(jù)備份

    隨著我們的長(zhǎng)期使用,Jenkins系統(tǒng)中的內(nèi)容會(huì)越來越多,特別是一些配置相關(guān)的東西,不能有任何丟失。這個(gè)時(shí)候我們就需要定期備份我們的Jenkins系統(tǒng),避免一些誤操作不小心刪除了某些重要文件,本文就將介紹下Jenkins系統(tǒng)如何進(jìn)行數(shù)據(jù)備份
    2021-06-06
  • Spring?MVC?URL地址映射的示例代碼

    Spring?MVC?URL地址映射的示例代碼

    @RequestMapping是一個(gè)用來處理請(qǐng)求地址映射的注解,可用于類或方法上。用于類上,表示類中的所有響應(yīng)請(qǐng)求的方法都是以該地址作為父路徑。,這篇文章主要介紹了Spring?MVC?URL地址映射,需要的朋友可以參考下
    2022-07-07
  • Java基礎(chǔ)之序列化與反序列化詳解

    Java基礎(chǔ)之序列化與反序列化詳解

    這篇文章主要介紹了Java基礎(chǔ)之序列化與反序列化詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-04-04
  • java引用jpython的方法示例

    java引用jpython的方法示例

    這篇文章主要介紹了java引用jpython的方法,結(jié)合實(shí)例形式分析了java引用jpython及相關(guān)使用技巧,需要的朋友可以參考下
    2016-11-11
  • Spring中存對(duì)象和取對(duì)象的方式詳解

    Spring中存對(duì)象和取對(duì)象的方式詳解

    這篇文章主要介紹了Spring中存對(duì)象和取對(duì)象的方式,Spring中更簡(jiǎn)單的存對(duì)象與取對(duì)象的方式是注解,注解實(shí)現(xiàn)有兩種方式:一在編譯的時(shí)候,把注解替換成相關(guān)代碼,并添加到我們?cè)瓉淼拇a中,二攔截方法,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下
    2024-08-08
  • 理解java多線程中ExecutorService使用

    理解java多線程中ExecutorService使用

    這篇文章主要幫助大家理解java多線程中ExcetorServiced的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • Java基本語(yǔ)法筆記(菜鳥必看篇)

    Java基本語(yǔ)法筆記(菜鳥必看篇)

    下面小編就為大家?guī)硪黄狫ava基本語(yǔ)法筆記(菜鳥必看篇)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • Hibernate悲觀鎖和樂觀鎖實(shí)例詳解

    Hibernate悲觀鎖和樂觀鎖實(shí)例詳解

    這篇文章主要介紹了Hibernate悲觀鎖和樂觀鎖實(shí)例詳解,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • 使用java執(zhí)行定時(shí)任務(wù)示例

    使用java執(zhí)行定時(shí)任務(wù)示例

    這篇文章主要介紹了使用java執(zhí)行定時(shí)任務(wù)示例,需要的朋友可以參考下
    2014-04-04
  • java實(shí)現(xiàn)ThreadLocal線程局部變量的實(shí)現(xiàn)

    java實(shí)現(xiàn)ThreadLocal線程局部變量的實(shí)現(xiàn)

    本文主要介紹了java實(shí)現(xiàn)ThreadLocal線程局部變量的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07

最新評(píng)論

仁寿县| 藁城市| 休宁县| 内丘县| 江阴市| 寿宁县| 凌海市| 定结县| 鹤壁市| 从江县| 勃利县| 德格县| 延庆县| 高安市| 益阳市| 庆阳市| 黑水县| 紫阳县| 广宁县| 仁寿县| 萨迦县| 乡城县| 石嘴山市| 共和县| 江陵县| 资阳市| 于都县| 北碚区| 洪湖市| 余干县| 滦南县| 嘉定区| 商南县| 彰武县| 墨竹工卡县| 澎湖县| 大竹县| 林甸县| 南川市| 武强县| 巨野县|