spring boot 实现最基础的登录注册功能。

SpringBoot -登陆注册html

在前面的学习中咱们学会简单建立一个springboot项目,那么如今就开始学习如何作注册登陆了java

工具springboot +maven +hibernate+mysql
一、项目结构mysql

html 分为主页面index、注册register、登陆login 和 登陆成功success页面。
在这里插入图片描述web

二、pom文件spring

<?xml version="1.0" encoding="UTF-8"?>


4.0.0sql

<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>

三、编写实体User类数据库

package com.online.shixun.entity;springboot

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;app

@Entity(name = “t_user”)
public class User { maven

@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;
}

}

四、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);

}

五、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);
}

}
六、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;
}

}

七、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

八、静态页面

index.html

hello login.html login


没有帐号?去 注册 重置 登陆
register.html 注册






已有帐号去 登陆
success.html success

登陆成功!

在这里插入图片描述