响应数据
1.返回值为String类型
@RequestMapping(path = "/testString")
public String testString(Model model){
System.out.println("testString执行了。。。");
User user = new User();
user .setAge(11);
user .setUsername("里斯");
user.setPassword("1213");
model.addAttribute("user",user);
return "success";
}
2.返回值为空值
可以在形参中写上servlet原生api,既可以获取客户端传来的api。
因为返回值是空,不会经过springmvc的视图解析器,所以路径要写全。
注意:重定向不会跳到web-inf下的资源。
@RequestMapping(path = "/testVoid")
public void testVoid(HttpServletRequest request , HttpServletResponse response) throws Exception {
System.out.println("testString执行了。。。");
// request.getRequestDispatcher("/WEB-INF/pages/success.jsp").forward(request,response);
response.sendRedirect(request.getContextPath()+"/index.jsp");
return ;
}
结果视图
1.从客户端用异步的方式传递json格式的数据给服务端。服务端接受参数并响应到客户端
【1】为了让springmvc的拦截器步拦截静态资源,配置springmvc.xml文件。
<mvc:resources mapping="/js/**" location="/js/"></mvc:resources>
【2】导入封装json数据和解析json数据的jar包依赖
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.0</version>
</dependency>
2.发送异步请求,接受服务参数。
<script src="js/jquery-1.12.4.min.js" ></script>
<script >
$(function () {
$("#btn").click(function () {
$.ajax({
url:"user/testAjax",
contentType:"application/json;charset=utf-8",
data:'{"username":"hahha","password":"123","age":123}',
dataType:"json",
type:"post",
success:function (data) {
alert(data)
alert(data.username)
alert(data.age)
}
});
});
});
</script>
3.获取异步请求数据封装到实体类对象中,并响应到客户端并将实体对象解析为json数据
@RequestMapping(path = "/testAjax")
public @ResponseBody User testAjax(@RequestBody User user) {
System.out.println(user);
user.setPassword("123");
user.setUsername("heihie");
return user ;
}