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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

springmvc新建拦截器

發布時間:2023/12/3 c/c++ 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 springmvc新建拦截器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【1】web.xml中配置springmvc的配置文件路徑

<!-- 配置 DispatcherServlet --><servlet><servlet-name>springDispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 配置 DispatcherServlet 的一個 初始化參數,其作用是配置 springmvc 配置文件的位置和名稱--><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><!-- mapping --><servlet-mapping><servlet-name>springDispatcherServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping>

【2】springmvc.xml 中配置自定義攔截器

<mvc:interceptors><!-- 配置自定義的攔截器 --><bean class="com.swjtu.springmvc.interceptors.FirstInterceptor"></bean><!-- <mvc:interceptor> 可以配置作用的路徑,也可以配置不作用的路徑 --><mvc:interceptor><mvc:mapping path="/emps"/> <bean class="com.swjtu.springmvc.interceptors.SecondInterceptor"></bean></mvc:interceptor><!-- 配置 LocaleChangeInterceptor --><bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"></bean></mvc:interceptors>

【3】自定義攔截器

顯然 攔截器的邏輯,可以在業務邏輯之前,也可以在業務邏輯之后執行;?

public class FirstInterceptor implements HandlerInterceptor {/*** 該方法在目標方法之前被調用* , 若返回值為 true, 則繼續調用后續的攔截器和目標方法, * 若返回值為false, 則不會再調用 后續的攔截器和目標方法;* * 可以考慮做權限, 或者是日志 或者事務(開啟事務)*/@Overridepublic boolean preHandle(HttpServletRequest request,HttpServletResponse response, Object handler) throws Exception {System.out.println("first preHandle");return true;}/*** 調用目標方法之后, 但渲染視圖之前被調用; * * 可以對 請求域中的屬性或視圖做修改;* */@Overridepublic void postHandle(HttpServletRequest request,HttpServletResponse response, Object handler,ModelAndView modelAndView) throws Exception {System.out.println("first postHandle");}/*** 渲染視圖之后被調用 ;* * 釋放資源 */@Overridepublic void afterCompletion(HttpServletRequest request,HttpServletResponse response, Object handler, Exception ex)throws Exception {System.out.println("first afterCompletion"); } }

【4】訪問?? ?http://localhost:8080/springmvc02/springmvc/emps?

@RequestMapping("/springmvc") @Controller public class EmployeeHandler { /*** 獲取 員工列表* @param map* @return*/@RequestMapping("/emps")public String list(Map<String, Object> map) {System.out.println("list(Map<String, Object> map)方法開始");map.put("emps", employeeDao.getAll());System.out.println("list(Map<String, Object> map)方法結束");return LIST; } }

打印結果

first preHandle @ModelAttribute getEmployee(...) list(Map<String, Object> map)方法開始 list(Map<String, Object> map)方法結束 first postHandle first afterCompletion

總結

以上是生活随笔為你收集整理的springmvc新建拦截器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。