首页 > 代码库 > servlet与jsp篇(一)$.ajax交互

servlet与jsp篇(一)$.ajax交互

servlet其实是利用java类编写的服务器端应用程序,他的生命周期可以分为三个阶段:初始化阶段、运行阶段和消亡阶段;

jsp页面实质上是一个HTML页面,但他包含了用户产生动态网页内容的java代码。

他们之间的联系千丝万缕,今天就跟大家分享一下最近的学习心得:通过JQuery的$.ajax()实现两者的交互。

1.servlet代码:servlet1.java

package servlet1;import iface.RemoteServer;import iface.Thrift_TargetInfo;import net.sf.json.JSONArray;import org.apache.thrift.TException;import org.apache.thrift.protocol.TBinaryProtocol;import org.apache.thrift.protocol.TProtocol;import org.apache.thrift.transport.TSocket;import org.apache.thrift.transport.TTransport;import org.apache.thrift.transport.TTransportException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;@WebServlet(name = "Servlet1", urlPatterns = "/getTgs")public class Servlet1 extends HttpServlet {    private static final int SERVER_PORT = 16003;    private static final String SERVER_IP = "192.168.31.235";    public static RemoteServer.Client Thrift_Client;    public static TTransport Thrift_transport;    public void startClient() throws TTransportException {        int TIMEOUT = 30000;        Thrift_transport = new TSocket(SERVER_IP, SERVER_PORT, TIMEOUT);        TProtocol protocol = new TBinaryProtocol(Thrift_transport);        Thrift_Client = new RemoteServer.Client(protocol);        Thrift_transport.open();        System.out.println("Thrift16003端口已开启,客户端已创建...");    }    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {    }    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        JSONArray jsonArray = new JSONArray();        try {            startClient();            ArrayList<Thrift_TargetInfo> ships = (ArrayList<Thrift_TargetInfo>) Thrift_Client.Thrift_GetTarget();            jsonArray = JSONArray.fromObject(ships);            System.out.println(jsonArray);        } catch (TException e) {            e.printStackTrace();        }        //向前台的页面输出数据jsonArray        PrintWriter out = response.getWriter();        out.println(jsonArray);        out.close();    }}

2.jsp页面中只需插入以下的脚本方法即可

var radarTgs;$(function () {    $.ajax({        dataType: "json",    //数据类型为json格式        contentType: "application/x-www-form-urlencoded; charset=utf-8",        type: "GET",        url: "/getTgs",        statusCode: {            404: function () {                alert(‘page not found‘);            }        },        success: function (data) {            radarTgs = data;        }    });});

3.输出radarTgs,查看内容,数据获取成功!

servlet与jsp篇(一)$.ajax交互