SpringMVC
主要内容
- SpringMVC简介
- 请求与响应
- REST风格
- SSM整合(注解版)
- 拦截器
SpringMVC的制作过程
- 创建maven项目,补全目录结构
- 导入jar包,添加SpringMVC需要的依赖与servlet;配置Tomcat环境
- 创建Controller类:声明bean、提供方法处理请求、设置访问路径、设置当前操作返回值
- 创建springmvc的配置类,加载controller对应的bean
- 使用servlet容器启动的配置类替换web.xml
- 启动项目、浏览器访问
相关注解
@Controller: 设定SpringMVC的核心控制器bean【Controller类处】
@RequestMapping: 设置当前控制器方法请求访问路径【Controller类具体方法前:(”/save”)】
@ResponseBody: 设置当前控制器方法响应内容为当前返回值【Controller类具体方法前】
设置springmvc和spring的加载范围
SpringMVC加载其相关bean(表现层bean),也就是controller包下的类
Spring控制的bean
- 业务bean(Service)
- 功能bean(DataSource,SqlSessionFactoryBean,MapperScannerConfigurer等)
相关注解
@ComponentScan:设置spring配置类扫描路径【类上方,属性:excludeFilters&includeFilters&type】
springmvc更简单的配置类
public class ServletContainersInitConfig extends AbstractAnnotationConfigDispatcherServletInitializer { |
请求与响应
区分访问不同controller相同名字的方法
- 在访问路径前加controller区分
- 在类前面新增@RequestMapping(“/方法名”)
接收页面传递的参数
GET/POST —发送单/多个参数
- 直接在方法处接受参数
- 普通、POJO、嵌套POJO、数组、集合
解决请求乱码问题
- GET:修改pom.xml
- POST:配置过滤器
形参与地址参数名不一致
使用**@RequestParam**注解
接收日期/时间类型
使用@DateTimeFormat注解
相关注解
- @REQUESTPARAM: 绑定请求参数与处理器方法形参间的关系【方法具体参数处】
- @ENABLEWEBMVC: 开启SpringMVC多项辅助功能【配置类定义上方】
- @RequestBody: 将请求中请求体所包含的数据传递给请求参数、设置当前控制器返回值作为响应体【方法形参定义前面】
- @DateTimeFormat :设定日期时间型数据格式【方法具体参数处】
REST风格
使用行为动作区分对资源进行了何种操作:查询(GET)新增(POST)修改(PUT)删除(DELETE)
页面访问:SpringMVC需要将静态资源进行放行
相关注解
@RestController: 等同于@Controller与@ResponseBody两个注解组合功能
@GetMapping @PostMapping @PutMapping @DeleteMapping: 设置当前控制器方法请求访问路径与请求动作,每种对应一个请求动作【注意delete和get后面要有具体id】
SSM整合
李老师大好人,就是把之前所有的代码都理了一遍
整合配置
- 创建web项目
- 添加依赖
- 创建项目包结构
- 创建ssm+jdbc-config配置类
功能模块开发
- table
- domain
- Dao
- Service
- Controller
单元/PostMan测试
事务管理
- SpringConfig
- jdbcConfig
- BookService
统一结果封装
- Result类
- Code类
- 修改Controller类的返回值
统一异常处理
- 创建异常处理器类
- 搞个异常测试一下
相关注解
@RestControllerAdvice: 为Rest风格开发的控制器类做增强
@ExceptionHandler: 设置指定异常的处理方案
前后台协议联调
- 将静态资源进行放行
- 根据不同业务进行不同操作
拦截器
- 开发步骤
- 创建拦截器类interceptor
- 配置拦截器类SpringMvcConfig
- 修改拦截器拦截规则
- 配置多个拦截器
- 拦截器参数
- request、response、handler、 modelAndView
一般环境准备步骤
- 创建一个Web的Maven项目
- pom.xml添加Spring依赖
- 创建对应的配置类(config)
- 编写controller、domain
- (启动一下看是否能正常运行)