SpringMVC

SpringMVC 和其他WRE框架一樣,他基於MVC設計理念,通過一套MVC註解,讓POJO(簡單java對象)成爲處理請求的控制器,無需實現任何接口,同時,SpringMVC還支持REST風格的URL請求:註解驅動及REST風格的SpringMVC是Spring3.0最出彩的功能之一。此i外,SpringMVC在數據綁定,視圖解析、本地化處理及靜態資源處理上有着許多不俗的表現。

SpringMVC的關鍵註釋:
@Contronller(寫在POJO類名上)

1.S怕ringMVC體系概述
這裏寫圖片描述

這裏寫圖片描述

在整個框架中、DispatcherServlet 處於核心位置,他負責協調和組織不同組件已完成請求處理並返回相應工作
1、具體的處理流程
1) 整個過程始於客戶端發出一個HTTP請求,Web應用服務器接收到這個請求,如果匹配DispatcherServlet的請求映射路徑(在web.xml中指定),Web容器將該請求轉交給DispatcherServlet處理。
2) DispatcherServlet接收到這個請求後,將根據請求的信息及HandlerMapping的配置找到處理請求的處理器(Handler)。注意:Spring MVC中並沒有定義一個Handler接口,實際上任何一個Object都可以成爲請求處理器。
3) 當DispatcherServlet根據HandlerMapping得到對應當前請求的Handler後,通過HandlerAdapter對Handler進行封裝,再以統一的適配器接口調用Handler。HandlerAdapter是Spring MVC的框架級接口,顧名思義,HandlerAdapter是一個適配器,它用統一的接口對各種Handler方法進行調用。
4) 處理器完成業務邏輯的處理後將返回一個ModelAndView給DispatcherServlet,ModelAndView包含了視圖邏輯名和模型數據信息。
5) ModelAndView中包含的是“邏輯視圖名”而非真正的視圖對象,DispatcherServlet藉由ViewResolver完成邏輯視圖名到真實視圖對象的解析工作。
6) 當得到真實的視圖對象View後,DispatcherServlet就使用這個View對象對ModelAndView中的模型數據進行視圖渲染。
7) 最終客戶端得到的響應消息

2、簡單基本使用
1.導入java包
com.springsource.org.apache.commons.logging-1.1.1.jar
spring-beans.RELEASE.jar
spring-context.RELEASE.jar
spring-core.RELEASE.jar
spring-expression.RELEASE.jar
spring-web.RELEASE.jar
spring-webmvc.RELEASE.jar
spring-aop.RELEASE
jstl.jar

2.配置web.xml
這裏寫圖片描述

配置過濾器第一個限制爲 .do結尾的文件可通過,後一個解決亂碼問題

3.編寫請求處理器

這裏寫圖片描述

4.jsp頁面只需${msg}接收即可

5.配置springMVC的配置文件,使控制器和視圖解析器等生效
配置文件名爲:hello(可變)-servlet.xml;(非常重要)
這裏寫圖片描述

3、springMVC的轉發和重定向
ModelAndView(使用的是轉發)

第一種、使用原生的request和response完成轉發和重定向
這裏寫圖片描述

第二種、以返回字符串的形式,數據的傳輸可以用Map集合,也可以用session
這裏寫圖片描述

4、數據的接收處理
通過URL傳參的方式來測試springMVC獲取前端數據的方式,前段傳一個:login.do?username=”11”;可在方法屬性中用String username接收
也可以直接包含username屬性對象接收

這裏寫圖片描述

@RequestMapping(“/login1.do”)—>從頁面傳過來的請求,可通過他找到對應的方法
@RequestParam(“username”)String name–>String name和前端頁面的username不一致時可用@RequestParam(“username”)來標記

5、亂碼的處理
可在Tomcat設置URIEncoding=”utf-8”
或者如上在web.xml中配置

6、文件的上傳
1) 導入jar包
com.springsource.org.apache.commons.fileupload-1.2.0.jar
com.springsource.org.apache.commons.logging-1.1.1.jar
com.springsource.org.apache.commons.io-1.4.0.jar

2)jsp頁面
這裏寫圖片描述

3)、編寫Contorller

這裏寫圖片描述

上圖爲單文件傳和多文件上傳

4)、在spring配置文件中配置解析器

在上面的hello-servlet.xml中配置

7.文件的下載

這裏寫圖片描述

文件下載的關鍵頭部
response.setContentType(“application/x-msdownload”);
response.setHeader(“Content-Disposition”, “attachment;filename=”+fileName);

8、ajax的應用
兩種方式交互方式,
一種是發送一個請求數據,返回一個響應的標識數據
一種是獲取一個集合的JSON格式數據
請求JSON數據
需導入新的jar包(jar包在備課/lib下面)
jackson-annotations.jar
jackson-core.jar
jackson-databind.jar

還需配置json解析器配置在hello-servelt.xml

頁面:
這裏寫圖片描述

Controller控制器端的編寫

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章