第六章:如何在SpringBoot项目中使用拦截器

感谢作者:https://www.jianshu.com/p/f69b21731b41

本章目标

    学习使用SpringBoot中是如何配置拦截器,使用拦截器来完成简单的用户登录状态判定。

项目结构:

第六章:如何在SpringBoot项目中使用拦截器_第1张图片


一、pom.xml

    1.添加依赖

第六章:如何在SpringBoot项目中使用拦截器_第2张图片


二、application.yml

第六章:如何在SpringBoot项目中使用拦截器_第3张图片


三、配置控制器

LoginController.java

    1.将UserJPA使用SpringBean形式注入

    2.添加用户登录方法

    3.从数据库中查询指定用户, 然后对比密码是否符合, 最后写入session中

    4.注意使用 @RestController

第六章:如何在SpringBoot项目中使用拦截器_第4张图片

IndexController.java

    1.注意使用 @Controller

第六章:如何在SpringBoot项目中使用拦截器_第5张图片


四、创建拦截器

SessionInterceptor.java

    1.实现HandlerInterceptor

    2.设置不拦截路径

    3.验证session是否存在, 不存在则拦截

第六章:如何在SpringBoot项目中使用拦截器_第6张图片

接下来我们需要将SessionInterceptor拦截器添加到SpringBoot的配置中,让SpringBoot项目有这么一个拦截器存在,我们新创建一个SessionConfiguration,将拦截器的配置以及拦截路径配置好

SessionConfiguration.java

    1.SpringBoot2 是实现 WebMvcConfigurer (注意)

    2.SpringBoot   是继承 WebMvcConfigurerAdapter (过时)

第六章:如何在SpringBoot项目中使用拦截器_第7张图片


五、运行测试

访问: http://localhost:8080/user/index  

现在显示是没有问题了,我们没有登录直接访问index.jsp,当然会被拦截器拦截,

拦截后直接跳转到登录页面(preLogin.jsp)

第六章:如何在SpringBoot项目中使用拦截器_第8张图片

假设用户名存在, 密码错误  进行登录会显示如下提示

第六章:如何在SpringBoot项目中使用拦截器_第9张图片


我们现在输入数据库存在的用户名:admin,密码:123  进行登录会显示如下提示

第六章:如何在SpringBoot项目中使用拦截器_第10张图片

显示我们已经登录成功,也就是说我们的登录用户消息已经存放到session内,那么我们来访问 

http://localhost:8080/user/index  

第六章:如何在SpringBoot项目中使用拦截器_第11张图片

你可能感兴趣的:(SpringBoot)