springMVC--requestBody和responseBody

requestBody和responseBody

requestBody把前台页面传递的json格式数据强制转换成javabean

responsebody在后台把javabean转换成json格式的数据返回到页面

这两个注解不能直接使用,需要依赖json的jar包


作用:

@RequestBody注解用于读取http请求的内容(字符串),

通过springmvc提供的HttpMessageConverter接口将读到的内容转换为json、xml等格式的数据并绑定到controller方法的参数上。


一、导入jar包:

jackson-core-asl-1.9.11.jar

jackson-mapper-asl-1.9.11.jar


二、配置json格式转换

请求json响应json

在适配器中添加:不需要<mvc:annotation-driven>
		<!-- 配置注解处理器适配器:调用Controller方法,执行Controller -->
		<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
			<!-- 对json数据格式的支持 -->
			<property name="messageConverts">
				<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
			</property>
		</bean>

requestJson.jsp:
<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery.js">		
	function requestJson() {
		
			var jsonUser = JSON.stringify({"username":"张三丰","age":"111","address":"武当山"});
		
			$.ajax({
				type:'post',
				url:'${pageContext.request.contextPath }/user/requestJson.do',
				contentType:'application/json;charset=utf-8',
				data:jsonUser,
				success:function(data){
					alert(data);
				}
			})
		}
	
	</script>
  </head>
  
  <body>
    <input type="button" value="请求json,返回json" οnclick="requestJson();">
  </body>

UserController:
//跳转到requestjson页面
	@RequestMapping("toJson")
	public String toJson(){
		return "requestJson";
	}
	
	
	//接受json格式数据,使用requestBody把json格式数据封装到user对象
	//返回user对象,使用responBody把user对象转换成json对象
	@RequestMapping("requestJson")
	public @ResponseBody User requestJson(@RequestBody User user){
		System.out.println(user);
		return user;
	}

请求pojo,响应json

springmvc.xml:
只需配置:<mvc:annotation-driven>j

requestJson.jsp:
	<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery.js">		
	
	function requestPojo() {
		$.ajax({
			type:'post',
			url:'${pageContext.request.contextPath }/user/requestPojo.do',
			data:'username=张三&age=123&address=北京'
			success:function(data){
				alter(data);
			}
		})
	}
	
	</script>
  </head>
  
  <body>
    <input type="button" value="请求pojo,返回pojo" οnclick="requestPojo();">
  </body>

UserController.java:
//跳转到requestjson页面
	@RequestMapping("toJson")
	public String toJson(){
		return "requestJson";
	}
	
	 
	//请求pojo,返回json
	@RequestMapping("requestPojo")
	public @ResponseBody User requestJson(User user){
		System.out.println(user);
		return user;
	}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值