日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringBoot 基础拦截器

發(fā)布時間:2024/4/13 javascript 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringBoot 基础拦截器 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
所有的開發(fā)之中攔截器一定是一個必須要使用的功能,利用攔截器可以更加有效的實現(xiàn)數(shù)據(jù)的驗證處理在SpringBoot之中所使用的攔截器與Spring中的攔截器完全一樣.2.1、基礎(chǔ)攔截器操作攔截器是一種AOP操作實現(xiàn),那么在AOP之中用戶一定不需要去關(guān)注攔截器的存在,用戶只需要按照自己習(xí)慣的方式進行代碼的編寫即可。1、創(chuàng)建一個程序的控制器類:package com.microboot.controller;import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody;import com.microboot.util.controller.AbstractBaseController; import com.microboot.vo.Member;@Controller public class MemberController extends AbstractBaseController{@RequestMapping(value = "/member_add_pre", method = RequestMethod.GET)public String memberAddPre(Model model) {return "member_add";}@RequestMapping(value = "/member_add", method = RequestMethod.POST)@ResponseBodypublic Object memberAdd(Member member) {return member;}} 2、定義一個member_add.html的頁面實現(xiàn)表單定義:member_add.html<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head><title>SpringBoot模板渲染</title><link rel="icon" type="image/x-icon" href="/images/favicon.ico" /><meta http-equiv="Content-Type" content="text/html;charse=UTF-8"> </head> <body><form th:action="@{/member_add}" method="post">用戶編號:<input type="text" name="mid" value="101"/><br/>用戶姓名:<input type="text" name="name" value="SMITH"/><br/><input type="submit" value="提交" /><input type="reset" value="重置" /></form> </body> </html> 3、此時一個正常的MVC的代碼就實現(xiàn)完成了,隨后就需要編寫一個攔截器對其進行控制.為了更好的說明問題,現(xiàn)在將攔截器定義package com.microboot.util;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView;public class MyInterceptor implements HandlerInterceptor {private Logger log = LoggerFactory.getLogger(MyInterceptor.class);@Overridepublic boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object handler) throws Exception {HandlerMethod handlerMethod = (HandlerMethod)handler;this.log.info("【*** MyInterceptor.preHandle ***】" + handlerMethod.getBean().getClass().getSimpleName());// 如果返回false表示不繼續(xù)請求,如果返回true表示繼續(xù)請求return true;}@Overridepublic void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object handler, ModelAndView modelAndView)throws Exception {HandlerMethod handlerMethod = (HandlerMethod)handler;this.log.info("【*** MyInterceptor.postHandle ***】" + handlerMethod.getBean().getClass().getSimpleName());this.log.info("【*** MyInterceptor.postHandle ***】" + modelAndView);}@Overridepublic void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object handler, Exception arg3)throws Exception {HandlerMethod handlerMethod = (HandlerMethod)handler;this.log.info("【*** MyInterceptor.afterCompletion ***】攔截處理完畢");}} 4、那么此時如果要想使用攔截器則必須有一個攔截器的配置類。現(xiàn)在我們已經(jīng)不再編寫配置文件了,所有的配置都使用一個類完成。package com.microboot.config;import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;import com.microboot.util.MyInterceptor;@Configuration // 定義MVC的配置 public class MyWebApplicationConfig extends WebMvcConfigurerAdapter {@Override// 進行攔截器的注冊處理操作public void addInterceptors(InterceptorRegistry registry) {// 匹配路徑registry.addInterceptor(new MyInterceptor()).addPathPatterns("/**");super.addInterceptors(registry);} }

?

總結(jié)

以上是生活随笔為你收集整理的SpringBoot 基础拦截器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。