这节课讲怎么处理json数据以及怎么给前台传数据
要处理json数据,需要一个第三方json处理的jar包,目前主流的有gson,fastjson,jackson,我们用fastjson,jar包已经准备好了。
然后我的idea好像出了bug,需要在ProjectStructure里也引一下才能用...不知道你们有没有这个bug
JsonTest.java
package com.test;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.bean.User;
import org.junit.Test;
public class JsonTest {
    @Test
    public void testJson()
    {
        //可以看到fastjson是阿里出品的
        //处理json无非两种,字符串转对象,对象转字符串
        //用单元测试测吧
        User user = new User("xiaoye","123456");
        //对象转字符串
        String jsonStr = JSON.toJSONString(user);
        System.out.println(jsonStr);
        //字符串转对象
        //JSON.parse()得到的对象的类型是JSONObject
        Object jsonObj = JSON.parse(jsonStr);
        System.out.println("jsonObj: ");
        System.out.println(jsonObj.toString());
        //这就是json对象和字符串之间的互转
    }
}AjaxServlet.java:
package com.servlet;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.bean.User;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public class AjaxServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //这里写怎么给前台返回json数据
        User user = new User("xiaoye","123456");
        String jsonString = JSON.toJSONString(user);
        PrintWriter writer = resp.getWriter();
        writer.write(jsonString);
        //通过response.getWriter()后writer.write()即可给前台返回数据
    }
}web.xml:
<servlet>
    <servlet-name>AjaxServlet</servlet-name>
    <servlet-class>com.servlet.AjaxServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>AjaxServlet</servlet-name>
    <url-pattern>/ajax</url-pattern>
</servlet-mapping>ajax.jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <script src="/jquery.js"></script>
    <script>
        $.ajax({
            url:"/ajax",
            type:"get",
            success:function (data) {
                console.log(data);
            }
        });
    </script>
</body>
</html>









