<%@ 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>
<base href="<%=basePath%>">
<title>My JSP 'index.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">
var xmlHttpReq;
//创建一个XmlHttpRequest对象
function createXmlHttpRequest() {
if (window.XMLHttpRequest) {
xmlHttpReq = new XMLHttpRequest();//非IE浏览器
} else if (window.ActiveXObject) {
xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");//IE浏览器
}
}
function check(name){
if(name!=""){
alert(name);
//1.创建一个XmlHttpRequest对象
createXmlHttpRequest();
//2.调用XMLHTTPRequest对象的 open方法(),
//初始化XMLHttpRequest组件
//处理缓存问题 url后面再加个时间参数,保证每次请求的url都不同
var url = "json";
var query = "name="+name;
xmlHttpReq.open("POST",url,true);
// "Get"是请求方式,
//url向后台服务器发送请求的url
//true 代表使用异步请求, 可选参数,默认为true
//3.注册回调函数
xmlHttpReq.onreadystatechange=callBack;
//callBack 为自定义的回调函数的名字 注意:后面没有括号
//当xmlHttpReq对象的readystate状态改变时自动触发 回调函数callBack
//4.把请求发送到服务器
xmlHttpReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttpReq.send(query); //post请求
}else{
alert("请输入数据");
}
}
function callBack(){
//alert("readyState:"+xmlHttpReq.readyState);
if(xmlHttpReq.readyState==4){//ajax引擎初始化成功
if(xmlHttpReq.status==200){//与tomcat(服务器)交互成功,http协议成功
alert("xmlHttpReq.status:"+xmlHttpReq.status);
var json = xmlHttpReq.responseText;
//通过responseText 属性,取出服务器端返回的数据
var citys = eval(json);//通过eval函数把jsonArray对象转换为数值
alert("citys"+citys);
for(var i=0; i<citys.length; i++){
alert(citys[i]);
}
}
}
}
</script>
</head>
<body>
<p align="center">
省市二级联动
</p>
<table align="center">
<tr>
<td>
省份
</td>
<td>
<input type="text" onblur="check(this.value)">
</td>
<td>
<span id="sp1"></span>
</td>
</tr>
</table>
</body>
</html>
后台代码:
package com.wepull.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLDecoder;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONArray;
public class JsonServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
String name = request.getParameter("name");
System.out.println("ajax传来的name:"+name);
PrintWriter pw = response.getWriter();
JSONArray array = new JSONArray();
if("湖北".equals(name)){
array.add("武汉");
array.add("宜昌");
array.add("黄石");
}else if("浙江".equals(name)){
array.add("杭州");
array.add("温州");
array.add("台州");
}else if("广东".equals(name)){
array.add("广州");
array.add("深圳");
array.add("东莞");
}
System.out.println(array);
System.out.println("array.toString()"+array.toString());
pw.println(array);
}
}
分享到:
相关推荐
net.sf.json.JSONArray等JSON类所需要的jar包组合。包括JSONObject等
当java编写代码使用JSONArray.fromObject()时,必须要引入net.sf.json所需要的jar包,里面包含json-lib-2.4-jdk15的开发包和所需的依赖包
commons-collections-3.2.1 commons-lang-2.6 commons-logging-1.1.1 ezmorph-1.0.6 json-lib-2.4-jdk15
使用 JsonArray将对象转成json字符串时需要的相关jar包 json-lib-2.4-jdk15.jar commons-beanutils-1.8.0.jar commons-collections-3.2.2.jar commons-lang-2.6.jar commons-logging-1.2.jar ezmorph-1.0.6.jar
关于使用JSONArray.fromObject()方法和引入net.sf.json包所需要的依赖包:commons-beanutils.jar,commons-httpclient.jar,commons-lang.jar,ezmorph.jar,morph-1.0.1.jar
Servlet 处理 AJAX中传递的JSON格式参数,JSON中含有JSONArray!在网上搜索资源时发现没有相关内容,所以自己写了一下跟大家一起分享!如有雷同,纯属巧合!第一次传资源,有不好的地方希望大家提出建议!
1.JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换 2.JSONObject:fastJson提供的json对象 3.JSONArray:fastJson提供json数组对象 --------------------- 作者:superlovelei 来源:...
使用jsonArray.fromObject转json必须导入五个jar, 包含:commons-lang.jar commons-beanutils.jar commons-collections.jar commons-logging.jar ezmorph.jar json-lib-2.2.2-jdk15.jar
json处理源代码,如jsonArray,JsonObject。使用json远程调用源代码。
json转对象数组与数组转json--java--
JSONObject、JSONArray需要的jar包,需要的可以直接联系
Java使用 JSON常用的 jar类库汇总,这些类库主要是commons-beanutils-1.8.2.jar commons-collections-3.2.1.jar commons-lang-2.5.jar commons-logging-1.1.1.jar ezmorph-1.0.6.jar json-lib-2.4-jdk15....
这是一个关于JSONArray实现的一个小实例,代码比较简单,目的在于理解JSONArray的实现
上找Java-json下载,并把其放到项目源代码中,这样就可以引用其类对象了 二.具体转化过程 //JSONObject String jsonMessage = "{\"语文\":\"88\",\"数学\":\"78\",\"计算机\":\"99\"}"; String value1 = null; try ...
Your local administrator account must have the following privileges enabled
JSON与JAVA数据的相互转换 import net.sf.json.JSONArray; import net.sf.json.JSONException; import net.sf.json.JSONObject; import net.sf.json.JSONSerializer; 非常方便的工具类!
Newtonsoft.Json已经足够强大,易用性也没得说。但是在使用过程中存在着一个问题,如果数据不存在...JsonObject类和JsonArray类可以相互嵌套,支持原生类的JsonPath检索能力,满足Json数据解析和Json数据封装常见需求。
包含gson解析json,JSONArray,JSONObject解析用到的gson-2.3.1.jar,json-lib-2.3-jdk15.jar,commons-lang-2.0.jar,commons-logging-1.1.1.jar,ezmorph-1.0.2.jar,commons-collections-3.2.jar,commons-...
使用JSON时要导入几个包,这样才可以使用JSONArray,JSONObject等。 本资源包含最新版 json-lib-2.4-jdk15.jar 版本 以及json-lib需要的依赖包: commons-lang commons-beanutils commons-collections commons-...
JSONObject与JSONArray使用中所需要的完全jar包整理、需要依赖的包:commons-lang.jar commons-beanutils.jar commons-collections.jar commons-logging.jar ezmorph.jar json-lib-2.2.2-jdk15.jar...