准备条件:
1、在Java中正确得到JSONObject,需要导入JSON的JAVA支持包“json-lib-2.3-jdk15.jar”,同时需导入 JSON依赖包“commons-logging-1.0.4.jar”,“commons-lang.jar”,“commons- collections.jar”,“commons-beanutils.jar”,“ezmorph-1.0.4.jar”;
2、由于在客户端脚本中要用到JQuery与JSON,需引入"JQuery.js"与"json2.js"。
JAVA 代码如下:
package example;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONObject;
public class JasonServlet extends HttpServlet {
/**
* Constructor of the object.
*/
public JasonServlet() {
super();
}
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) {
try {
String userStr = readJSONString(request);//得到requestContext
JSONObject jsonObj = JSONObject.fromObject(userStr);//转换成JSONObject
System.out.println(jsonObj.getInt("userId"));//得到JSONObject的userId值
System.out.println(jsonObj.getString("name"));
JSONObject resultJSON = new JSONObject();//构建一个JSONObject
resultJSON.accumulate("errNum", 1);
resultJSON.accumulate("errInfo", "成功");
response.setContentType("application/x-json");//需要设置ContentType 为"application/x-json"
PrintWriter out = response.getWriter();
out.println(resultJSON.toString());//向客户端输出JSONObject字符串
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException
* if an error occure
*/
public void init() throws ServletException {
// Put your code here
}
public String readJSONString(HttpServletRequest request){
StringBuffer json = new StringBuffer();
String line = null;
try {
BufferedReader reader = request.getReader();
while((line = reader.readLine()) != null) {
json.append(line);
}
}
catch(Exception e) {
System.out.println(e.toString());
}
return json.toString();
}
}
JSP代码:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'JasonTest.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/json2.js"></script>
</head>
<body>
<script type="text/javascript">
function User(userId, name) {
this.userId = userId;
this.name = name;
}
function requestServlet()
{
var urlStr="http://192.168.1.118:8080/AjaxTest/servlet/JasonServlet";
var user = JSON.stringify(new User(101,"阿猫"));
//调用JQuery提供的Ajax方法
$.ajax({
type:"POST",
url:urlStr,
data:user,
dataType: "jason",//此处要设置成jason
success: callback});//回调函数
}
function callback(jasonObj)
{
var str = jasonObj;
var obj = JSON.parse(str);//调用Json2.js中提供的JSON解析器来解析成JSONObject
alert(obj.errNum);
}
requestServlet();
</script>
</body>
</html>
分享到:
相关推荐
Jquery+ajax+json+servlet
jquery ajax servlet json简单demo
Servlet利用Ajax,JQuery交互Json
jquery下的ajax向后台servlet传输数据并从后台获得数据源码实例且有详细注释
JSON+Jquery+servlet+jsp+ajax例子,方便学习的人。
本工程有两种ajax异步校验注册时输入的username是否与数据库中的值重复,通过mybatis实现数据库,通过servlet或者struts2实现控制层,通过ajax,jquery,json,实现异步校验
通过ajax调用后端Servlet,(调后端的Servlet名叫testservlet 可以在wzjpage.js第27行处修改。)返回一个JSON对象,要求:jSON对象中必须有 // datarows columns pageCount这3个对象。 //数据格式必须为: List[]>...
利用jQuery+Ajax+json从数据库获取数据,将获取的数据利用json格式传递,实现select控件三级联动;内附数据库sql脚本。
从后台取出json数据,然后以table的形式展出。包含序号,名字,年龄。如1,张三,22。一共两行数据。
项目内容从创建原生态的HTTPXMLRequest实现ajax开始,详细讲解ajax的应用,各种应用场合的实战案例;利用JQuery的ajax支持,...7.使用JQuery的ajax技术,在一个页面实现新增、修改、删除、查询、分页,文件上传等功能;
发送-json-to-servlet-using-jquery-ajax
用jquery中的.getjson()技术和.ajax技术实现从后台中的mysql数据在前台显示,能够直接在myeclipse运行。
第四种方式实现ajax异步刷新--getJSON 5.需求5: 第五种 使用jquery发送Ajax请求 html 实现html类型传递数据的步骤: 1.管理员登录成功直接进入管理员list.jsp页面,这个页面是发送ajax请求的页面 2.管理员首页...
javaweb 练手项目 不用框架包括登录 注册 主要内容有 servlet jquery json easyui ajax
前端通过jQuery Ajax传输json到后端,后端接收json,对json进行处理,后端返回一个json给前端 这里使用servlet的方式 1、采用$.post方法 index.jsp页面 <!DOCTYPE ...
Ajax:异步的JavaScript和Json(这里XML改为了Json); 作用:用于完成网页局部刷新功能(修改少量数据只用局部刷新,不用再整个网页重新加载); 二、SpringMVC和Jquery的简单介绍 SpringMVC:是基于Spring的一个子...
News:新闻发布系统,新闻后台管理BootStrap + Jsp + Servlet + Jdbc + Mysql + Jquery + Ajax
ssh+jquery+servlet+json+dwr+ajax 数据库可配置。默认mysql。运行先改jdbc.properties和hibernate.cfg.xml里面的数据库配置!数据库最好事先存在。 再运行test包的testCreateDB-》testData(插入数据!)即可...
前台技术:JavaScript+jQUery+Ajax+CSS+HTML 3、开发环境 系统环境:Windows 10 JDK版本:JDK 1.8 服务器:Tomcat 9.0 开发工具:idea 采用技术:servlet 前后端数据的传输采用json方式 数据源采用定义的文件json...
数据库是mysql,省市地是三张不同的表,压缩包内没有数据表但包含了所有需要的jar包,后台是servlet+jdbc,前端使用ajax实现省市地三级联动。最简单最初级的实现方式。。。无多余代码。