准备好好学习下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,比较粗糙。
html>
lang="en" xmlns:th="http://www.w3.org/1999/xhtml">
charset="UTF-8">
用户登录
用户名:value="" name="name" type="text"/>
密码: value="" type="password">
项目目录整体结构粘一下:
启动项目,输入之前的请求数据地址 /hello,看是否拦截跳转:
成功跳转!ojbk!