spring boot 实现最基础的登陆注册功能。
SpringBoot -登录注册
在前面的学习中我们学会简单创建一个springboot项目,那么现在就开始学习如何做注册登录了
工具springboot +maven +hibernate+mysql
1、项目结构
html 分为主页面index、注册register、登录login 和 登录成功success页面。
2、pom文件
<?xml version="1.0" encoding="UTF-8"?>
4.0.0
<groupId>com.online.shixun</groupId>
<artifactId>HelloSpringboot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>HelloSpringboot</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
<scope>true</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</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-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- 数据库包 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
3、编写实体User类
package com.online.shixun.entity;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity(name = “t_user”)
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String username;
private String password;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
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;
}
}
4、DAO层
package com.online.shixun.dao;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import com.online.shixun.entity.User;
@Repository
public interface UserDao extends JpaRepository<User, Long> {
public User findByUsernameAndPassword(String username, String password);
public List<User> findByUsername(String username);
}
5、Service层
package com.online.shixun.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.online.shixun.dao.UserDao;
import com.online.shixun.entity.User;
@Service
public class UserService {
@Autowired
UserDao userDao;
public User FindNameAndPsw(String username, String password) {
return userDao.findByUsernameAndPassword(username, password);
}
public void save(User user1) {
userDao.save(user1);
}
public List<User> findByName(String username) {
return userDao.findByUsername(username);
}
}
6、Controller类
package com.online.shixun.controller;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.online.shixun.entity.User;
import com.online.shixun.service.UserService;
@Controller
@RequestMapping("/front/*")
public class UserController {
@Autowired
UserService userService;
@RequestMapping("/")
public String index() {
return "index";
}
/**
* 去注册页面
*
* @return
*/
@RequestMapping("/register")
public String register() {
return "register";
}
/**
* 执行注册 成功后登录页面 否则调回注册页面
*
* @param request
* @param user
* @return
*/
@RequestMapping("/doregister")
public String register(HttpServletRequest request, User user) {
String username = request.getParameter("username");
String password = request.getParameter("password");
String password2 = request.getParameter("password2");
if (password.equals(password2)) {
if (registerUser(username) == true) {
User user1 = new User();
user1.setUsername(username);
user1.setPassword(password);
userService.save(user1);
return "login";
} else {
return "register";
}
} else {
return "register";
}
}
public Boolean registerUser(String username) {
Boolean a = true;
if (userService.findByName(username).isEmpty()) {
return a;
} else {
return false;
}
}
/**
* 去登录页面
*
* @return
*/
@RequestMapping("/login")
public String login() {
return "login";
}
/**
* 执行登录
*
* @param request
* @return
*/
@RequestMapping("/dologin")
public String login(HttpServletRequest request) {
String username = request.getParameter("username");
String password = request.getParameter("password");
User user = userService.FindNameAndPsw(username, password);
String str = "";
if (user != null) {
str = "success";
} else {
str = "login";
}
return str;
}
}
7、application.properties配置文件
server.port=8084
spring.datasource.url = jdbc:mysql://localhost:3306/test
spring.datasource.username = root
spring.datasource.password = root
spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.jpa.database = MYSQL
spring.jpa.show-sql = true
spring.jpa.hibernate.ddl-auto = update
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
spring.thymeleaf.cache=false
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=utf-8
spring.thymeleaf.servlet.content-type=text/html
8、静态页面
index.html
登录成功!
本文地址:https://blog.csdn.net/weixin_46820017/article/details/109563876
推荐阅读
-
spring boot整合CAS Client实现单点登陆验证的示例
-
spring boot整合CAS Client实现单点登陆验证的示例
-
Spring Boot实现qq邮箱验证码注册和登录验证功能
-
spring security 实现remeber me(免登陆功能)的原理
-
spring security 实现remeber me(免登陆功能)的原理
-
自己做的一个登陆注册留言板的界面未实现功能求指点 待更。。。。。。
-
spring boot1.1 idea + springboot + mybatis(mybatis-generator) +mysql +html实现简单的登录注册
-
荐 玩转 Spring boot 系列:(八)基于redis的用户登录注册以及过滤器的实现
-
spring boot 实现最基础的登陆注册功能。
-
spring boot实现自动输出word文档功能的实例代码