攔截器在Spring MVC中怎么實(shí)現(xiàn)自定義?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
創(chuàng)新互聯(lián)建站專注于保定企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,商城網(wǎng)站制作。保定網(wǎng)站建設(shè)公司,為保定等地區(qū)提供建站服務(wù)。全流程定制設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)1. 引言
攔截器(Interceptor)實(shí)現(xiàn)對(duì)每一個(gè)請(qǐng)求處理前后進(jìn)行相關(guān)的業(yè)務(wù)處理,類似于Servlet的Filter。
我們可以讓普通的Bean實(shí)現(xiàn)HandlerIntercpetor接口或繼承HandlerInterceptorAdapter類來(lái)實(shí)現(xiàn)自定義攔截器。
通過(guò)重寫(xiě)WebMvcConfigurerAdapter的addIntercetors方法來(lái)注冊(cè)一個(gè)計(jì)算每一次請(qǐng)求的處理時(shí)間的攔截器。
2. 自定義攔截器的實(shí)現(xiàn)
2.1 定義攔截器
新建LogInterceptor類,并繼承HandlerInterceptorAdapter類,重寫(xiě)preHandle、postHandle這兩個(gè)方法。
1.preHandle方法表示在請(qǐng)求發(fā)生前執(zhí)行,內(nèi)容如下:
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { request.setAttribute("begin", System.currentTimeMillis()); return true; }