JavaWeb开发中Ajax技术、json与java实现List、Map数据直接传递的研究
一、在JavaWeb开发中基于jquery框架来使用ajax技术,Json与后台servlet进行数据交互示例,下面示例中基于servlet技术,没有使用struts2等框架。
由于项目需要通过ajax得到后台的List对象、map对象里面的值,闲暇时间摸索了一下关于json接受List对象的方法,步骤如下:
1.首先下载json所以依赖的包, Json-lib 最新版json-lib-2.3-jdk15.jar,其官方网站是:http://json-lib.sourceforge.net/可以直接download,细心的你会发现其网站页面里面有提示它还需要其他包:
Json-lib requires(at least) the following dependencies in your classpath:
•jakartacommons-lang 2.4
•jakartacommons-beanutils 1.7.0
•jakartacommons-collections 3.2
•jakartacommons-logging 1.1.1
•ezmorph 1.0.6
下载地址分别是:
http://commons.apache.org/lang/
http://commons.apache.org/beanutils/
http://commons.apache.org/collections/
http://commons.apache.org/logging/
http://ezmorph.sourceforge.net/
2.首先先见一个小web项目
先建一个User类:
[java] view plaincopy
package com.json;
public class User {
String username;
String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
再建一个servlet 程序:
[java] view plaincopy
package com.json;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
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 TestJson extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
String str= request.getParameter("name");//得到ajax传递过来的paramater
System.out.print(str);
PrintWriter out = response.getWriter();
List list = new ArrayList();//传递List
Map m=new HashMap();//传递Map
User u1=new User();
u1.setUsername("zah");
u1.setPassword("123");
User u2=new User();
u2.setUsername("ztf");
u2.setPassword("456");
list.add(u1); //添加User对象
list.add(u2); //添加User对象
m.put("u1", u1);
m.put("u2", u2);
JSONArray jsonArray2 = JSONArray.fromObject( list );
//把list转化成转化成json对象
JSONObject jo=JSONObject.fromObject(m);//转化Map对象为Json对象
out.print(jsonArray2);//返给ajax请求
out.print(jo);//返给ajax请求
}
}
配置好web.xml中的servlet映射,这一步就略了。
3.建立ajax实现 (这里为了快速实现用的是jquery实现的)
[html] view plaincopy
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
function test(){
$.ajax({
type:"POST", //请求方式
url:"testjson", //请求路径:${base}/类所在的命名空间/类名(配置文件中执行对应类的那个name),命名空间是在配置文件中定义。
cache: false,
data:"name=zah", //传参
dataType: 'json', //返回值类型
success:function(json){
alert(json[0].username+" " json[0].password); //弹出返回过来的List对象
}
});
}
</script>
</head>
<body>
<input type="button" name="b" value="测试" onclick=test()>
</body>
测试开始,点击按钮弹出zah 123
json[0]就相当于u1对象 json[1]相当于u2对象,对于其属性的访问跟java对象一样,其他的Connection测试应该一样,访问Map的话直接把返回函数改成如下即可:
[javascript] view plaincopy
success:function(json){
alert(json.u1.username)
}
直接跟上Key.属性即可访问Object对象。
分享到:
相关推荐
总的来说,JavaWeb通过AJAX和JSON实现省市二级联动,涉及了前端的JavaScript技术、后端的JavaServlet处理和数据库操作。这一过程体现了前后端分离的思想,提高了页面的交互性和响应速度。理解并掌握这些技术,对于...
在JavaWeb开发中,AJAX(Asynchronous JavaScript and XML)技术常常被用来实现页面的异步更新,提高用户体验。此项目实例"Javaweb项目ajax请求Json实例"旨在演示如何将服务器端的数据以JSON(JavaScript Object ...
《Tomcat与JavaWeb开发技术详解》一书的随书源码包含了大量的示例和练习,旨在帮助读者深入理解如何在实际开发环境中运用Tomcat服务器和JavaWeb技术。以下是对这些关键技术点的详细阐述: **Tomcat服务器** Tomcat...
JavaWeb开发技术大全涵盖了许多关键概念,这些概念构成了现代Web应用程序的基础。这包括但不限于服务器端编程、客户端交互、数据库连接以及安全控制等。以下是一些核心知识点的详细说明: 1. **Servlet与JSP**:...
在JavaWeb中,JSON主要应用于服务器与客户端之间的数据交互,例如API接口的调用、AJAX异步请求等场景。 在Java中,处理JSON数据主要有以下几个常用的库: 1. **Jackson**:Jackson是Java社区中非常流行的JSON库,...
在Web开发中,"Ajax JavaWeb JS 三级联动"是一个常见的功能需求,它涉及到前端JavaScript技术、后端JavaWeb服务以及Ajax异步通信。这个功能主要用于创建交互性强的下拉菜单,通常用于地区选择、商品分类等场景,用户...
总结来说,"基于Ajax的省市联动实现"是通过结合JavaScript的Ajax技术和JSON数据格式,实现在JavaWeb应用中动态加载和更新市的下拉列表。这个过程涉及客户端的事件监听、Ajax请求、JSON数据解析,以及服务器端的JSON...
在JavaWeb开发中,AJAX(Asynchronous JavaScript and XML)是一种强大的技术,它允许网页在不重新加载整个页面的情况下与服务器交换数据并更新部分网页内容。这个“基于javaweb的AJAX最全面实例源码”集合提供了一...
JavaWeb开发技术是现代互联网应用开发的重要组成部分,汪大乐所著的《Javaweb开发技术详解》一书深入浅出地介绍了这一领域的核心概念和技术。JavaWeb开发主要涉及Servlet、JSP、JSTL、过滤器、监听器、MVC设计模式...
JavaWeb开发是构建基于互联网应用程序的关键技术,它涵盖了服务器端编程、数据库交互、网页动态内容生成等多个方面。这个"JavaWeb开发典型模块大全完整源码"提供了全面的学习资源,可以帮助开发者深入理解JavaWeb的...
在JavaWeb开发中,Ajax(Asynchronous JavaScript and XML)是一种创建动态网页的技术,它允许在不重新加载整个页面的情况下与服务器交换数据并更新部分网页内容。这种技术极大地提高了用户体验,因为它使得网页交互...
Java JSON解析是Web开发中的重要技能,特别是在Java Web服务端和客户端之间传递数据时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易于人阅读和编写,同时也易于机器解析和生成,被广泛...
Java Web 是一种基于 Java 语言的 Web 应用程序开发技术,使用 Java 语言来编写 Web 应用程序。Java Web 应用程序可以运行在 Web 服务器上,通过 HTTP 协议与客户端进行交互。 知识点2: Ajax 技术 Ajax...
在JavaWeb开发中,Ajax(Asynchronous JavaScript and XML)是一种技术,用于在不刷新整个页面的情况下更新部分网页内容。这个项目展示了如何利用Ajax实现数据库中的数据进行增、删、改、查操作,与SQL Server数据库...
在开发Web应用时,"Ajax与JavaWeb后台分页"是一个常见的需求,它涉及到前端与后端的数据交换以及用户界面的动态更新。Ajax(Asynchronous JavaScript and XML)是一种在不刷新整个页面的情况下与服务器交换数据并...
JavaWeb是Java技术在Web应用开发中的核心领域,它涵盖了从服务器端编程到与客户端交互的各个层面。"javaweb笔记+代码(狂神说java)"可能是一份由知名讲师“狂神”编写的教程资料,包含了学习JavaWeb开发的知识点以及...
通过深入研究这些源代码,开发者可以更好地掌握JavaWeb开发的关键技术。 首先,JavaWeb开发主要基于Java语言,利用Servlet、JSP(JavaServer Pages)、JSTL(JavaServer Pages Standard Tag Library)等技术来构建...
本教程“Java入门到精通实例与JavaWeb开发技术详解”旨在帮助初学者深入理解Java语言,并进一步掌握JavaWeb开发的核心技术。 首先,让我们从基础开始。在Java编程中,了解基本语法是至关重要的,包括变量声明、数据...
Java Web整合开发是构建Web应用程序的关键技术,涵盖了Java语言、Eclipse集成开发环境(IDE)、Struts 2框架以及Ajax异步JavaScript和XML技术。这个主题深入探讨了这些技术如何协同工作,创建出高效、用户友好的Web...
在Java Web开发中,二级联动下拉列表是一种常见的交互功能,通常用于地区选择、类别分类等场景。这个功能使得用户在选择一级选项时,二级选项会动态更新,提供相关的子选项。Ajax(Asynchronous JavaScript and XML...