Springboot項目簡單案例-登陸

項目代碼已上傳至github,下載地址:https://github.com/snowlavenderlove/springbootLogin.git

1.通過springboot官網新建項目springbootLogin

2.點擊 generate the project

3.將壓縮包解壓並導入到eclipse中,Eclipse->file->import->maven->maven project->existing maven project,結構如圖

4.在數據庫建立spring_login數據庫,並新建user表,表結構如圖

5.通過generator-mybatis自動生成java代碼,generator-mybatis使用教程可見博文:https://blog.csdn.net/qq_37231511/article/details/90692784

6.將自動生成的代碼放到src/main/java下,如圖:

7.編輯pom.xml,在其中添加logging和druid依賴

8.編輯application.propertis文件

#mysql
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/spring_login
spring.datasource.username=root
spring.datasource.password=123456

#druid
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
#dao
mybatis.type-aliases-package==com.xue.repository.dao
mybatis.mapper-locations=classpath*:com/xue/repository/mapper/*.xml

9.在src/main/resources/templates下創建登陸頁面和註冊頁面,分別爲loginHtml和registerHtml,代碼如下

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<title>Insert title here</title>
</head>
<body>
<form action="/login" method="post">
用戶名:<input type="text" name="name"/>
密碼:<input type="password" name="password"/>
<input type="submit"/><a href="registerHtml" target="_blank">註冊</a>
</form>

</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<title>Insert title here</title>
</head>
<body>
<form action="/register" method="post">
用戶名:<input type="text" name="name"/>
密碼:<input type="password" name="password"/>
<input type="submit"/>
</form>
</body>
</html>

 

 

10. 在項目中新建controller包,創建LoginController類,編輯代碼

package com.xue.controller;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.xue.entity.model.User;
import com.xue.service.LoginService;

@Controller
public class LoginController {
	
	private Logger logger = LoggerFactory.getLogger(this.getClass());
	
	@Autowired
	private LoginService loginService;
	
//	登陸頁面
	@RequestMapping("/loginHtml")
	public String loginHtml(){
		
		return "loginHtml";
		
	}
//	註冊頁面
	@RequestMapping("/registerHtml")
	public String registerHtml(){

		return "registerHtml";
	}
	
//	登陸驗證
	@RequestMapping("/login")
	@ResponseBody //不返回頁面,返回json對象需加@ResponseBody
	public String login(User user,HttpServletRequest request){
		
		User result = null;
		
		result = loginService.login(user);
		
		if(null != result){
			
			return "登陸成功    "+"name:"+user.getName()+"   password:"+user.getPassword();
		}else{
			return "登陸失敗";
		}

		}
	//註冊驗證
			@RequestMapping("/register")
			@ResponseBody //不返回頁面,返回json對象需加@ResponseBody
			public String register(User user){

				int result =0;
				
				
				result = loginService.register(user);
				
				if(0 != result){
					return "註冊成功";
				}else{
					return "註冊失敗";
				}

			}	
				
		
	}
	
	


11. 在項目中創建service包,並在報下創建LoginService接口,同時創建子包Impl,在報下創建LoginServiceImpl實現LoginServcie接口,代碼分別爲

package com.xue.service;

import java.util.List;

import com.xue.entity.model.User;

public interface LoginService {
	//註冊
	public int register(User user);
	//登陸
	public User login(User user);


}
package com.xue.service.Impl;

import java.util.List;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.xue.entity.model.User;
import com.xue.repository.dao.UserMapper;
import com.xue.service.LoginService;
@Service
public class LoginServiceImpl implements LoginService {
	
	
	@Autowired
	private UserMapper dao;

	@Override
	public int register(User user) {
		// TODO Auto-generated method stub
		System.out.println("Impl");
		int result = 0;
		System.out.println(user);
		try {
			result = dao.insertUser(user);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return result;
	}

	@Override
	public User login(User user) {
		// TODO Auto-generated method stub
		
		
		try {
			user = dao.selectUser(user);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return user;
	}


	
	

}

12. 編寫UserMapper.java,在文件最後添加

    User selectUser(User user);
    
    int insertUser(User user);

13.在UserMapper.xml中添加

  <select id="selectUser" parameterType="com.xue.entity.model.User" resultMap="BaseResultMap">
      select name,password from user where name=#{name} and password=#{password}
  </select>
  
  <insert id="insertUser" parameterType="com.xue.entity.model.User">
      insert user(name,password) values(#{name},#{password})
  </insert>
  

14.編輯SpringBootLoginApplication啓動類

package com.xue;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;

@SpringBootApplication
@MapperScan("com.xue.repository.dao")
public class SpringbootLoginApplication {

	public static void main(String[] args) {
		SpringApplication.run(SpringbootLoginApplication.class, args);
	}

}

15.爲項目添加日誌配置,在pom.xml中添加

		<dependency>
		    <groupId>org.springframework.boot</groupId>
		    <artifactId>spring-boot-starter-log4j2</artifactId>
		    <version>1.5.2.RELEASE</version>
		</dependency>

 

16.將springboot默認日誌排除,將spring-boot-starter-web依賴修改爲 

 

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-starter-logging</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

17.在src/main/resources中創建log4j2-spring.xml文件,並編輯

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
	<properties>
		<property name="PATTERN">%d{yyyy-MM-dd HH:mm:ss.SSS} |-%-5level	[%thread] %c [%L] -| %msg%n</property>
	</properties>
	<!--先定義所有的appender(輸出器) -->
	<appenders>
	    <!-- 輸出到控制檯 -->
	    <!--輸出日誌的格式,引用自定義模板 PATTERN -->
		<Console
			name="CONSOLE"
			target="system_out">
			<PatternLayout pattern="${PATTERN}" />
		</Console>
	</appenders>

	<loggers>
		<logger
			name="com.xue"
			level="debug" />
		<root level="info">
			<appenderref ref="CONSOLE" />
		</root>
	</loggers>

</configuration>

 

18.在application.properties中添加

 

#log4j2
logging.config=classpath:log4j2-spring.xml

19. 在相關代碼中添加,至此,項目代碼完成

private Logger logger = LoggerFactory.getLogger(this.getClass());

 20.在瀏覽器輸入localhost:8080/registerHtml

21.輸入用戶名a密碼123456,點擊提交

 22.在瀏覽器輸入localhost:8080/loginHtml

23.輸入登陸信息

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章