一、springMVC返回值的处理
1、返回值是String类型
返回的字符串就是逻辑视图,需要和视图解析器前缀和后缀拼接为一个真正的视图
在springMVC中,如果需要使用springMVC的处理器来处理请求,但是又不需要访问视图解析器固定的文件夹,可以采用两种方式来解决:
在返回的字符串上使用固定的单词:
转发:只能在当前项目中转发
返回forward地址
测试
重定向:可以跳转其他的项目资源
redirect:资源地址
测试
2、返回值是ModelAndView
返回的的视图和模型:
3、返回值是viod
可以使用servletAPI重定向或者转发
测试
可以返回一个json串
测试
二、srpingMVC的常用注解
(一)@RequestMapping *
1、该注解添加在handler(方法)上:
测试
如果在注解中只写一个路径是默认设置的value值:
测试; 如果限定了访问方法,就会抛出405异常
属性params 限制请求的参数
测试:
如果不传递name
- name 传递的参数中必须是name属性的传参
- !name 不能有name属性传参
- name=zsan 必须有name属性而且值必须是zsan
- name!=zsan 传递的参数如果有name属性 该属性值不能是zsan
2、注解添加在类上
添加到类上,该类下所有的requestMapping的url地址都添加该属性
访问当前类下url成为
作用:用来区别不同的controller,因为在项目开发中 可能多个控制层中不同的方法名称会出现重复。
(二)@requestParam *
如果传递的参数和handler中入参名称写的不一样 不能获取到
添加数据的时候如果提交的和后台的名称不一样:
注意:
可以通过requestParam来修改:
测试:
可以为当前的参数设置默认值:
测试:
属性required 设置当前的参数是必须要提交的:
测试:
添加name
(三)@RequestHeader
获取请求的头信息:
可以在后台获取到请求头信息:
测试:
(四)@ResponseBody *
将返回任意的数据转化为json对象
如果要使用该注解,必须要导入对应的依赖:
<!--springMVC转化为json依赖包-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.8</version>
</dependency>
<dependency>