springmvc不使用xml配置
使用配置类代替xml配置,包括web.xml,主要是替换掉web.xml
1)前提,servlet3.0,实现WebApplicationInitializer接口,onStartUp方法
2)配置类,例如配置视图解析器
3)Pom文件设置插件,不要web,xml 否则报错; web.xml如果留着,是不能改名字的,报错
视图解析器是必须配置还是只是响应视图的时候配置,不需要的时候可以不配
@ResponseBody和@RequestBody本意是响应响应体内容和接收请求体的内容,而不特指是JSON数据
所以这里@RequestBody的请求只能是POST请求,才能有请求体;这个注解是可以直接接收请求体的内容;当然还可以手动去获取请求体,用流,
ServletInputStream inputStream = request.getInputStream();
再去读这个流的内容,一般是字符串,或者是KV&形式的,或者是JSON{}形式的,自己去解构出来
@Produces定制返回的媒体类型和字符集UTF8
不使用,那就默认返回JSON格式
当设置xml时报错
换依赖
<!-- <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.9.5</version> </dependency> --> <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-xml</artifactId> <version>2.8.2</version> </dependency>
两种错误类型:
406错误:响应时的不受支持(没根据请求头的规定而进行的响应),Accept,消息转化器有问题,无法按照要求进行响应
415错误:请求时的不受支持,请求时的媒体类型不对 【对于当前请求的方法和所请求的资源,请求中提交的实体并不是服务器中所支持的格式,因此请求被拒绝。】例如后台要json,前台传表单,会报415错误;