常用注解,文件上传下载,post中午乱码,异常处理器,拦截器
一 : 常用注解
(一) @RequestParam
(二) @RequestHeader
(三) @CookieValue
(四) @RequestBody和@ResponseBody
注意: 如果需要进行json格式转换, 需要使用jackson-databind.jar
(五) @SessionAttributes
表示将model中的msg存到session中
(六) @ModelAttribute
- 放在形参列表中是从域对象中获取值
- 放在方法上是往域对象中存值
(七) @RequestMapping
Value: 统一资源定位符
Method: 请求方式
Get: 获取 --> @GetMapping
Post: 插入 --> @PostMapping
Put: 修改 --> @PutMapping
Delete: 删除 --> @DeleteMapping
(八) @PathVariable
注意: 要使用restFul风格, DispatcherServlet的拦截方法必须是/
二 : 上传和下载
(一) 上传
要求
请求方式: post
数据类型:
格式: enctype=“multipart/form-data”
- 添加依赖
- 编写配置文件
- 编写处理器
- 编写表单
(二) 下载
三 : 中文post乱码处理
在web.xml中添加如下配置
四 : 静态资源处理
(一) 委托默认servlet处理
(二) 手动映射静态资源
(三) 小结
手动映射可以找到WEB-INF下的资源, 静态资源少可以选用
默认servlet不能找到WEB-INF下的资源, 如果静态文件数据量大, 而且位于web-inf外, 可以选用
五 : 异常处理机制
(一) 编写全局异常处理器
(二) 修改配置文件
六 : 拦截器
(一) 编写自定义拦截器
(二) 编写配置文件
(三) 拦截器链
- 同一个处理器可以配置多个拦截器
- 拦截器的执行是有顺序的, 就是我们的配置顺序
- 拦截器的执行是先进后出
/* : 表示拦截一级请求
/** : 拦截一级请求和多级请求
(四) 释放拦截
七 : 框架总结
- 前端控制器
- 三大器: 处理器映射器, 处理器适配器, 视图解析器
- 三小器: 自定义类型转换器, 全局异常处理器, 拦截器
- Post乱码处理(web)
- 上传(multipartfile)和下载(responseEntity)
- RestFul风格(/ @PathVariable)
- 静态资源映射
- 转发和重定向
- 重定向传值