准备好好学习下springboot,用他搭一个小项目。从登录开始,慢慢来。。。。菜鸟要飞。
过分了,不说废话了。。
百度了一下和springMVC的拦截器大致用法一样。
第一步:先写一个拦截器,命名为LoginInterceptor,实现HandlerInterceptor里的三个常用方法。如下图,添加拦截成功后要转发的路径。
package com.learn.paomo.interceptor; import org.springframework.stereotype.Component; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @Component public class LoginInterceptor implements HandlerInterceptor { @Override public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception { } @Override public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception { } @Override public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception { arg1.sendRedirect(arg0.getContextPath()+"/user/login"); return true; } }
第二步:注册拦截器 创建一个类命名为InterceptorConfigurerAdapter并集成WebMvcConfigurerAdapter,如下图所示添加拦截的路径“/*”,拦截一下所有的路径。
package com.learn.paomo.interceptor; import org.springframework.stereotype.Component; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; @Component public class InterceptorConfigurerAdapter extends WebMvcConfigurerAdapter { @Override public void addInterceptors(InterceptorRegistry registry) { // addPathPatterns 添加路径 // excludePathPatterns 排除路径 registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/*"); super.addInterceptors(registry); } }
第三步:创建一个LoginController 来实现登录页面跳转。跳转至登陆页面。
package com.learn.paomo.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class LoginController { @RequestMapping("/user/login") public String Login(){ return "login"; } }
创建登陆页面html,比较粗糙。
<!DOCTYPE html> <html lang="en" xmlns:th="http://www.w3.org/1999/xhtml"> <head> <meta charset="UTF-8"> <title>用户登录</title> </head> <body> <form> 用户名:<input value="" name="name" type="text"/> 密码: <input value="" type="password"> </form> </body> </html>
项目目录整体结构粘一下:
启动项目,输入之前的请求数据地址 /hello,看是否拦截跳转:
成功跳转!ojbk!