`

Spring MVC 学习笔记 六 Handler Method的可用参数

 
阅读更多

使用@requesMapping标注的处理函数包括的可选参数,除了HttpServletRequest, HttpServletResponse, HttpSession这些web应用中常见的参数及之前提到过的@PathVariable外,还可以包括以下可选的参数,其中大部分参数的顺序没有特殊要求的。

 

 

java.util.Locale

当前请求所属的区域设置。

 

java.io.InputStreamjava.io.Reader

用来读取request content,相当于  request.getInputStream()request.getReader();

 

java.io.OutputStreamjava.io.Writer

用来生成reponse content,相当于response.getOutputStream()response.getWriter()

 

java.security.Principal

当前认证了的用户

 

WebRequestNativeWebRequest

Spring request,response,sessionweb元素封装后的对象

 

java.util.Map  org.springframework.ui.Modelorg.springframework.ui.ModelMap

用来存放domain modelmap结构。

 

HttpEntity<?>

可用来读取http请求的header body内容,注意因为httpentity,@RequestBodyReader这三种类型的参数都是通过inputstram来读取httpbody的数据的,而inputstream流不能反复读取,因此这三种类型的参数不能放在一起使用。而且在没有设置content-type或没有设置相应的messageconverter的情况下,都会报错。

 

Command  form objects

通过spring databinding机制将request请求中的参数自动转换为对应的java bean实例。

 

ErrorsBindingResult

commandform objects值的校验结果。此参数必须紧跟在需校验的commandform object参数后面。因为databinding可以允许将输入参数和多个java bean 进行绑定(也就是说我们可以把输入request param转换成为多个java 对象)。

 

SessionStatus

Session的状态。当使用@SessionAttributes来标注请求需要session中对应的值时,在处理结束时,使用SessionStatus. setComplete()来将session设置为时效。

 

@RequestParam

request参数和handler method参数做绑定。例如

@RequestParam(value="username",defaultValue="winzip",required=false) String name

表示将request中的username参数和handler method中的name参数绑定,缺省值为”winzip”,request请求中可以不传递此参数

 

@RequestHeader

handler method中的参数与request header中的值绑定,例如

@RequestHeader(required=false,value="User-Agent") String ua

表示将header中的"User-Agent"ua这个入参绑定。

 

@RequestBody

handler method中的参数与request context body中的值绑定

例如

@RequestBody String u

表示将request body中的内容与u这个入参绑定。

 

@CookieValue

handler method中的参数与cookie中的值绑定

例如

@CookieValue(value="JSESSIONID",required=false) String jssionid

 

@ModelAttribute

handler method中的参数与对应的类型绑定,名称缺省为类名(首字母小写),如果ModelAttribute指定了值则以该值作为model attribute name

例如

@ModelAttribute("ooxx") User u

则在modelmap中创建了一个键值为ooxxmodel attribute

@ModelAttribute User u  User u

modelmap中创建了一个键值为usermodel attribute

分享到:
评论

相关推荐

    spring mvc学习笔记

    ### Spring MVC 学习笔记 #### 一、Spring MVC 核心组件与工作流程 **Spring MVC** 是 **Spring Framework** 的一个重要模块,主要用于构建基于 Web 的应用程序。它提供了简化 Web 开发的一系列功能,包括但不限于...

    spring MVC学习笔记

    **Spring MVC 学习笔记** Spring MVC 是 Spring 框架的一个模块,专门用于构建 Web 应用程序。它提供了一种模型-视图-控制器(Model-View-Controller)架构,帮助开发者处理请求、控制应用程序流程,并实现业务逻辑...

    Spring MVC 学习记录总结1

    在这个学习记录总结中,我们将深入理解Spring MVC的核心概念、主要组件以及其工作流程。 1. Spring MVC 概述 Spring MVC 是Spring框架的一部分,它基于Spring IoC(Inversion of Control,控制反转)容器,简化了...

    Spring3 MVC 学习笔记 入门

    ### Spring3 MVC 学习笔记入门知识点解析 #### 一、Spring MVC 概念与架构 **Spring MVC** 是 Spring Framework 的一个重要模块,主要用于构建基于 Web 的应用。它实现了 Model-View-Controller(MVC)设计模式,...

    Spring MVC学习框架

    8. **数据绑定与验证**:Spring MVC 提供了数据绑定功能,可以自动将请求参数映射到 Controller 方法的参数。同时,通过 @Valid 和 Validation API 可以实现数据校验。 9. **拦截器(Interceptor)**:拦截器可以在...

    Spring MVC— 处理器(Handler)方法的返回值.docx

    在Spring MVC框架中,处理器(Handler)方法是处理用户请求的核心组件。这些方法通常定义在@Controller注解的类中,并通过@RequestMapping或其相关的注解来指定处理特定HTTP请求的路径。处理器方法的返回值非常关键...

    spring MVC .docx

    10. **Conversion and Validation**: Spring MVC提供了数据转换和验证功能,如使用`@RequestParam`、`@PathVariable`注解自动转换参数,以及使用`@Valid`和`BindingResult`进行表单验证。 11. **Tiles or Layouts**...

    spring MVC配置详解

    DispatcherServlet 是 Spring MVC 框架的核心组件,它负责转发每一个 Request 请求给相应的 Handler,Handler 处理以后再返回相应的视图(View)和模型(Model)。DispatcherServlet 是继承自 HttpServlet 的,既然 ...

    Spring mvc 教程

    ### Spring MVC 教程知识点详解 #### Spring Web MVC 框架简介 Spring Web MVC 是 Spring Framework 的一个重要组成部分,主要用于构建基于 Java 的 Web 应用程序。它提供了一个灵活且强大的 MVC 实现,使得开发者...

    spring-ext-handler-mapping.rar_ext_spring ext_spring mvc

    本资源"spring-ext-handler-mapping"着重于扩展Spring的地址映射功能,使得开发者在使用Spring MVC进行Web开发时能够更加灵活和高效。 1. **扩展Spring HandlerMapping** Spring MVC默认提供了一些内置的...

    Spring MVC 入门实例

    11 &lt;bean id="simpleUrlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"&gt; 12 13 14 &lt;prop key="/hello.do"&gt;helloController 15 16 17 18 19 20 &lt;!-- 21 22 --&gt; ...

    Spring MVC源码深度剖析开源架构源码2021.pdf

    Spring MVC是Java EE开发中广泛使用的一个Web框架,它是Spring框架的一部分,主要负责Model-View-Controller(MVC)架构模式的...通过学习和实践,开发者可以更有效地利用Spring MVC框架来构建高性能的Web应用程序。

    Expert Spring MVC

    ### Expert Spring MVC 相关知识点概述 #### 一、Spring MVC 概述 ...通过本书的学习,不仅可以掌握 Spring MVC 的基础知识,还能了解到如何利用其高级特性来解决实际问题,提高应用的性能和用户体验。

    spring mvc入门示例

    在开始Spring MVC的学习之前,首先需要理解MVC设计模式。MVC模式将应用程序分为三个主要部分:Model(模型)负责处理数据和业务逻辑,View(视图)负责显示数据,Controller(控制器)接收用户请求并调用模型进行...

    spring-mvc-showcase

    综上所述,"spring-mvc-showcase"项目不仅是一个学习Spring MVC的绝佳资源,也是实践和理解MVC设计模式的有效途径。通过对这个项目的深入研究,开发者能够掌握Spring MVC的精髓,提升Web应用开发的效率和质量。

    Spring MVC 配套资料

    本配套资料包含 SpringMvc 学习笔记与代码示例,是学习 Spring MVC 的宝贵资源。 一、Spring MVC 概述 Spring MVC 作为 Spring 框架的一部分,为开发可测试、模块化的 Web 应用提供了强大的支持。它简化了处理 ...

    spring mvc异常处理

    Spring MVC 是一个强大的Java Web开发框架,用于构建可维护、高性能的Web应用程序。在实际的开发过程中,我们经常需要处理各种可能出现的异常情况。本文将深入探讨Spring MVC中的异常处理机制,帮助你更好地理解如何...

Global site tag (gtag.js) - Google Analytics