成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

Springboot+Thymeleaf+Jpa實現登錄功能(附源碼)

瀏覽:161日期:2023-03-10 18:04:31
目錄前言具體實現配置文件application.yml的代碼Po(實體)層代碼(User.java)Dao(數據庫操作)層代碼(UserDao.java)Service(服務)層代碼驗證碼功能前言

最近有學習到關于Springboot+Thymeleaf+Jpa的綜合運用知識,因此想寫一個簡單的登錄界面來嘗試一下,以下將展示具體流程

具體實現

首先要創建一個springboot項目

Springboot+Thymeleaf+Jpa實現登錄功能(附源碼)

添加以下依賴項

Springboot+Thymeleaf+Jpa實現登錄功能(附源碼)

pom.xml代碼

<?xml version='1.0' encoding='UTF-8'?><project xmlns='http://maven.apache.org/POM/4.0.0' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd'> <modelVersion>4.0.0</modelVersion> <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.4.5</version><relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>demo1</artifactId> <version>0.0.1-SNAPSHOT</version> <name>demo1</name> <description>Demo project for Spring Boot</description> <properties><java.version>1.8</java.version> </properties> <dependencies><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional></dependency><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope></dependency><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope></dependency> </dependencies> <build><plugins> <plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId> </plugin></plugins> </build></project>配置文件application.yml的代碼

在mysql://localhost:3306/后更改為自己的數據庫名字,另外username和password同樣更改為自己數據庫的用戶名和密碼

spring: thymeleaf: mode: HTML datasource: url: jdbc:mysql://localhost:3306/demo1?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root password: root jpa: hibernate: ddl-auto: update show-sql: truePo(實體)層代碼(User.java)

建立一個簡單的用戶類,里面包含id主鍵(用jpa寫po層必須要有主鍵用@id注解)

@Entitypublic class User { @Id private Integer id; private String name; private String password; public Integer getId() {return id; } public void setId(Integer id) {this.id = id; } public String getName() {return name; } public void setName(String name) {this.name = name; } public String getPassword() {return password; } public void setPassword(String password) {this.password = password; } @Override public String toString() {return 'User{' +'id=' + id +', name=’' + name + ’’’ +', password=’' + password + ’’’ +’}’; }}Dao(數據庫操作)層代碼(UserDao.java)

創建一個接口繼承jpa的數據庫操作<>里第一個參數,代表要操作的具體哪一個Po層,第二個參數代表這個Po層的主鍵類型寫了一個方法(也就是JPA最香的地方,可以通過簡單的名字對應關系進行sql的查找)通過name和password查找一個用戶

public interface UserDao extends JpaRepository<User,Integer> { User findByNameAndPassword(String name,String password);}Service(服務)層代碼

Service層接口(Userservice.java)

public interface UserService { User finduser(String name,String password);}

Service層具體實現(UserServiceimpl.java)

@Servicepublic class UserServiceImpl implements UserService { @Autowired UserDao userDao; @Override public User finduser(String name, String password) {return userDao.findByNameAndPassword(name,password); }}驗證碼功能

因為要用到了驗證碼的實現功能,所以采取了一位大佬的驗證碼生成的操作進行集成它的工具類 VerifyCode.java以及CaptchaController.java本博客就不貼了,移步大佬博客進行使用即可參考文章(關于驗證碼)

Controller(控制)層代碼(LoginController.java)

@Controllerpublic class LoginController { @Autowired UserService userService; @RequestMapping('/') public String login() {return 'login'; } @RequestMapping('/dologin') public String dologin(User user, HttpSession session, String verifycode, Model model) {User user1=userService.finduser(user.getName(), user.getPassword());String code= (String) session.getAttribute('verifyCode');if(user1!=null&&code.equalsIgnoreCase(verifycode)){ model.addAttribute('message','成功'); return 'enter';}else{ model.addAttribute('message','失敗'); return 'enter';} }}

Html頁面代碼

注意三個input里面的name屬性,很多初學者(包括我)會好奇Controller是怎么獲取網頁上輸入的具體的值?實際上就是通過name屬性比如說第一個參數user,因為它里面有user.name和user.password屬性,因此可以通過在html里進行對name屬性的更改來實現數據的尋找,第二個參數verifycode也是一樣的道理注意驗證碼后的input框的name屬性是verifycode,第三個屬性model也是常用屬性,此處是為了在頁面上進行具體的消息顯示

