@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详解》 在Java Web开发中,Spring MVC框架因其强大的功能和灵活性而备受青睐。在处理HTTP请求时,@RequestMapping注解扮演着至关重要的角色,它负责将客户端的请求映射到控制器中的...
在Spring MVC框架中,`@RequestMapping`注解是核心组件之一,它用于处理HTTP请求映射,使得控制器类(Controller)中的方法能够与特定的URL路径关联起来。本篇文章将深入探讨`@RequestMapping`的使用、功能以及相关...
在Spring MVC框架中,`@RequestMapping` 和 `@RequestParam` 是两个非常重要的注解,它们在处理HTTP请求和参数绑定方面起着核心作用。本文将深入探讨这两个注解的使用和功能。 `@RequestMapping` 是Spring MVC用于...
在Spring MVC框架中,`@RequestMapping`注解是核心组件之一,它用于处理HTTP请求映射,使得控制器类或方法能够与特定的URL路径关联。本文将深入解析`@RequestMapping`的工作原理,并介绍一个简化版的自定义实现,...
在Spring MVC框架中,`@RequestMapping`、`@RequestParam`和`@PathVariable`是三个非常重要的注解,它们用于处理HTTP请求并绑定请求参数到控制器方法的参数上。接下来,我们将详细探讨这三个注解的工作原理以及如何...
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 是一个基于 Java 的 Web 应用程序框架,提供了强大的 RequestMapping 机制来处理 HTTP 请求。在 Spring MVC 中,RequestMapping 是一个核心组件,负责...
通过这个简单的`springmvc_helloworld`示例,你可以了解`@RequestMapping`注解的基本用法,以及如何在Spring MVC框架下构建一个基本的Web应用。随着对Spring MVC的深入学习,你会发现更多高级特性,如拦截器、异常...
总结起来,`@RequestMapping`是Spring MVC中实现请求映射的关键工具,它允许开发者灵活地根据URL、请求方法、参数和头信息来映射处理逻辑。而`HiddenHttpMethodFilter`则解决了在非RESTful环境中模拟其他HTTP方法的...
`@RequestMapping`是Spring MVC框架中用于处理HTTP请求映射的注解,而`RequestAttribute`则用于在请求之间传递数据。接下来,我们将详细探讨这两个关键概念及其在实际应用中的使用。 首先,`@RequestMapping`注解是...
Spring MVC的@RequestMapping注解是核心的控制器层注解,它用于映射HTTP请求到特定的处理方法。在本文中,我们将深入探讨这个注解的各个方面,包括它的使用场景、属性以及如何结合其他注解实现更复杂的请求处理。 ...
在Spring MVC框架中,`@RequestMapping`注解是核心组件之一,它负责将HTTP请求映射到控制器类的处理方法。这个注解可以应用于类级别和方法级别,以定义请求的URL路径、HTTP方法以及其他的匹配条件。接下来,我们将...
3. **注解驱动的控制器**:Spring MVC 4.0广泛使用了Java注解,如@Controller、@RequestMapping等,使控制器类的定义更加简洁,减少了XML配置。 4. **路径变量**:在@RequestMapping注解中,可以使用路径变量(path...
在本项目中,我们重点探讨的是利用注解来简化Spring MVC的配置和实现。 1. **注解驱动的Spring MVC** 在传统的Spring MVC应用中,我们需要编写XML配置文件来声明控制器、服务层和数据访问层等组件。然而,通过使用...
此外,Spring MVC 4还支持RESTful风格的Web服务,通过@RequestMapping注解的produces和consumes属性,可以处理不同格式的HTTP请求和响应,如JSON、XML等。 总的来说,"Mastering Spring MVC 4(2015.09)源码"提供了...
Spring MVC 是一个基于Java的轻量级Web应用框架,它为开发者提供了模型-视图-控制器(MVC)架构,使开发人员能够更好地组织和分离应用程序的业务逻辑、数据处理和用户界面。Spring MVC是Spring框架的一个核心组件,...
在 Spring MVC 中,`Controller` 负责接收HTTP请求并进行处理,通常通过注解如 `@RequestMapping` 来映射请求路径。`Model` 是业务对象或数据模型,用于封装和传递数据。`View` 则负责呈现数据,通常使用 JSP、...
在Spring MVC框架中,`@Controller`、`@RequestMapping`、`@RequestParam`以及`ModelAndView`是四个关键的注解,它们对于构建基于Java的Web应用程序至关重要。下面将详细介绍这些概念及其在实际开发中的应用。 `@...
比如,`@Controller`注解标记一个类作为Spring MVC的控制器,而`@RequestMapping`用于将请求映射到特定的方法。这个注解可以应用于类级别或方法级别,以定义处理请求的URL模式。例如: ```java @Controller @...