Spring MVC(Model-View-Controller)
基础概念
- Model-View-Controller(MVC):理解 MVC 架构的基础概念。
- DispatcherServlet:Spring MVC 的前端控制器。
- WebApplicationContext:特定于 Web 应用的应用上下文。
配置
- XML 配置:传统的 Spring 配置方式。
- Java-based 配置:使用
@Configuration
进行 Java 配置。
- Spring Boot:使用 Spring Boot 进行自动配置。
注解
- @Controller 和 @RestController:定义控制器类。
- @RequestMapping、@GetMapping、@PostMapping 等:定义路由信息。
- @ModelAttribute:绑定请求参数到模型。
- @RequestParam 和 @PathVariable:获取请求参数。
- @ResponseBody 和 @RequestBody:用于数据序列化和反序列化。
请求处理
- 请求映射:如何将请求映射到控制器和方法。
- 请求参数和数据绑定:如何从请求中获取数据。
- 请求重定向和转发:使用
redirect:
和 forward:
。
- 文件上传和下载
视图和视图解析器
- JSP, Thymeleaf, Freemarker 等:不同的视图技术。
- ViewResolver:如何解析视图名称到实际的视图。
数据校验
- JSR 303/JSR 349 Bean Validation:使用
@Valid
进行数据校验。
- 自定义验证:使用 Spring 的
Validator
接口。
异常处理
- @ExceptionHandler:处理控制器内部的异常。
- ControllerAdvice:全局异常处理。
- 自定义错误页面:配置自定义的错误视图。
测试
- MockMvc:用于测试 MVC 控制器的框架。
- Spring TestContext Framework:集成测试支持。
安全
- Spring Security:集成 Spring Security 来保护 Web 应用。
其他高级话题
- Web Flow:对复杂业务流程的支持。
- 异步请求处理:使用
@Async
和 DeferredResult
。
这些知识点可以帮助你全面地了解和使用 Spring MVC。实际应用中,你可能还需要结合其他 Spring 生态系统的组件,如 Spring Data, Spring Security 等。