Spring-boot使用eclipse搭建项目(二)

       在上篇博客《Spring-boot使用eclipse搭建项目(一)》中,我们已经搭建好一个spring-boot的初始项目结构,本节我们来丰富我们的项目,完成一个注册登录功能(前端页面使用Bootstrap处理样式)。

        由于在pom.xml中我们引入了thymeleaf模板,所以我们的公共资源不用每个页面都写一遍引入,直接引入模板就可以了,类似于jsp中的include

         首先创建一个base.html用来引入公共资源。

base.html代码:




    
    
    
    spring boot
    
    
	
	
    
    
    
    
    



           这样其他html页面若需使用到bootstrap、jquery可以引入base.html。

注:我把js放在html代码里面写了,如果想单独引其他js,即放在标签外,在引入时和base.html中引入的格式风格一致就可以单独引入js。

register.html代码:




    
    
    注册



	
注册
账号信息
     

login.html代码:




    
    
    登录



	
登录
请输入

success.html代码:





Insert title here


	

登录成功!!

        后台代码:

LoginController.java:

package com.springboottest.web;

import java.util.Map;

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.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import com.springboottest.service.ILoginService;

@Controller
@RequestMapping("/login")
public class LoginController {
  
  @Autowired
  private ILoginService loginService;
  
  /**
   * 跳转到注册页面
   * @return
   */
  @RequestMapping("/registerPage")
  public String registerPage(){
    
    return "register";
  }
  
  /**
   * 注册
   * @param requestMap
   * @return
   */
  @RequestMapping("/register")
  @ResponseBody
  public String register(@RequestParam Map requestMap){
    
    return loginService.register(requestMap);
  }
  
  /**
   * 跳转到登录页面
   * @return
   */
  @RequestMapping("/loginPage")
  public String loginPage(){
    
    return "login";
  }
  
  /**
   * 登录
   * @param requestMap
   * @return
   */
  @RequestMapping("/userLogin")
  @ResponseBody
  public String userLogin(@RequestParam Map requestMap){
    
    return loginService.login(requestMap);
  }
  
  /**
   * 跳转到成功页面
   * @return
   */
  @RequestMapping("/success")
  public String toSuccess(){
    
    return "success";
  }
  
}

ILoginService.java:

package com.springboottest.service;

import java.util.Map;

public interface ILoginService {

	/**
	 * 注册
	 * @param requestMap
	 * @return
	 */
	public String register(Map requestMap);
	
	/**
	 * 登录
	 * @param requestMap
	 * @return
	 */
	public String login(Map requestMap);
}

LoginServiceImpl.java:

package com.springboottest.service.impl;

import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.springboottest.dao.ILoginDao;
import com.springboottest.model.User;
import com.springboottest.service.ILoginService;

@Service("loginService")
@Transactional
public class LoginServiceImpl implements ILoginService {

  @Autowired
  private ILoginDao loginDao;
  
  @Override
  public String register(Map requestMap) {
    String user_name = requestMap.get("user_name");
    String pass_word = requestMap.get("pass_word");
    User user = new User();
    user.setUser_name(user_name);
    user.setPass_word(pass_word);
    try {
      //先校验用户名是否重复
      List> checkResult = loginDao.checkUserName(user);
      if(checkResult!=null && checkResult.size()>0){
        return "400";//用户名重复
      }
      int result = loginDao.register(user);
      if(result>0){
        return "200";//成功
      }
    } catch (Exception e) {
      e.printStackTrace();
      return "500";//异常
    }
    return "500";//异常
  }

  @Override
  public String login(Map requestMap) {
    String user_name = requestMap.get("user_name");
    String pass_word = requestMap.get("pass_word");
    User user = new User();
    user.setUser_name(user_name);
    user.setPass_word(pass_word);
    List result = loginDao.login(user);
    if(result != null && result.size() > 0){
      return "200";//登陆成功
    }
    return "500";//登录失败
  }

}

ILoginDao.java:

package com.springboottest.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import com.springboottest.model.User;

@Mapper
public interface ILoginDao {

	
	/**
	 * 校验用户名是否重复
	 * @param user
	 * @return
	 */
	@Select("SELECT USER_NAME FROM USER WHERE USER_NAME = #{user.user_name}")
	public List> checkUserName(@Param("user") User user);
	
	/**
	 * 注册
	 * @param user
	 * @return
	 */
	@Insert("INSERT INTO USER(user_name,pass_word) VALUES(#{user.user_name},#{user.pass_word})")
	public int register(@Param("user") User user);
	
	
	/**
	 * 登录
	 * @param user
	 * @return
	 */
	@Select("SELECT USER_NAME,PASS_WORD FROM USER WHERE USER_NAME = #{user.user_name} AND PASS_WORD = #{user.pass_word}")
	public List login(@Param("user") User user);
	
}

User.java:

package com.springboottest.model;

public class User {

	private String user_name;
	private String pass_word;
	
	public String getUser_name() {
		return user_name;
	}
	public void setUser_name(String user_name) {
		this.user_name = user_name;
	}
	public String getPass_word() {
		return pass_word;
	}
	public void setPass_word(String pass_word) {
		this.pass_word = pass_word;
	}
	@Override
	public String toString() {
		return "User [user_name=" + user_name + ", pass_word=" + pass_word + "]";
	}
	
	
}


       代码里面已实现登录注册的基本功能,页面样式使用bootstrap响应式布局实现,有很多瑕疵,并且在于非chorme浏览器下可能会出现样式问题。有很多改进空间,如果拿去使用需谨慎。


        至此一个基于Spring-boot,应用Bootstrap实现登录注册的项目完毕。


你可能感兴趣的:(javaEE,web前端)