IT笔记hexo使用SpringMvc登录拦截Hexo博客
何平安图库跑路了所以图片看不了了
SpringMvC中的MVC是什么?
MVC是一种设计模式,这种模式的理念是将复杂的代码分为三个模式,MVC主要解决表现层的问题。
浏览器访问表现层(Controller)–>表现层访问业务层–>将数据封装到(Model)–>再通过(View)渲染
业务逻辑和实现思路:对我的博客想添加一个登录页面,即需要对我博客下的所有地址进行拦截,而这与平时所练的接口拦截差不多,因为登录博客页面也是个get请求。采用JWT令牌进行校验。至于为什么要对我的博客进行拦截,后面我的新项目你就知道答案了awa~
先用IDEA新建一个项目


里面创建好如下的目录:

user类:
1 2 3 4 5 6 7 8 9
| @Data @AllArgsConstructor @NoArgsConstructor public class User { private String name; private String password; private String token;
}
|
数据库的话就三个列,id 主键递增,name 和 password
再在application里配置下自己的数据库地址:
1 2 3 4 5 6
| spring: datasource: username: root password: xxxx url: jdbc:mysql://localhost:3306/user?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8 driver-class-name: com.mysql.cj.jdbc.Driver
|
controller层:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| @RestController @Slf4j public class Controller {
@Autowired private LoginMapper loginMapper;
private final String LOGIN_SUCCESS="登录成功!";
private final String LOGIN_FAIL="用户名或密码错误,登录失败";
@PostMapping("/login") public String login(@RequestBody User user) { log.info("用户名:{}", user.getName()); User u =loginMapper.login(user); return u!=null?LOGIN_SUCCESS: LOGIN_FAIL; } }
|
Mapper层:
1 2 3 4 5 6 7
| @Mapper public interface Mapper {
@Select("SELECT * FROM users WHERE name = #{name} AND password = #{password}") User login(User user);
}
|
接下来就是最关键的jwt令牌和登录拦截了~