原生AJAX以及servlet接收Json、返回Json

原生AJAX前端代码: 

        var xmlhttp;
		if (window.XMLHttpRequest)
		  {// code for IE7+, Firefox, Chrome, Opera, Safari
		  	xmlhttp=new XMLHttpRequest();
		  }
		else
		  {// code for IE6, IE5
		  	xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		  }
		
		var account = {
				"account_id":"1",
				"account":"xcq",
				"password":"123456",
				"name":"小明",
				"department":"技术部"
		};
		
		xmlhttp.open("POST","updateAccount",true);
		xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");  //POST 必须写在open和send中间
		xmlhttp.send(JSON.stringify(account));//JSON对象转成字符串
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4) { //请求完成
				if (xmlhttp.status == 200) { //ok
					var json = JSON.parse(xmlhttp.responseText); //解析成json对象
			    	console.log(json);
				} else {
					alert(xmlhttp.status);
				}
			}
		};

后端Servlet接收代码:

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;
import technical_management.entity.Account;
import technical_management.service.AccountService;
import technical_management.utils.MyUtil;

@WebServlet("/updateAccount")
public class UpdateAccount extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//接收前段json字符串
		String jsonString = MyUtil.read(request.getReader());
		Account account = objectFromjson(jsonString);	
		
		//更新用户
		AccountService accountService = new AccountService();
		boolean success = accountService.update(account);
		
		//生成返回的json对象
		JSONObject ob = new JSONObject();
		ob.put("success", success);
		
		//返回json对象
		PrintWriter out = response.getWriter();
		out.print(ob);
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

	
	/**
	 * json字符串转换为Account用户对象
	 * @param jsonString
	 * @return
	 */
	private static Account objectFromjson(String jsonString) {
		JSONObject json = JSONObject.fromObject(jsonString);
		Account account = new Account();
		account.setAcount_id(json.getInt("account_id"));
		account.setAccount(json.getString("account"));
		account.setPassword(json.getString("password"));
		account.setName(json.getString("name"));
		account.setDepartment(json.getString("department"));
		return account;
	}
}

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值