Spring MVC 之注解试控制器
发展历程
1. Spring2.5之前,我们都是通过实现Controller接口或其实现来定义我们的处理器类。已经不建议使用了。
2. pring2.5引入注解式处理器支持,通过@Controller 和 @RequestMapping注解定义我们的处理器类。
并且提供了一组强大的注解:
@Controller:用于标识是处理器类;
@RequestMapping:请求到处理器功能方法的映射规则;
@RequestParam:请求参数到处理器功能处理方法的方法参数上的绑定;
@ModelAttribute:请求参数到命令对象的绑定;
@SessionAttributes:用于声明session级别存储的属性,放置在处理器类上,通常列出
模型属性(如@ModelAttribute)对应的名称,则这些属性会透明的保存到session中;
@InitBinder:自定义数据绑定注册支持,用于将请求参数转换到命令对象属性的对应类型;
3. Spring3.0引入RESTful架构风格支持(通过@PathVariable注解和一些其他特性支持),且又引入了更多的注解支持:
@CookieValue:cookie数据到处理器功能处理方法的方法参数上的绑定;
@RequestHeader:请求头(header)数据到处理器功能处理方法的方法参数上的绑定;
@RequestBody:请求的body体的绑定(通过HttpMessageConverter进行类型转换);
@ResponseBody:处理器功能处理方法的返回值作为响应体(通过HttpMessageConverter进行类型转换);
@ResponseStatus:定义处理器功能处理方法/异常处理器返回的状态码和原因;
@ExceptionHandler:注解式声明异常处理器;
@PathVariable:请求URI中的模板变量部分到处理器功能处理方法的方法参数上的绑定,从而支持RESTful架构风格的URI;
4. Spring3.1使用新的HandlerMapping 和 HandlerAdapter来支持@Contoller和@RequestMapping注解处理器。
新的@Contoller和@RequestMapping注解支持类:处理器映射RequestMappingHandlerMapping和处理器适配器RequestMappingHandlerAdapter组合来代替Spring2.5开始的处理器映射DefaultAnnotationHandlerMapping和处理器适配器AnnotationMethodHandlerAdapter,提供更多的扩展点。
请求的映射分为如下几种:
1. URL路径映射:使用URL映射请求到处理器的功能处理方法;
2. 请求方法映射限定:如限定功能处理方法只处理GET请求;
3. 请求参数映射限定:如限定只处理包含“abc”请求参数的请求;
4. 请求头映射限定:如限定只处理“Accept=application/json”的请求。
记住http请求的六个部分
1. 请求方法,如GET或POST,表示提交的方式;
2. URL,请求的地址信息;
3. 协议及版本;
4. 请求头信息(包括Cookie信息);
5. 回车换行(CRLF);
6. 请求内容区(即请求的内容或数据),如表单提交时的参数数据、URL请求参数(?abc=123 ?后边的)等。
相关推荐
Spring MVC通过注解可以实现控制器、方法映射、模型数据绑定、视图解析等关键功能。本实例将深入探讨Spring MVC中常见的注解及其应用。 1. `@Controller` 注解:这个注解用于标记一个类作为Spring MVC的控制器。当...
Spring MVC 是一个基于Java的轻量级Web应用框架,它为开发者提供了模型-视图-控制器(MVC)架构,使开发人员能够更好地组织和分离应用程序的业务逻辑、数据处理和用户界面。Spring MVC是Spring框架的一个核心组件,...
在本教程中,我们将深入探讨Spring MVC的核心概念,特别是关于注解的使用以及简单的控制器实现。 首先,Spring MVC的核心组件包括DispatcherServlet、Controller、ModelAndView、ViewResolver等。DispatcherServlet...
总的来说,这个压缩包提供了学习和实践Spring MVC注解的全面示例,涵盖了核心的控制器定义、请求映射、数据绑定,以及异步处理和错误处理机制。通过这个例子,开发者能够更好地理解和掌握Spring MVC的使用,提升其在...
Spring MVC支持注解式控制器,例如`@RequestMapping`、`@GetMapping`、`@PostMapping`等,使得控制器的编写更为简洁。 3. **Model**: 模型是业务数据的载体,它可以是简单的Java对象(POJO)。在处理请求时,控制器...
这篇博文(尽管描述为空,但提供了链接)很可能是关于创建一个基本的Spring MVC项目并使用注解来管理控制器、视图解析和其他关键组件的教程。 1. **Spring MVC简介** Spring MVC是Spring框架的一部分,它提供了...
三、Spring MVC核心流程图:描述了Spring MVC处理请求的流程,包括前端控制器接收请求,经过分发器分发给具体的控制器,然后由控制器处理业务逻辑,最后将结果返回给用户。 四、Spring MVC DispatcherServlet说明:...
在这个视频教程中,你可能将学习到如何配置Spring的XML上下文文件以启用注解驱动的配置,如何在Spring MVC中创建注解式的控制器并处理HTTP请求,以及如何通过Hibernate的注解来设计数据模型并执行CRUD操作。...
Spring MVC是Spring框架的一个模块,专门用于构建Web应用程序的前端控制器。它提供了模型-视图-控制器(MVC)架构模式的实现,使得业务逻辑与用户界面分离,提高了代码的可测试性和可维护性。Spring MVC通过注解如@...
首先,Spring MVC注解允许开发者以声明式的方式配置控制器,避免了传统的XML配置文件。这极大地简化了代码,提高了可读性和维护性。例如,`@RequestMapping`注解就是其中的关键,它可以在类级别或方法级别使用,用于...
总的来说,"Mastering Spring MVC 4(2015.09)源码"提供了深入学习Spring MVC的机会,你可以通过阅读和分析源码来了解如何配置DispatcherServlet、怎样编写控制器、如何进行数据绑定与验证,以及如何利用拦截器等特性...
Spring MVC 是一个基于Java的轻量级Web应用框架,它是Spring框架的重要组成部分,主要用于构建Web应用程序的后端控制器。这个教程“Spring MVC - A Tutorial”旨在帮助开发者深入理解和掌握Spring MVC的核心概念和...
首先,Spring MVC的基础架构包括DispatcherServlet(前端控制器)、Model、View和Controller。DispatcherServlet是整个流程的入口,负责接收请求并分发到相应的Controller。Controller是业务逻辑处理的核心,Model...
3. **注解驱动的控制器**:Spring MVC 4.0广泛使用了Java注解,如@Controller、@RequestMapping等,使控制器类的定义更加简洁,减少了XML配置。 4. **路径变量**:在@RequestMapping注解中,可以使用路径变量(path...
- **使用@Controller 注解定义一个控制器**:通过这个注解可以将类标记为一个控制器,Spring 会自动检测并将其纳入管理。 - **使用@RequestMapping 注解映射请求路径**:此注解用于指定控制器处理的具体 URL 路径...
Spring MVC作为Java领域中最流行的MVC(Model-View-Controller)框架之一,提供了强大的控制器概念,允许开发者通过注解轻松地定义和管理HTTP请求处理逻辑。本主题将深入探讨如何实现一个类似Spring MVC的Web控制器...
3. **模型-视图-控制器**(MVC)架构:Spring MVC 遵循 MVC 设计模式,将应用程序逻辑分离为模型(Model)、视图(View)和控制器(Controller)。模型处理业务逻辑,控制器负责协调模型和视图,视图则负责数据的...