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

歡迎訪問 生活随笔!

生活随笔

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

javascript

深入浅出 SpringMVC - 2 提升篇

發布時間:2025/7/14 javascript 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深入浅出 SpringMVC - 2 提升篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原創播客,如需轉載請注明出處。原文地址:http://www.cnblogs.com/crawl/p/7697738.html?

前言:

  本篇筆記是繼?深入淺出 SpringMVC - 1?后的續篇,主要介紹了 SpringMVC 的實際小應用,包括?SpringMVC 的數據格式化使用 JSR 303 驗證標準?在?SpringMVC 中進行數據的校驗SpringMVC 結合 Ajax 在請求處理器中返回 JSONSpringMVC 的國際化及國際化錯誤消息的顯示使用 SpringMVC 的進行文件的上傳與下載在 SpringMVC 中自定義攔截器SpringMVC 中的異常處理Spring 整合 SpringMVC?進行了詳細的介紹。

  筆記中提供了大量的代碼示例,需要說明的是,大部分代碼示例都是以圖片的形式展示的,所有的圖片都是來自本人所敲代碼的截圖,不足之處,請大家指正~

  若有疑惑或者需要本系列分享中的資料工具,敬請聯系 qingqing_crawl@163.com

十二、數據的格式化

1. 時間日期格式化???時間日期的字符串 ---> Date 類型

1)在 SpringMVC 的配置文件中配置:<mvc:annotation-driven />?

2)在 JavaBean 的對應 Date 類型的屬性上添加?@DateTimeFormat(pattern="yyyy-MM-dd")?注解

2. 數值的格式化

1)在 SpringMVC 的配置文件中配置:<mvc:annotation-driven>?

2)在 JavaBean 的對應數值類型的屬性上添加?@NumberFormat(pattern="#,###,###.#")?#代表數字

3. 獲取數據格式化出錯信息:使用?BindingResult

十三、使用?JSR 303 驗證標準?在 SpringMVC 中進行數據的校驗

1. 加入 Hibernate Validate 的 jar 包:hibernate-validator-5.0.0.CR2\dist 路徑下

加入hibernate-validator-5.0.0.CR2\dist\lib\required 目錄下的的出去 el 的另 3 個 jar 包

2. 在 SpringMVC 的配置文件中配置?<mvc:annotation-driven />

3.在 JavaBean 對應的屬性中添加所需的注解

4. 在?請求控制器對應的方法中為 JavaBean 添加?@Valid 注解

5.出錯之后頁面的去向

6.在 jsp 頁面顯示錯誤信息

7. 定制和國際化錯誤信息

1)創建國際化資源文件?i18n.properties

?

2) 在 SpringMVC 的配置文件中配合國際化資源文件

十四、SpringMVC 的請求處理器中返回 JSON

1. 導入 3 個 jar 包:\jackson\SpringMVC_JSON 目錄下的(此目錄是樓主為了方便自定義的目錄~~,大家只需注意一下的 jar 包)

?

2. jsp 頁面創建測試連接,發送 Ajax

3.?請求處理器類的目標方法 直接返回所需要的數組或集合,并為目標方法添加?@ResponseBody?注解:

?

補:HttpMessageConverter?的使用:

1.?@RequestBody?修飾入參?????@ResponseBody?修飾方法??二者不必同時使用

1)模擬文件上傳操作:

① 表單準備:

② 目標方法

2.?HttpEntity<T>?修飾入參?和?ResponseEntity<T>?修飾返回值

1)使用?ResponseEntity<T>?模擬文件下載操作

十五、SpringMVC 的國際化

進行國際化首先要配置?3 個國際化資源文件

?

然后在 SpringMVC 的配置文件中配置國際化資源文件

?

1. 在頁面上能夠根據瀏覽器語言設置的情況對文本(不是內容), 時間, 數值進行本地化處理 解決:?使用 JSTL 的 fmt 標簽

1)i18n.jsp 中

2.如何在請求處理器類的目標方法中獲取國際化資源文件 Locale 對應的消息?解決:在請求處理器類中注入?ResourceBundleMessageSource?的實例, 使用其對應的 getMessage 方法即可

3.通過超鏈接切換 Locale, 而不再依賴于瀏覽器的語言設置情況

1)jsp 頁面配置超鏈接

?

2)SpringMVC 的配置文件中配置?SessionLocaleResolver?和?LocaleChangeInterceptor?攔截器

?

十六、SpringMVC 的文件上傳與下載

1.SpringMVC 中的文件上傳依賴 apache-commons-fileupload 組件,所以要導入 jar 包 apache-commons\commons-fileupload-1.2.1\lib 下的第一個 jar 包

2.apache-commons-fileupload?依賴于 commons-io?,所以導入 apache-commons\commons-io-2.0 下的 io 包

3.SpringMVC?的配置文件中配置 MultipartResolver

4.準備文件上傳的表單

?

5.請求處理器中編寫目標方法

?

補:文件的下載見 十五 節 補充中的第 2 小節

十七、自定義攔截器

1. 如何定義?

1)創建一個攔截器類實現?HandlerInterceptor?接口,實現其中的方法

2)在 SpringMVC 配置文件中進行配置

2. 自定義攔截器中的三個方法

3.攔截器的進一步配置

十八、SpringMVC 中的異常處理

1.在 SpringMVC 的配置文件中配置?<mvc:annotation-driven />

2.模擬異常

3.@ExceptionHandler?注解標注方法進行異常的處理

4.?@ControllerAdvice?注解用來標注異常處理類

5.?@ResponseStatus?既可以用來標注自定義異常類,也可以標注方法

1)自定義異常類

3)@ResponseStatus?修飾方法

6. 在 SpringMVC 中使用?SimpleMappingExceptionResolver?來映射異常

1)模擬數組下標越界異常

2)在 SpringMVC 的配置文件中進行映射異常

十九、Spring 整合 SpringMVC

1.是否需要整合?

1)需要: 通常情況下, 類似于數據源, 事務, 整合其他框架都是放在 Spring 的配置文件中(而不是放在 SpringMVC 的配置文件中).實際上放入 Spring 配置文件對應的 IOC 容器中的還有 Service 和 Dao.

?2) 不需要: 都放在 SpringMVC 的配置文件中. 也可以分多個 Spring 的配置文件, 然后使用 import 節點導入其他的配置文件

2.整合時常見問題及解決辦法

問題:若 Spring 的 IOC 容器和 SpringMVC 的 IOC 容器掃描的包有重合的部分, 就會導致有的 bean 會被創建 2 次.

解決:

1) 使 Spring 的 IOC 容器掃描的包和 SpringMVC 的 IOC 容器掃描的包沒有重合的部分. (不方便實現)

2.)可以使用?exclude-filter 和 include-filter?子節點來規定只能掃描的注解?

3.SpringIOC 容器和 SpringMVC IOC 容器的關系

SpringMVC?的 IOC 容器中的 bean 可以來引用 Spring IOC 容器中的 bean.反之則不行. Spring IOC 容器中的 bean 卻不能來引用 SpringMVC IOC 容器中的 bean!

?

轉載于:https://www.cnblogs.com/crawl/p/7697738.html

總結

以上是生活随笔為你收集整理的深入浅出 SpringMVC - 2 提升篇的全部內容,希望文章能夠幫你解決所遇到的問題。

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