SSM-WebMVC(三)

SSM-WebMVC(三)

1、Annotated Controllers

應用程序控制器java

handlerMethod(處理方法)

㈠方法入參

(springmvc針對於在controller裏的方法參數,傳入實參對象),處理接口(HandlerMethodArgumentResolver)web

1.javax.servlet.ServletRequest, javax.servlet.ServletResponse
2.javax.servlet.http.HttpSession
3.InputStream ,OutputStream,Reader ,Writer
4.@PathVarable

​ 1.路徑變量的值會付給方法中形參的值spring

​ 2.@GetMapping("/owners/{ownerId}/pets/{petId}")
​ public Pet findPet(@PathVariable Long ownerId, @PathVariable Long petId) {
​ // ...cookie

​ }session

5.@RequestParam

​ 將請求參數付給形參mvc

6.@CookieValue

​ 1.將指定cookie中的值付給形參app

​ 2.defaultValue屬性用於指定默認值異步

7.@RequestBody

​ 將請求體的內容綁定到參數對象上
​ 請求體能夠經過 request.getInputStream拿到async

8.java.util.Map, org.springframework.ui.Model, org.springframework.ui.ModelMap

​ 都會統一放到request做用域當中ui

9.@ModelAttribute

​ 1.做用在參數上
​ 指定的參數會被自動存放於model當中

​ 2.做用在方法上
​ 指定的返回值會被自動添加至Model當中

​ 3.解析順序
​ From the model if already added by using Model(優先使用Model中存在的值)
​ From the HTTP session by using @SessionAttributes
​ From a URI path variable passed through a Converter

10.BindingResult

​ 針對於JavaBean的屬性驗證,來確保對象屬性的合法性

​ 該對象表明本次的驗證結果

​ 常見的方法
​ hasErrors
​ getFieldError

11.@Valid

​ 用來指定須要驗證的JavaBean

​ 註解後須要緊跟着BindingResult類型

12.@SessionAttribute
13.@RequestAttribute

㈡方法返回值

(HandlerMethodReturnValueHandler接口處理,應用程序控制器的方法返回值)

1.String

​ 返回邏輯視圖

2.ResponseEntity

​ 在@Controller下,將返回值添加到響應體當中,相似於@ResponseBody

3.void

​ 將請求路徑做爲邏輯視圖名

4.DeferredResult
5.Callable

五、6用於springmvc的異步處理

6.ModelAndView

​ 但凡涉及到邏輯視圖的處理,終將統一解析成ModelAndView

7.Map
8.自定義類型

2、DataBinder

將請求參數或數據綁定到對應入參對象(自定義對象)或者解決複雜類型的數據綁定

@InitBinder

​ public void initBinder(WebDataBinder webDataBinder)

實現Formatter接口

註冊添加

​ 經過WebDataBinder的addCustomFormatter方法添加

3、Asynchronous Requests

servlet中的異步

@WebServlet(asyncSupported=true)

request.startAsync()

AsyncContext

​ 1.start(Runnable runnable)

​ 2.addListener()
​ 監聽異步的事件

​ AsyncListener
​ onComplete
​ onTimeout
​ onError
​ onStartAsync

​ 3.getRequest

​ 4.getResponse

相關文章
相關標籤/搜索