本文实例讲述了java+jquery处理xml数据的方法。分享给大家供大家参考。具体实现方法如下:
1. AjaxJqueryXml.js如下:
复制代码 代码如下:
function verify(){
//1.获取文本框中的内容
//jquery查找节点的方式,参数加#加上id属性可以找到一个节点
//jquery的方法返回的都是jquery的对象,可以继续在上面执行其他的jquery方法
var jqueryObj = $("#userName");
//获取节点的值
var userName = jqueryObj.val();
//alert(userName);
//2.将文本框中的数据发送给服务遄的servlet
//使用jquery的XMLHTTPrequest对象get请求的封装
//$.get("servlet/AjaxServlet?name="+userName,null,callback);
//使用jquery的xmlhttprequest对象get请求的封装
//var obj = {name:"123",age:20};
$.ajax({
type: "POST",
url: "servlet/AjaxXmlServlet",
data: "name=" + userName,//发送给服务端的数据
dataType: "xml",//告诉jquety返回的数据格式
success: callback//定义交互完成,并且服务端在下返回数据的回调函数
});
}
// 回调函数
function callback(data){
//3.接收服务器端返回的数据
//alert("服务器端的数据回来了!")
//需要将data这个对象中的数据解析出来
//首先需要将dom的对象转换成jquery的对象
var jqueryObj = $(data);
//获取message节点
var message = jqueryObj.children();
//获取文本内容
var text = message.text();
//4.将服务器返回的数据动态的显示在网页上
//找到保存结果信息的节点
var resultObj = $("#result");
//动态的改变页面中DIV节点的内容
resultObj.html(text);
//alert("");
}
//1.获取文本框中的内容
//jquery查找节点的方式,参数加#加上id属性可以找到一个节点
//jquery的方法返回的都是jquery的对象,可以继续在上面执行其他的jquery方法
var jqueryObj = $("#userName");
//获取节点的值
var userName = jqueryObj.val();
//alert(userName);
//2.将文本框中的数据发送给服务遄的servlet
//使用jquery的XMLHTTPrequest对象get请求的封装
//$.get("servlet/AjaxServlet?name="+userName,null,callback);
//使用jquery的xmlhttprequest对象get请求的封装
//var obj = {name:"123",age:20};
$.ajax({
type: "POST",
url: "servlet/AjaxXmlServlet",
data: "name=" + userName,//发送给服务端的数据
dataType: "xml",//告诉jquety返回的数据格式
success: callback//定义交互完成,并且服务端在下返回数据的回调函数
});
}
// 回调函数
function callback(data){
//3.接收服务器端返回的数据
//alert("服务器端的数据回来了!")
//需要将data这个对象中的数据解析出来
//首先需要将dom的对象转换成jquery的对象
var jqueryObj = $(data);
//获取message节点
var message = jqueryObj.children();
//获取文本内容
var text = message.text();
//4.将服务器返回的数据动态的显示在网页上
//找到保存结果信息的节点
var resultObj = $("#result");
//动态的改变页面中DIV节点的内容
resultObj.html(text);
//alert("");
}
2. AjaxXmlServlet.java如下:
复制代码 代码如下:
package com.panlong.servlet;
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;
public class AjaxXmlServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
Integer total = (Integer) req.getSession().getAttribute("total");
int temp = 0;
if(total == null ){
temp = 1;
}else{
temp = total.intValue() + 1;
}
req.getSession().setAttribute("total",total.intValue()+temp);
try {
//1.取参数
resp.setContentType("text/xml;charset=GB2312");
PrintWriter out = resp.getWriter();
StringBuilder builder = new StringBuilder();
String old = req.getParameter("name");
//2、检查参数是否有问题
String name = old;
builder.append("<message>");
if("".equals(old) || old == null){
builder.append("用户名必须输入").append("</message>");
}
else
{
if("lila".equals(name)){
builder.append("该用户名已经注册").append("</message>");
}else{
builder.append("该用户名未注册,您可以注册["+name+"]这个用户名").append("</message>");
}
}
out.println(builder.toString());
}catch (Exception e) {
e.printStackTrace();
//3.检验操作
}
}
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doGet(req, resp);
}
}
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;
public class AjaxXmlServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
Integer total = (Integer) req.getSession().getAttribute("total");
int temp = 0;
if(total == null ){
temp = 1;
}else{
temp = total.intValue() + 1;
}
req.getSession().setAttribute("total",total.intValue()+temp);
try {
//1.取参数
resp.setContentType("text/xml;charset=GB2312");
PrintWriter out = resp.getWriter();
StringBuilder builder = new StringBuilder();
String old = req.getParameter("name");
//2、检查参数是否有问题
String name = old;
builder.append("<message>");
if("".equals(old) || old == null){
builder.append("用户名必须输入").append("</message>");
}
else
{
if("lila".equals(name)){
builder.append("该用户名已经注册").append("</message>");
}else{
builder.append("该用户名未注册,您可以注册["+name+"]这个用户名").append("</message>");
}
}
out.println(builder.toString());
}catch (Exception e) {
e.printStackTrace();
//3.检验操作
}
}
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doGet(req, resp);
}
}
3. 前台html页面
复制代码 代码如下:
<!DOCTYPE html>
<html>
<head>
<title>AJAX实例</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=GB2312">
<script type="text/javascript" src="js/AjaxJqueryXml.js"></script>
<script type="text/javascript" src="js/jquery.js"></script>
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
</head>
<body>
<font color="blue" size="2">请输入用户名:</font>
<input type="text" id="userName" /><font color="red" size="2"><span id="result" >*</span></font><br/><br/>
<input type="submit" name="提交" value="提交" onclick="verify()"/>
</body>
</html>
<html>
<head>
<title>AJAX实例</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=GB2312">
<script type="text/javascript" src="js/AjaxJqueryXml.js"></script>
<script type="text/javascript" src="js/jquery.js"></script>
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
</head>
<body>
<font color="blue" size="2">请输入用户名:</font>
<input type="text" id="userName" /><font color="red" size="2"><span id="result" >*</span></font><br/><br/>
<input type="submit" name="提交" value="提交" onclick="verify()"/>
</body>
</html>
这里请自己添加jquery库文件。
希望本文所述对大家的Ajax程序设计有所帮助。