从 servlet 返回 JSON [英] Return JSON from servlet
本文介绍了从 servlet 返回 JSON的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是一个非常基本的请求-响应测试.浏览器使用 jQuery $.ajax API 向 servlet 发送hello from browser",servlet 接收此消息,然后使用 org.json.simple 库创建一个 JSON 对象,并将带有消息hello from server"的 JSON 响应发送回浏览器.
我在本地主机上运行这个,假设我的 IP 地址是 123.123.12.123,平台是 Ubuntu,服务器是 Tomcat 6.0,在 Eclipse IDE 中运行.
测试1.我从Eclipse启动服务器,打开Firefox,输入http://localhost:8080/myproject/test.jsp,可以看到servlet收到消息,浏览器收到响应,测试通过.
Test 2. server 仍然在 Eclipse at Ubuntu 上运行,我从 VirtualBox 和 Firefox 浏览器启动 Windows 7 客户机,在 Windows 7 中输入 http://123.123.12.123:8080/myproject/test.jsp,按预期工作,测试通过.
Test 3. server 仍然在 Eclipse at Ubuntu 上运行,打开 Internet Explorer 9 浏览器,给它地址 http://123.123.12.123:8080/myproject/test.jsp,什么也没发生.调试给了我
响应 HTTP/1.1 200 OK
响应正文 {"message":"hello from server"}
test.jsp 是
<前><%@ 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"><头><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>在此处插入标题</title>头部><script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js" type="text/javascript"></script><script type="text/javascript" src="release/js/libs/json2.js"></script><脚本>$(document).ready(function(){var request = ({"message":'来自浏览器的你好'});var jsonobj=JSON.stringify(request);$.ajax({数据:{para:jsonobj},数据类型:'json',url: './TestServlet',类型:'POST',成功:函数(jsonObj){警报(jsonObj.message);},错误:函数(){alert('Ajax readyState: '+xhr.readyState+' status: '+xhr.status + ' ' + err);}});});<身体>