SpringMVC对Ajax的支持
#Ajax
Ajax可以在页面不刷新的情况下,发出HTTP请求,服务器返回数据,之后解析数据,刷新页面局部区域。
XMLHttpRequest为核心发送请求,接收数据
jQuery: $.ajax(),$.get(),$.post(),对象.load()
#Ajax程序应用
jQuery+Servlet+JSON(json-lib.jar)
jQuery+SpringMVC+JSON(spring配套的jackson包)
#SpringMVC的JSON响应
请求-->DispatcherServlet-->HandlerMapping-->Controller(调用Service,Dao)-->返回各种数据类型(要返回的数据类型)-->调用jackson包将数据转成JSON字符串输出(引入jackson包;使用@ResponseBody)
#代码示例:
Controller.java
package org.tedu.controller;
import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.tedu.entity.City;
@Controller//扫描
@RequestMapping("/city")
public class LoadCityController {
@RequestMapping("/load.do")//匹配请求URI
@ResponseBody//将city转成json字符串输出
public City execute(){
City c = new City(101,"北京");
return c;
}
@RequestMapping("/test1.do")
@ResponseBody
public boolean f1(){
return true;
}
@RequestMapping("/load_all.do")
@ResponseBody
public List<City> f2(){
List<City> list = new ArrayList<City>();
City c1 = new City(101,"北京");
City c2 = new City(102,"上海");
list.add(c1);
list.add(c2);
return list;
}
}