public String dologin(User user, HttpSession session, String verifycode, Model model)

登錄頁面(login.html)

<!DOCTYPE html><html lang='en' xmlns:th='http://www.w3.org/1999/xhtml'><head> <meta charset='UTF-8'> <title>Title</title></head><body> <form action='/dologin'> <div> <span> 名字: </span> <input type='text' name='name' > </div> <div><span> 密碼:</span><input type='password' name='password' > </div> <div><span> 驗證碼</span><input type='text' name='verifycode'> </div> <div><a href='javascript:void(0);' rel='external nofollow' > <img th:src='http://www.piao2010.com/bcjs/@{getVerifyCode}' onclick='changeCode()' /></a> </div> <div> <button type='submit'>登錄</button> </div> </form> <script src='http://libs.baidu.com/jquery/2.0.0/jquery.min.js'></script> <script> function changeCode() { const src = 'http://www.piao2010.com/getVerifyCode?' + new Date().getTime(); //加時間戳,防止瀏覽器利用緩存 $(’.verifyCode’).attr('src', src); } </script></body></html>

判斷登錄是否成功的頁面(enter.html)

通過Thymeleaf的表達式,對message進行取值,來反應登錄是否成功

model.addAttribute('message','成功');model.addAttribute('message','失敗');

<!DOCTYPE html><html lang='en' xmlns:th='http://www.w3.org/1999/xhtml'><head> <meta charset='UTF-8'> <title>Title</title></head><body> <h2 th:text='${message}'> 登錄成功 </h2></body></html>

最后的項目目錄結構

Springboot+Thymeleaf+Jpa實現登錄功能(附源碼)

到此這篇關于Springboot+Thymeleaf+Jpa實現登錄功能(附源碼)的文章就介紹到這了,更多相關Springboot Thymeleaf Jpa登錄內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
日韩国产成人精品| 国产在线不卡一区| 美女一区二区在线观看| 亚洲一区欧美激情| 一区二区三区精品视频| 亚洲精品日韩久久| 亚洲码国产岛国毛片在线| 欧美午夜视频| 久久久久久久免费视频了| 成人av资源网站| 8x福利精品第一导航| 美女国产一区二区三区| 在线免费视频一区二区| 免费成人在线影院| 欧洲精品一区二区| 亚洲高清在线精品| 男女精品网站| 婷婷六月综合亚洲| 一本大道久久a久久精品综合| 亚洲国产精品一区二区久久| 国产视频精品网| 亚洲小说春色综合另类电影| 亚洲一区二区动漫| 偷拍与自拍一区| 色狠狠桃花综合| 男男成人高潮片免费网站| 欧美在线视频你懂得| 久久精品国内一区二区三区| 欧美三区免费完整视频在线观看| 国产综合色在线| 日韩一级免费观看| 成人爱爱电影网址| 欧美激情一区二区| 亚洲高清成人| 亚洲影视在线播放| 色婷婷一区二区| 久久99精品国产麻豆不卡| 欧美美女bb生活片| 成人黄色软件下载| 国产精品欧美极品| 国产精品入口| 久久国产三级精品| 欧美不卡一二三| 欧美日韩国产免费观看| 亚洲同性同志一二三专区| 日韩视频在线播放 | 国产精品伦理一区二区| 亚洲黄网站黄| 秋霞影院一区二区| 欧美一区二区在线视频| 色综合天天综合在线视频| 亚洲丝袜另类动漫二区| 亚洲欧美日韩在线观看a三区 | 欧美系列亚洲系列| 国产91富婆露脸刺激对白| 久久久亚洲午夜电影| 狠狠爱综合网| 五月综合激情日本mⅴ| 91精品在线麻豆| 欧美日韩国产精品一卡| 亚洲一区二区视频在线| 欧美午夜在线观看| 99久久99久久精品免费看蜜桃| 一区精品在线播放| 久久综合九色综合久99| 国产精品77777| 中文字幕av免费专区久久| 亚洲在线播放电影| 国内偷窥港台综合视频在线播放| 精品国产91九色蝌蚪| 影音先锋一区| 久久精品国产精品亚洲精品 | 一区二区三区在线高清| 欧美亚洲高清一区| 成人av资源网站| 亚洲精品高清在线观看| 欧美色图在线观看| 91丝袜美腿高跟国产极品老师 | 99精品福利视频| 国产伦精品一区二区三区视频青涩| 国产日产欧美一区二区视频| 校园春色综合网| 粉嫩高潮美女一区二区三区 | 国产一区二区成人久久免费影院 | 亚洲精品午夜久久久| 欧美日免费三级在线| 91麻豆.com| 亚洲大片精品永久免费| 日韩欧美国产三级电影视频| 亚洲精品一区二区三区av| 国内精品免费在线观看| 国产精品萝li| 欧美在线综合视频| 狠狠综合久久| 国产一区二区三区在线观看免费视频 | 国产亚洲va综合人人澡精品| 免费看的黄色欧美网站| 成人av在线资源网| 亚洲aⅴ怡春院| 精品国产伦一区二区三区免费| 一本色道久久| 国产不卡免费视频| 亚洲国产日韩a在线播放| 久久在线观看免费| 欧美亚洲国产一区在线观看网站| 国产综合第一页| 国内一区二区视频| 一区二区三区日本| 精品国产一区二区三区四区四| 久久黄色网页| 色综合天天综合网天天看片| 另类小说一区二区三区| 中文字幕中文字幕在线一区| 欧美日韩精品一区二区在线播放| 精品不卡一区| 国产九色sp调教91| 亚洲图片欧美综合| 国产欧美精品一区aⅴ影院| 欧美色网站导航| 亚洲一区二区网站| 亚洲精品免费在线| 亚洲图片欧美激情| 日韩高清在线一区| 亚洲五月婷婷| 7777精品伊人久久久大香线蕉经典版下载 | 国产精品色眯眯| 欧洲av一区二区嗯嗯嗯啊| 色欧美88888久久久久久影院| 国产一区再线| 欧美精品午夜| 国内精品久久久久影院薰衣草 | 亚洲午夜免费福利视频| 国产喷白浆一区二区三区| 欧美日韩国产综合视频在线观看| 日韩亚洲精品在线| 成人性生交大片| 美腿丝袜亚洲一区| 亚洲影视在线观看| 中文字幕综合网| 欧美精品一区二| 91精品欧美一区二区三区综合在| 久久久夜夜夜| 国产一区二区三区成人欧美日韩在线观看| 91丨九色丨黑人外教| 国产剧情一区二区| 另类小说视频一区二区| 亚洲香肠在线观看| 综合久久国产九一剧情麻豆| 国产亚洲欧美激情| 精品999在线播放| 69堂成人精品免费视频| 欧美色图片你懂的| 在线视频国内一区二区| 久久精品二区| 一本一道久久综合狠狠老精东影业 | 7777精品伊人久久久大香线蕉的 | 免费试看一区| 99精品国产在热久久| 国产一区日韩一区| 色综合视频在线观看| 不卡一区在线观看| 国产精品99久久久| 国产麻豆9l精品三级站| 久久99精品久久久久久国产越南 | 五月激情丁香一区二区三区| 亚洲另类一区二区| 久久久国产午夜精品 | 国产伦一区二区三区色一情| 在线看片日韩| 好吊视频一区二区三区四区 | 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲午夜羞羞片| 亚洲少妇30p| 综合久久国产九一剧情麻豆| 国产精品国产成人国产三级| 中文字幕免费不卡在线| 国产亚洲污的网站| 久久久久国产一区二区三区四区| 精品乱码亚洲一区二区不卡| 日韩三级中文字幕| 欧美一区二区三区视频免费| 在线综合亚洲欧美在线视频| 欧美一区二区三区爱爱| 欧美久久久久免费| 在线综合视频播放| 欧美一区二区在线观看| 欧美一区二区三区爱爱| 日韩一级高清毛片| 日韩三区在线观看| 久久午夜色播影院免费高清| 国产欧美视频一区二区三区| 国产精品免费观看视频| 中文字幕亚洲欧美在线不卡| 亚洲精选一二三| 一区二区在线观看免费视频播放| 亚洲一区二区四区蜜桃| 日韩中文字幕av电影| 麻豆中文一区二区| 国内不卡的二区三区中文字幕 | 国产一区二区在线免费观看|