`
oneforce
  • 浏览: 19522 次
社区版块
存档分类
最新评论

Spring MVC @RequestMapping

阅读更多

 @RequestMapping

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->@Controller
@RequestMapping(
"/appointments")
public class AppointmentsController {

    
private final AppointmentBook appointmentBook;
    
    @Autowired
    
public AppointmentsController(AppointmentBook appointmentBook) {
        
this.appointmentBook = appointmentBook;
    }

    @RequestMapping(method 
= RequestMethod.GET)
    
public Map<String, Appointment> get() {
        
return appointmentBook.getAppointmentsForToday();
    }

    @RequestMapping(value
="/{day}", method = RequestMethod.GET)
    
public Map<String, Appointment> getForDay(@PathVariable @DateTimeFormat(iso=ISO.DATE) Date day, Model model) {
        
return appointmentBook.getAppointmentsForDay(day);
    }

    @RequestMapping(value
="/new", method = RequestMethod.GET)
    
public AppointmentForm getNewForm() {
        
return new AppointmentForm();
    }

    @RequestMapping(method 
= RequestMethod.POST)
    
public String add(@Valid AppointmentForm appointment, BindingResult result) {
        
if (result.hasErrors()) {
            
return "appointments/new";
        }
        appointmentBook.addAppointment(appointment);
        
return "redirect:/appointments";
    }
}

 

DispatcherServle
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><servlet>
        
<servlet-name>dispatcher</servlet-name>
        
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        
<load-on-startup>1</load-on-startup>
    
</servlet>
    
<servlet-mapping>
        
<servlet-name>dispatcher</servlet-name>
        
<url-pattern>*.do</url-pattern>
    
</servlet-mapping>

 

/appointments/new.do
映射方法是getNewForm()
/appointments.do 
GET请求映射方法是 get()
POST请求映射方法是add(@Valid AppointmentForm appointment, BindingResult result)


通过参数条件缩小路径映射
@RequestMapping(value = "/path", params="myParam=myValue")
public void add(){...}
http://localhost:8080/DynamicWebProject/hao/hello.do?myParam=myValue
URL中只有存在myParam=myValue参数时才被允许访问路径映射的方法

@RequestMapping(value = "/path", method = RequestMethod.POST, headers="content-type=text/*")
public void add(){...}
只有在URL的头信息中包含有content-type=text/*(content-type=text/xml)的POST请求才能访问add()方法


 

配合@RequestMapping使用的方法或注解
org.springframework.web.context.request.WebRequest或org.springframework.web.context.request.NativeWebRequest。通用请求参数允许访问 request/session属性,到本机的Servlet / Portlet API的。

java.util.Locale 当前请求的区域设置,由解析器提供最具体的语言环境。

java.io.InputStream /java.io.Reader访问请求的内容。这个值是原始的InputStream /Reader ,由Servlet API公开。

java.io.OutputStream /java.io.Writer生成响应的内容。这个值是原始的OutputStream /Writer,由Servlet API公开。

@ PathVariable注明获取URI模板变量的参数。

@ RequestParam注明为获取特定的servlet请求参数的参数。

@ RequestHeader 访问特定的servlet请求的HTTP头的参数。参数值转换为声明的方法的参数类型。

@ RequestBody 访问HTTP请求体参数。参数值转换为所声明的方法的参数类型使用HttpMessageConverters。

HttpEntity <?>访问servlet请求的HTTP头和内容。请求流将被转换为实体采用HttpMessageConverters。

java.util.Map/ org.springframework.ui.Model /org.springframework.ui.ModelMap为丰富的隐含模型,暴露在Web视图

org.springframework.validation.Errors / org.springframework.validation.BindingResult

org.springframework.web.bind.support.SessionStatus
分享到:
评论

相关推荐

    Spring MVC之@RequestMapping详解

    《Spring MVC之@RequestMapping详解》 在Java Web开发中,Spring MVC框架因其强大的功能和灵活性而备受青睐。在处理HTTP请求时,@RequestMapping注解扮演着至关重要的角色,它负责将客户端的请求映射到控制器中的...

    Spring MVC--2.@RequestMapping 映射请求

    在Spring MVC框架中,`@RequestMapping`注解是核心组件之一,它用于处理HTTP请求映射,使得控制器类(Controller)中的方法能够与特定的URL路径关联起来。本篇文章将深入探讨`@RequestMapping`的使用、功能以及相关...

    springmvc关于@requestMapping和@requestParam的使用

    在Spring MVC框架中,`@RequestMapping` 和 `@RequestParam` 是两个非常重要的注解,它们在处理HTTP请求和参数绑定方面起着核心作用。本文将深入探讨这两个注解的使用和功能。 `@RequestMapping` 是Spring MVC用于...

    简化版@requestmapping注解注册源码

    在Spring MVC框架中,`@RequestMapping`注解是核心组件之一,它用于处理HTTP请求映射,使得控制器类或方法能够与特定的URL路径关联。本文将深入解析`@RequestMapping`的工作原理,并介绍一个简化版的自定义实现,...

    SpringMVC@RequestMapping(重点)@RequestParam@PathVariable示例

    在Spring MVC框架中,`@RequestMapping`、`@RequestParam`和`@PathVariable`是三个非常重要的注解,它们用于处理HTTP请求并绑定请求参数到控制器方法的参数上。接下来,我们将详细探讨这三个注解的工作原理以及如何...

    SpringMVCDemo:Spring MVC 框架知识案例

    2.Spring MVC @RequestMapping 注解案例 3.Spring MVC 请求参数的获取案例 4.Spring MVC 域对象共享数据案例 5.Spring MVC @ModelAttribute 注解案例 6.Spring MVC 国际化案例 7.Spring MVC 请求转发与请求重定向...

    Spring mvc中 RequestMapping 6个基本用法小结

    Spring MVC 中的 RequestMapping 6个基本用法小结 Spring MVC 是一个基于 Java 的 Web 应用程序框架,提供了强大的 RequestMapping 机制来处理 HTTP 请求。在 Spring MVC 中,RequestMapping 是一个核心组件,负责...

    springmvc之@RequestMapping的demo

    通过这个简单的`springmvc_helloworld`示例,你可以了解`@RequestMapping`注解的基本用法,以及如何在Spring MVC框架下构建一个基本的Web应用。随着对Spring MVC的深入学习,你会发现更多高级特性,如拦截器、异常...

    SpringMVC-2 使用@RequestMapping映射请求

    总结起来,`@RequestMapping`是Spring MVC中实现请求映射的关键工具,它允许开发者灵活地根据URL、请求方法、参数和头信息来映射处理逻辑。而`HiddenHttpMethodFilter`则解决了在非RESTful环境中模拟其他HTTP方法的...

    SpringMybatis项目基于@RequestMapping和RequstAttribute实现登录注册

    `@RequestMapping`是Spring MVC框架中用于处理HTTP请求映射的注解,而`RequestAttribute`则用于在请求之间传递数据。接下来,我们将详细探讨这两个关键概念及其在实际应用中的使用。 首先,`@RequestMapping`注解是...

    Spring MVC之@RequestMapping注解详解

    Spring MVC的@RequestMapping注解是核心的控制器层注解,它用于映射HTTP请求到特定的处理方法。在本文中,我们将深入探讨这个注解的各个方面,包括它的使用场景、属性以及如何结合其他注解实现更复杂的请求处理。 ...

    Springmvc中 RequestMapping 属性用法归纳.docx

    在Spring MVC框架中,`@RequestMapping`注解是核心组件之一,它负责将HTTP请求映射到控制器类的处理方法。这个注解可以应用于类级别和方法级别,以定义请求的URL路径、HTTP方法以及其他的匹配条件。接下来,我们将...

    spring mvc 4.0

    3. **注解驱动的控制器**:Spring MVC 4.0广泛使用了Java注解,如@Controller、@RequestMapping等,使控制器类的定义更加简洁,减少了XML配置。 4. **路径变量**:在@RequestMapping注解中,可以使用路径变量(path...

    Spring@mvc.rar_java 注解_spring mvc

    在本项目中,我们重点探讨的是利用注解来简化Spring MVC的配置和实现。 1. **注解驱动的Spring MVC** 在传统的Spring MVC应用中,我们需要编写XML配置文件来声明控制器、服务层和数据访问层等组件。然而,通过使用...

    Mastering Spring MVC 4(2015.09)源码

    此外,Spring MVC 4还支持RESTful风格的Web服务,通过@RequestMapping注解的produces和consumes属性,可以处理不同格式的HTTP请求和响应,如JSON、XML等。 总的来说,"Mastering Spring MVC 4(2015.09)源码"提供了...

    Spring MVC jar包

    Spring MVC 是一个基于Java的轻量级Web应用框架,它为开发者提供了模型-视图-控制器(MVC)架构,使开发人员能够更好地组织和分离应用程序的业务逻辑、数据处理和用户界面。Spring MVC是Spring框架的一个核心组件,...

    spring mvc架包

    在 Spring MVC 中,`Controller` 负责接收HTTP请求并进行处理,通常通过注解如 `@RequestMapping` 来映射请求路径。`Model` 是业务对象或数据模型,用于封装和传递数据。`View` 则负责呈现数据,通常使用 JSP、...

    springmvc:@Controller @RequestMapping @RequestParam,模型和ModelAndView Spring MVC实践

    在Spring MVC框架中,`@Controller`、`@RequestMapping`、`@RequestParam`以及`ModelAndView`是四个关键的注解,它们对于构建基于Java的Web应用程序至关重要。下面将详细介绍这些概念及其在实际开发中的应用。 `@...

    学习Spring MVC,关于注解的Spring MVC,简单例子,关于控制器的Spring MVC,学习Spring,简单Spring MVC实例

    比如,`@Controller`注解标记一个类作为Spring MVC的控制器,而`@RequestMapping`用于将请求映射到特定的方法。这个注解可以应用于类级别或方法级别,以定义处理请求的URL模式。例如: ```java @Controller @...

Global site tag (gtag.js) - Google Analytics