1.新建一个ActionServlet类,并继承HttpServlet
2. //获得请求资源路径
//http://ip:port/ajax-day01/check.do
String uri=
request.getRequestURI();
3.//分析请求资源路径
String action=
uri.substring(uri.lastIndexOf("/"), uri.lastIndexOf("."));
4.写出响应格式,并得到 响应输出流out对象类型是PrinterWrite:
response.setContentType("text/html;charset=utf-8");
PrintWriter out=response.getWriter();
5//依据不同的结果做不同的处理
//依据分析的结果,进行不同的处理
if("/quoto".equals(action)) {
//模拟生成几只股票的信息
/*
* 多个对象组成的数组或者集合
* 转换成json字条串。
*/
List<Stock>stocks=
new ArrayList<Stock>();
Random r=new Random();
for(int i=0;i<3;i++) {
Stock s=new Stock();
s.setCode("8098"+r.nextInt(10));
s.setName("中国平安"+r.nextInt(10));
s.setPrice(r.nextInt(1000));
stocks.add(s);
}
JSONArray jsonArr=
JSONArray.fromObject(stocks);
String jsonStr=
jsonArr.toString();
System.out.println(jsonStr);
//发送给浏览器(回应给浏览器)
out.println(jsonStr);
public class Stock {
private String code;
private String name;
private int price;} //Stock实体类,省略get 和set方法
6.配置servlet
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>web.ActionSerlvet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
7.测试
http://localhost:8888/ajax-day0002-json/quoto.do
浏览器输出:
[{"code":"80986","name":"中国平安1","price":886},{"code":"80985","name":"中国平安9","price":313},{"code":"80985","name":"中国平安3","price":693}]