`
JackAndroid
  • 浏览: 136258 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

jQuery中JSON与Servlet应用小例

阅读更多
   这几天边看<锋利的jQuery>边学jQuery,越发觉得jQuery确实是个非常好的js框架。jQuery中通过get,post,ajax等方法与服务器之间进行异步通行,非常简单与方便。
 jQuery中 通常数据通信的格式有XML,HTML,JSON和TEXT等。
XML:好处是格式通用,提高重用性。坏处则是相对解析之类的较慢,对于只传递少量数据有点浪费。
JSON:好处就是解决了XML中文档体积大和难以解析的问题,并且也具有重用性。
下面我主要介绍下自己所写的一个jQuery与servlet之间通信的例子,数据格式采用的是JSON。
1.下载相应的包。需要使用JSON则需要下载相应的jar,下载地址为http://www.json.org.注意,这里除了需要对应JDK下载json.jar外,还需要下载一些额外的jar包(请见附件)。
2.将相应的包添加到当前项目路径中,此外还需要将这些jar文件放到tomcat/lib下。如果不放则会报无法找到相应类的异常。
3.在form.jsp下编写异步提交表单的jQuery代码:
$("#submitButton").click(function(){
		 $.get("myservlet/getdata",//servlet URL
                        {username:$( "#username").val()},//表单中的值
		   function(data,statusText){//相应函数
		         var jsonvars=data.mydata;//返回JSON数据
			for(var i=0;i<jsonvars.length;i++)
			{	$("#dataDiv").append"<div>"+jsonvars[i].name+jsonvars [i].age+"</div>");		}
	          },"json");
	});	
   });
4.servlet端代码
package com.hj.ajax.servlets;

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.JSONArray;
import net.sf.json.JSONObject;

public class GetDataServlet extends HttpServlet
{

	/**
	 * 串行化版本序号
	 */
	private static final long serialVersionUID = 6643682700511421833L;

	/**
	 * The doGet method of the servlet. <br>
	 * 
	 * This method is called when a form has its tag value method equals to get.
	 * 
	 * @param request
	 *            the request send by the client to the server
	 * @param response
	 *            the response send by the server to the client
	 * @throws ServletException
	 *             if an error occurred
	 * @throws IOException
	 *             if an error occurred
	 */
	@Override
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException
	{

		doPost(request, response);
	}

	/**
	 * The doPost method of the servlet. <br>
	 * 
	 * This method is called when a form has its tag value method equals to
	 * post.
	 * 
	 * @param request
	 *            the request send by the client to the server
	 * @param response
	 *            the response send by the server to the client
	 * @throws ServletException
	 *             if an error occurred
	 * @throws IOException
	 *             if an error occurred
	 */
	@Override
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException
	{
		response.setContentType("text/html;charset=utf-8");
		String username = request.getParameter("username");

		System.out.println(username);

		JSONObject json = new JSONObject();
		JSONArray array = new JSONArray();
		JSONObject member = null;
		for (int i = 0; i < 5; i++)
		{
			member = new JSONObject();
			member.put("name", "xiaohua");
			member.put("age", 15);
			array.add(member);
		}

		json.put("mydata", array);
		PrintWriter pw = response.getWriter();
		pw.print(json.toString());
		pw.close();
	}

}
5.表单中文数据问题
当表单输入数据为中文是,一般为了安全起见,都使用encodeURIComponent()方法转换参数值,如
{username:encodeURIComponent($("#username").val())}.
 相应在servlet端则采用URLDecoder类的decode(src,srcCharset)方法进行转换,如jsp页面编码为utf-8,则
String username = URLDecoder.decode(request.getParameter("username"), "UTF-8");
分享到:
评论
4 楼 liu2006142 2012-07-06  
   
3 楼 spp_1987 2010-10-11  
请问下,如何把前台的json值传到后台呢。
2 楼 JackAndroid 2010-01-19  
是的,写的时候不知道怎么$没了。呵呵
1 楼 lhy5201314 2009-12-21  
很好 但是这句
{username:( "#username").val()},//表单中的值   

应该写为:
{username:$("#username").val()},//表单中的值   

相关推荐

    jQuery+json+servlet 动态取后台数据

    在本例中,servlet会接收到jQuery发起的请求,然后根据业务逻辑查询数据库或其他数据源,将结果转化为JSON对象,最后将这个对象写入响应体返回给前端。 ```java protected void doGet(HttpServletRequest request, ...

    Servlet利用Ajax,JQuery交互Json

    在现代Web开发中,Servlet、Ajax、JQuery和Json是不可或缺的技术组件,它们共同构建了高效、动态的用户界面。让我们深入探讨这些技术及其在实际应用中的交互。 Servlet是Java Web开发中的一个核心部分,它是一种...

    Jquery+ajax+json+servlet

    在IT行业中,`jQuery`、`Ajax`、`JSON` 和 `Servlet` 是四个非常重要的技术,它们在构建现代Web应用程序中发挥着关键作用。让我们深入探讨这些技术及其相互之间的结合。 首先,`jQuery` 是一个高效、轻量级的...

    Java+Servlet+Jquery+Json基础示例

    在这个"Java+Servlet+Jquery+Json基础示例"中,我们可以看到如何将这四种技术融合在一起创建一个Web应用。首先,用户通过前端界面(HTML+CSS+Jquery)发送Ajax请求,Jquery负责包装和发送这些请求,通常是以Json格式...

    jquery+ajax+json+servlet实例源码

    这个实例源码主要展示了如何在Web开发中利用jQuery库进行AJAX异步请求,与后台Servlet进行数据交互,并通过JSON格式来序列化和反序列化数据。这些技术是现代Web应用中常见的组件,对于前端与后端通信至关重要。 ...

    json+servlet+jquery整合

    在"json+servlet+jquery整合"的场景中,通常的工作流程如下: 1. **前端交互**:用户在浏览器中通过jQuery执行JavaScript代码,例如,当用户点击按钮时,触发一个AJAX请求。 2. **AJAX请求**:jQuery的`$.ajax()`...

    JQuery getJSON() 调用Servlet简单例子

    在这个例子中,我们将深入探讨如何使用jQuery的`getJSON()`函数与Servlet进行交互。 首先,我们来看`getJSON()`的基本用法。`getJSON()`接收三个参数:URL,数据(可选),以及一个回调函数。当服务器返回JSON数据...

    jquery ajax servlet json简单demo

    【Demo流程】在这个"jquery ajax servlet json简单demo"中,我们可以预期以下流程: 1. 客户端(浏览器)的JavaScript代码使用jQuery的AJAX函数发起请求,请求可能包含一些参数,格式化为JSON。 2. 请求被发送到...

    JSON servlet实例 Ajax应用

    在这个"JSON Servlet实例 Ajax应用"中,我们将探讨如何使用Servlet与客户端进行JSON数据交互,并结合Ajax实现异步通信。 首先,了解JSON的基本结构至关重要。JSON由键值对组成,键必须是字符串,且用双引号包围,值...

    Servlet+json+js(jquery)+jsp实现分页

    本项目使用Servlet、JSON、JavaScript(JQuery)和JSP技术实现了一个简单易懂、功能完善的分页解决方案。 **Servlet** 是Java服务器端编程的基础,它负责处理HTTP请求和响应。在分页应用中,Servlet主要负责接收...

    Jquery解析json

    在实际应用中,通常后端会返回JSON格式的数据,前端使用jQuery来解析这些数据并动态更新页面内容。这种方式大大提高了网页的响应速度和用户体验。 #### Struts2框架简介 Struts2是一个开源的Web应用框架,基于MVC...

    二级关联下拉框jquery+ json java jsp

    这个项目涉及到前端与后端的交互,需要熟练掌握jQuery的DOM操作和Ajax请求,以及Java Servlet和JSON的使用。通过这个实践,开发者可以提升对前后端协同工作的理解,同时提高处理动态数据的能力。

    jquery与servlet交互

    本小例子将深入探讨如何使用jQuery与Servlet进行数据交互,帮助初学者掌握这一技能。 首先,我们需要在HTML页面中引入jQuery库。通常,我们通过CDN(内容分发网络)链接来快速获取jQuery库,例如: ```html ...

    JSON+Jquery+servlet+jsp+ajax例子

    在本例中,AJAX用于异步地向Servlet发送请求,获取JSON数据,然后使用jQuery解析和处理这些数据,无须用户感知页面的刷新。 具体流程可能如下: 1. 用户在JSP页面上触发一个操作,例如点击按钮。 2. 使用jQuery的`...

    spring与jquery ajax交互 和 servlet与jquery ajax交互

    本文将深入探讨Spring与jQuery AJAX交互以及Servlet与jQuery AJAX交互的知识点。 ### Spring与jQuery AJAX交互 #### 1. Spring MVC中的RESTful API设计 在Spring MVC中,我们可以创建RESTful服务,通过HTTP的CRUD...

    Jquery+servlet+JSON处理

    标题中的“Jquery + servlet + JSON处理”是一个典型的Web开发技术组合,主要涉及前端与后端的数据交互。这里,jQuery是一个流行的JavaScript库,用于简化HTML文档遍历、事件处理、动画以及Ajax交互。Servlet是Java...

    JQuery利用JSON读取JAVABEANList

    标题中的“JQuery利用JSON读取JAVABEANList”指的是在Web开发中,使用JavaScript库JQuery从服务器获取以JSON(JavaScript Object Notation)格式表示的JavaBean列表数据,并在客户端展示的方法。JSON是一种轻量级的...

    JQuery + Servlet +Json实现下拉框级联

    在本示例中,JSON被用作Servlet与前端JQuery之间传输数据的桥梁。Servlet在后台处理请求,将级联数据转化为JSON格式,然后通过HTTP响应发送到前端。 JQuery是一个强大的JavaScript库,它简化了DOM操作、事件处理、...

    JSP+Jquery+JSON 集合实现AJAX

    4. **JSP与JSON**:学习如何在JSP中生成JSON数据,以及如何处理来自AJAX请求的参数。 5. **实践项目**:通过实际项目练习,将学到的知识应用到实际开发中。 通过本教程,你将能够掌握如何结合JSP、jQuery和JSON来...

    Ajax + jQuery + json + js + jsp + servlet 三级联动

    在这个项目中,"Ajax + jQuery + json + js + jsp + servlet 三级联动"是一个完整的解决方案,它涵盖了从前端到后端的数据通信和处理。 首先,让我们深入理解每个技术的作用: 1. **Ajax**(Asynchronous ...

Global site tag (gtag.js) - Google Analytics