简介
SrpingMVC与servlet功能相同,均属于web层的开发技术
springMVC是一种基于java实现MVC模型的轻量级web框架
入门案例
入门案例流程
bean加控制
因为Spring和springMVC功能不同,如何避免spring加载springMVC的bean
排除包:
excludeFilters = @ComponentScan.Filter(
type=FilterType.ANNOTAION, //按注解形式排除
classes = Controller.class //排除注解为controller的包
)
PostMan插件
请求与响应
设置请求映射路径
@RequestMapping("/**")
get post传递普通参数
不区分get post
post发送get
发送post
乱码处理
处理post
5种类型参数传递
普通参数:请求参数名与形参名不同
pojo参数(如果属性名和实体属性名一样则自动填入)
pojo参数 实体属性中有引用类型
数组参数
自动填入 但是名字要和形参一样 (likes)
集合参数 @RequestParam
json数据传递
1 导入jackson坐标
2 使用postman发json数据
3 开启json转换为对象的功能
4 参数上加@RequestBody 在一个处理器方法上只能使用一次
日期类型参数传递
默认 yyyy/mm/dd 默认日期型的参数是可以直接传递的
其他形式要用@DateTimeFormat(Pattern="........") {内部使用convert接口对数据进行转换}
响应
响应页面 返回页面名字符串
响应pojo (返回json) 加@ResponseBody 别忘了导入json坐标
响应pojo集合对象
使用HttpMessageConver接口进行数据转换
REST :表现形式状态转换(访问网络资源的格式)
入门案例
@RequestMapping("/save")
改为
@RequestMapping(value = "/users",method = RequestMethod.POST)
几个注解的区别
RESTful快速开发
value属性使用@RequestMapping("/books")替换
@ResponseBody 在方法上删掉 提到类上 代表此类的所以方法都带@ResponseBody
@ResponseBody和@Controller 也合二为一 变成@RestController
@RequestMapping()继续简化
rest实战
解决上述问题 添加专门的路径配置类
记得在主配置类SpringMvcConfig中的@ComponentScan中扫进去