springboot+mybatis登录注册

接上上一篇博客的继续往下做,上一篇已经实现了mybatis自动生成代码,和连接数据库测试部分

本篇我们添加一些功能,实现登录注册,时间原因,前端实现的很粗糙,以后有时间再改吧

首先看一下数据库的构成,作为一个例子实现的简单点

看了一下mybatis自动生成的代码,不太好用,所以我们自己手写sql,然后按照Dao,Service,Controller的顺序修改代码

工程结构:

具体的代码放Github里了

看一下结果吧

首页:

点击注册:

 下一步实现拦截器、shiro等功能

5.26更新:

实现拦截器的功能,如果不登录的话,就自动跳转到登录页面,只有登录了才能访问别的页面

这次的文件结构如下:

新加拦截器:

 1 import org.springframework.web.servlet.HandlerInterceptor;
 2 import org.springframework.web.servlet.ModelAndView;
 3 
 4 import javax.servlet.http.HttpServletRequest;
 5 import javax.servlet.http.HttpServletResponse;
 6 import javax.servlet.http.HttpSession;
 7 
 8 public class MyInterceptor implements HandlerInterceptor {
 9     //在请求处理之前进行调用(Controller方法调用之前
10     @Override
11     public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {
12         HttpSession session = httpServletRequest.getSession();
13         Object user = session.getAttribute("session_user"); //获取登录的session信息
14         if(user != null){
15             System.out.println(user);
16             return true;
17         }
18         else{
19             System.out.println("没登录");
20             httpServletRequest.setAttribute("msg","没有权限请先登陆");
21             httpServletResponse.sendRedirect("/");  //未登录自动跳转界面
22             return false;
23         }
24     }
25 
26     //请求处理之后进行调用,但是在视图被渲染之前(Controller方法调用之后)
27     @Override
28     public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {
29         System.out.println("postHandle被调用
");
30     }
31 
32     //在整个请求结束之后被调用,也就是在DispatcherServlet 渲染了对应的视图之后执行(主要是用于进行资源清理工作)
33     @Override
34     public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {
35         System.out.println("afterCompletion被调用
");
36     }
37 }
MyInterceptor

新加配置文件:

 1 import com.example.mybatis.interceptor.MyInterceptor;
 2 import org.springframework.context.annotation.Configuration;
 3 import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
 4 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 5 
 6 @Configuration
 7 public class WebMvcConfig implements WebMvcConfigurer {
 8     /**
 9      * 注册拦截器
10      */
11     @Override
12     public void addInterceptors(InterceptorRegistry registry) {
13         //addPathPattern后跟拦截地址,excludePathPatterns后跟排除拦截地址
14         registry.addInterceptor(new MyInterceptor()).addPathPatterns("/**").excludePathPatterns("/userLogin").excludePathPatterns("/index").excludePathPatterns("/");
15     }
16 }
WebMvcConfig

并修改Controller中的一些东西

原文地址:https://www.cnblogs.com/flyuz/p/10901109.html