Eclipse+Spring+gradle

eclipse常用快捷键

  • ctrl+shfit+s:get、set方法
  • shift+Alt+L:快捷生成变量

spring boot创建工具:https://start.spring.io/

修改下载依赖

repositories {
	maven{
       url 'http://maven.aliyun.com/nexus/content/groups/public/'
      
     }
}

Eclipse下载插件:

buildship、spring-tool-site

配置项目编码为UTF-8

项目配置

#服务器端口号
server.port=8080

#配置JSP视图的位置和后缀
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

#数据源配置
spring.datasource.url=jdbc:mysql://localhost:3308/registerdemo?useUnicode=true&characeterEncoding=utf-8&serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true
spring.datasource.username=root
spring.datasource.password=root
#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

#Hibernate配置
spring.jpa.hibernate.ddl-auto=create
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect


配置依赖

plugins {
	id 'org.springframework.boot' version '2.1.4.RELEASE'
	id 'java'
}

apply plugin: 'io.spring.dependency-management'

group = 'com.lys'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

repositories {
	maven{
       url 'http://maven.aliyun.com/nexus/content/groups/public/'
      
     }
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
	implementation 'org.springframework.boot:spring-boot-starter-web'
        compile 'org.springframework.boot:spring-boot-devtools'#在修改程序之后,能够自动重启服务器;修改静态文件(html、css)时不会频繁地重启服务器	

	runtime 'org.springframework.boot:spring-boot-starter-tomcat'
	runtime 'org.apache.tomcat.embed:tomcat-embed-jasper'
	runtimeOnly 'mysql:mysql-connector-java'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

项目架构

控制器

package com.lys.register.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
@RequestMapping("/register")
public class RegisterControll {

	@RequestMapping(method=RequestMethod.GET)
	public String home(){
		return "register";
	}
}

package com.lys.register.controller;


import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import com.lys.register.bean.LoginFrom;
import com.lys.register.model.User;
import com.lys.register.service.UserService;

@Controller
@RequestMapping("/login")
public class LoginController {
	
	@Autowired
	UserService UserService;

	@RequestMapping(method=RequestMethod.GET)
	public String home(){
		return "login";
	}
	
	@RequestMapping(value="doLogin",method=RequestMethod.POST)
	public String doLogin(LoginFrom login,Model model,HttpSession session) {
		User user = new User(login.getName(),login.getPwd());
		System.out.println(user);
		User loginUser=UserService.checkLogin(user, model);
		if(loginUser==null) {
			return "login";
		}else {
			session.setAttribute("user", loginUser);
			return "loginSuccess";
		}
		
	}
	
	@RequestMapping(value="doLogout",method=RequestMethod.GET)
	public String doLogout(HttpSession session) {
		session.invalidate();
		return "login";
	}
}

bean文件

package com.lys.register.bean;


public class LoginFrom {

	private String name;
	private String pwd;
	
	
	public LoginFrom() {
	}
	public LoginFrom(String name, String pwd) {
		super();
		this.name = name;
		this.pwd = pwd;
		
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPwd() {
		return pwd;
	}
	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
	
	
}

package com.lys.register.bean;



public class RegisterFrom {

	private String name;
	private String pwd;
	private String email;
	
	public RegisterFrom() {
	}
	public RegisterFrom(String name, String pwd, String email) {
		super();
		this.name = name;
		this.pwd = pwd;
		this.email = email;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPwd() {
		return pwd;
	}
	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	
	
	
}

dao文件

package com.lys.register.dao;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import com.lys.register.model.User;

@Repository
public interface UserRepository extends JpaRepository<User, Long> {

	User findByUsername(String username);//数据库查询,约定find或get
}

model文件

package com.lys.register.model;

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

@Entity
@Table(name="user")
public class User {

	@Id
	@GeneratedValue(strategy=GenerationType.SEQUENCE)
	private Long id;
	private String username;
	private String email;
	private String password;
	
	public User() {
	}
	
	public User(String username, String email, String password) {
		super();
		
		this.username = username;
		this.email = email;
		this.password = password;
	}

	
	public User(String username, String password) {
		super();
		this.username = username;
		this.password = password;
	}


	public Long getId() {
		return id;
	}
	
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	
	
	
}

service

package com.lys.register.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.ui.Model;

import com.lys.register.dao.UserRepository;
import com.lys.register.model.User;

@Service
public class UserService {

	@Autowired
	UserRepository userRepository;
	
	public User addUser(User user,Model model) {
		try {
			User registerUser=userRepository.save(user);
			return registerUser;
		} catch (Exception e) {
             e.printStackTrace();
             model.addAttribute("error",e.getMessage());
		}
		
		return null;
	}
	
	public User checkLogin(User user,Model model) {
		User findUser = userRepository.findByUsername(user.getUsername());
		if(findUser==null) {
			model.addAttribute("error","用户名不存在");
			return null;
		}else {
			if(findUser.getPassword().equals(user.getPassword())) {
				return findUser;
			}else {
				model.addAttribute("error","用户名和密码不匹配");
				return null;
			}
		}
	}

}

jsp文件

login.jsp

<%@page import="com.lys.register.model.User"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>用户登录</title>
	<style type="text/css">
	
		.error{
		  color:red;
		}
	</style>
</head>
<body>

    <%
       User user = (User)session.getAttribute("user");
      if(user==null){
    	  String error = (String)request.getAttribute("error");
    	  if(error !=null){
    %>
    <div class="error">
       ${error}
    </div>
    <%
    	  }
    %>
	   <form action="/login/doLogin" method="post">
	              用户名: <input type="text" name="name"><br/>
	              密码: <input type="password" name="pwd"><br/>           
	           <input type="submit" name="登录" value="登录"><br/>
	   </form>
   <%
      }else{
    	  out.println("欢迎"+user.getUsername()+"<a href="/login/doLogout">退出登录</a>");
      }
   %>
</body>
</html>

loginSuccess.jsp


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>用户登录</title>
</head>
<body>

 

   恭喜${sessionScope.user.username}&lt;${sessionScope.user.email}&gt;登录成功!
</body>
</html>

register.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>用户注册</title>
</head>
<body>

   <form action="/register/doRegister" method="post">
              用户名: <input type="text" name="name"><br/>
              邮箱: <input type="text" name="email"><br/>
              密码: <input type="password" name="password"><br/>
           <input type="submit" name="注册" value="注册"><br/>
   </form>
</body>
</html>

registerSuccess.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>用户注册</title>
</head>
<body>

   注册成功!<a herf="/login">转到登录</a>
</body>
</html>

registerFailed

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>用户注册</title>
</head>
<body>

   注册失败!失败原因 ${error}
</body>
</html>
原文地址:https://www.cnblogs.com/lyszyl/p/10836196.html