Servlet与jquery ajax测试读取返回对象属性

来源:互联网 发布:淘宝二手收购 编辑:程序博客网 时间:2024/05/20 21:46
  • 这个例子测试感觉很麻烦,网上找了好多,终于搞出来了。
  • 这里以返回一个对象为例
public class people {private String  name;  private int order;  public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getOrder() {        return order;    }    public void setOrder(int order) {        this.order = order;    }}

前端处理

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>ajax与servlet测试</title> <link rel="stylesheet" href="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/css/bootstrap.min.css">    <script src="http://cdn.static.runoob.com/libs/jquery/2.1.1/jquery.min.js"></script>    <script src="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/js/bootstrap.min.js"></script></head><body>  <button type="button" class="btn btn-primary" id="subupdate" >测试ajax</button></body><script type="text/javascript"> $(function() {     $("#subupdate").click(function () {         alert("hello")         $.ajax({                 type: "post",                 url: "servletajax",                 async:false,             data:{"name":"lei","age":"21"},             dataType: "json",              success: function(data){                 alert(data.name)                 alert(data.order)                 }          });        }) })</script></html>

这里也测试了前端向后台写入json数据
解释下ajax参数
url就是请求地址,对应的就是处理请求的java类,看我的就明白了
success就相当于回调函数
处理java类

import java.io.IOException;import java.io.PrintWriter;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 net.sf.json.JSONObject;/** * Servlet implementation class servletajax */@WebServlet("/servletajax")public class servletajax extends HttpServlet {    private static final long serialVersionUID = 1L;    /**     * @see HttpServlet#HttpServlet()     */    public servletajax() {        super();        // TODO Auto-generated constructor stub    }    /**     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)     */    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        // TODO Auto-generated method stub        response.getWriter().append("Served at: ").append(request.getContextPath());    }    /**     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)     */    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        // TODO Auto-generated method stub                System.out.println("接收到请求");                System.out.println(request.getParameter("name"));                System.out.println(request.getParameter("age"));                response.setContentType("application/json");                response.setCharacterEncoding("UTF-8");                people pe=new people();                pe.setName("yang");                pe.setOrder(12);                response.setContentType("application/x-json");                PrintWriter print=response.getWriter();                JSONObject result1JSON = JSONObject.fromObject(pe); //把对象转化成JSON格式                print.print(result1JSON.toString()); //这里很重要,一定要转成字符串格式                print.flush();                print.close();    }}
  • 效果图,可以看后台也输入了前端的数据了
    这里写图片描述

  • 补充说明,构建json也可以使用下面的方法

JSONObject resultJSON = new JSONObject();//构建一个JSONObject         resultJSON.accumulate("name", "yu");         resultJSON.accumulate("errInfo", "成功");         print.print(resultJSON.toString());
    -
0 0
原创粉丝点击