1. 簡介
? ? 1.1 springMVC 是什么?
? ??1.2?SpringMVC 和 Struts2 的優略分析
2. 入門案例
3 參數綁定與自定義類型轉換
????3.1 工作原理
????3.2 參數綁定??
????3.3 解決中文亂碼過濾器
? ? 3.4 自定義類型轉換器
? ? 3.5 獲取servlet原生api
1. 簡介
????1.1 springMVC 是什么?
? ? ? ? 基于java的實現mvc設計模型的請求驅動類型的輕量級web框架。
? ? ? ? springMVC是圍繞著DispatcherServlet來設計的。這個Servlet會把請求分發給各個處理器,并支持可配置的處理器映射,視圖渲染,本地化,主題渲染,文件上傳等。
? ? 1.2?SpringMVC 和 Struts2 的優略分析
????????共同點:
????????????它們都是表現層框架,都是基于 MVC 模型編寫的。
????????????它們的底層都離不開原始 ServletAPI。
????????????它們處理請求的機制都是一個核心控制器。
????????區別:
????????????Spring MVC 的入口是 Servlet, 而 Struts2 是 Filter
????????????Spring MVC 是基于方法設計的,而 Struts2 是基于類,Struts2 每次執行都會創建一個動作類。所以 Spring MVC 會稍微比 Struts2 快些。
????????????Spring MVC 使用更加簡潔,同時還支持 JSR303, 處理 ajax 的請求更方便(JSR303 是一套 JavaBean 參數校驗的標準,它定義了很多常用的校驗注解,我們可以直接將這些注解加在我們 JavaBean 的屬性上面,就可以在需要校驗的時候進行校驗了。)
????????Struts2 的 OGNL 表達式使頁面的開發效率相比 Spring MVC 更高些,但執行效率并沒有比 JSTL 提升,尤其是 struts2 的表單標簽,遠沒有 html 執行效率高
2. 入門案例
? ? ? ? 新建項目,選擇webapp
? ??????archetypeCatalog = internal (使用本地項目,提速)
? ? ? ? 安裝依賴:spring-context,spring-web,spring-webmvc,servlet-api,jsp-api
????????<mvc:annotation-driven /> 主要就是為了Spring MVC來用的,提供Controller請求轉發,json自動轉換等功能。
? ? ? ? src/main下新建 java 與 resources文件夾,并右鍵Mark directory as? test sources boot 和?Resources?boot。
? ? ? ? com.liuming.controller.HelloController代碼如下所示
????????@RequestMapping?映射請求
? ? ? ? idea配置tomcat服務器
? ? ? ? run springmvc 自動打開瀏覽器,成功啟動。