Spring MVC 请求处理方法
以下两种都可以处理用户请求,但请求处理方法值得是第二种
1. SpringMVC 提供的 Controller 接口中公开的 ModelAndView handleRequest(request, response)
2. 使用 @RequestMapping 注解的方法
每个请求处理方法可以有多个不同类型的参数,以及一个多种类型的返回结果。
以下是可以在请求处理方法中出现的参数类型
javax.servlet.ServletRequest 或 javax.servlet.http.httpServletRequest javax.servlet.ServletResponse 或 javax.servlet.http.httpServletResponse javax.servlet.http.HttpSession org.springframework.web.context.request.WebRequest 或 org.springframework.web.context.request.NativeWebRequest java.util.Locale java.io.InputStream 或 java.io.Reader java.io.OutputStream 或 java.io.Writer java.security.Principal HttpEntity<?> java.util.Map org.springframework.ui.Model org.springframework.ui.ModelMap org.springframework.web.servlet.mvc.support.RedirectAttributes org.springframework.validation.BindingResult org.springframework.web.bind.support.SessionStatus org.springframework.web.util.UriComponentsBuilder 带 @PathVariable,@MatrixVariable注解的对象 @RequestParam,@RequestHeader,@RequestBody,@RequestPart
请求处理方法可以返回如下类型的对象
ModelAndView Model Map包含模型的属性 View 代表逻辑视图的String void 提供对 Servlet 的访问,以响应 HTTP 头部和内容 HttpEntity 或 ResponseEntity对象 Callable DeferredResult 其他任意类型,Spring将其视作输出给View的对象模型