`
lyunabc
  • 浏览: 563244 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

用AJAX异步交互返回xml文件从jsp页面中读取并用表格显示

 
阅读更多

用AJAX异步交互返回xml文件从jsp页面中读取并用表格显示

用ajax的异步交互去获取用hibernate的技术得到的数据库中的值并且用xml的形式返回jsp页面,用dom元素读取并用表格的形式显示

这里需要注意的是hibernate的搭建,我在搭建hibernate的时候得到一个结论,在MyEclipse8.6和MyEclipse9.0中使用的hibernate.cfg.xml中的语句不一样。要注意!最好是用工具生成!

在用AJAX技术来实践异步交互,用七步,在写的其中,要注意该有分号的有,不该有的别有。

(1)创建xmlhttpRequest对象

因为ajax其实就是xmlhttpRequest,所以要创建xmlhttpRequest

(1)

(2) //创建xmlHttpRequest对象

(3) function createXMLHttpRequest() {

(4) var xmlHttp;

(5) try {

(6) //在firefox opera等非浏览器中运行的

(7) xmlHttp = new XMLHttpRequest();

(8)

(9) } catch (ex) {

(10) try {

(11) //在IE中运行 运行的是第二个版本

(12) xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");

(13) } catch (e) {

(14) // 在IE中运行第一个版本

(15) xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

(16) }

(17) }

(18) return xmlHttp;

(19) }

(2)使用的html代码

<body>

<div align="center">

<h1>

员工信息

</h1>

<br />

<input type="button" value="查询员工" id="btnEmp" />

<br />

<br />

<br />

<div id="list">

<table id="empList" border="1px">

</table>

</div>

</div>

</body>

(3)初始化对象并通过触发事件来请求到servlet中

//页面加载并调用匿名函数

window.onload = function() {

//第一步:初始化xmlHttpRequest对象

var xmlHttp = createXMLHttpRequest();

var btnEmpNode = document.getElementById("btnEmp");

btnEmpNode.onclick = function() {

xmlHttp.onreadystatechange = function() {

if (xmlHttp.readyState == 4) {

//通过判断返回的状态码来 验证返回的页面是否正确

if (xmlHttp.status == 200) {

var xmlDoc = xmlHttp.responseXML;

//第六步:客户端接受

var empNodes = xmlDoc.getElementsByTagName("emp");

var len = empNodes.length;

//第七步:修改内容

for ( var i = 0; i < len; i++) {

//第一种方法是从获取到的dom元素中读取出来 ,但是读取的是每一个emp下的所有的的字符,因为输出不可以换行,所以读取到jsp页面的没有table的效果

//var empTextNodes = empNodes[i].textContent;

//alert(empTextNodes);

//所以用到第二种方法 :先得到emp下的子标签,在通过子标签的属性得到text文本

//创建tr标签

var trNodes = document.createElement("tr");

//得到的是emp的子节点

var childrenNode = empNodes[i].children;

var length = childrenNode.length;

for ( var j = 0; j < length; j++) {

//动态创建td节点

var tdNodes = document.createElement("td");

//获取到子节点中的的text

var childvalue = childrenNode[j].firstChild.nodeValue;

//创建文本,把获取大的text放到创建的文本中

var value = document.createTextNode(childvalue);

//把value值放到td中

tdNodes.appendChild(value);

//把td放到tr中

trNodes.appendChild(tdNodes);

}

//获取table的id

var empListNodes = document.getElementById("empList");

//把tr插入到table中

empListNodes.appendChild(trNodes);

}

}

}

}

//第二步:规定请求的参数

xmlHttp.open("GET", "./employeeServlet.do?timeStamp="

+ new Date().getTime(), true);

//在这里用的是get方法,不用post方法

xmlHttp.send(null);

}

}

在servelt中获取请求和应答分别是第四步和第五步

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setCharacterEncoding("utf-8");

response.setContentType("text/xml;charset=utf-8");

List<Employee> entities = employeeServlet.findAll();

PrintWriter out = response.getWriter();

out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");

out.println("<emps>");

for (int i = 0; i < entities.size(); i++) {

Employee entity = entities.get(i);

out.println("<emp id='" + entity.getId() + "'>");

out.println("<name>" + entity.getHrName() + "</name>");

out.println("<sex>" + entity.getHrSex() + "</sex>");

out.println("<age>" + entity.getHrAge() + "</age>");

out.println("<birth>"+entity.getHrBirth()+"</birth>");

out.println("<salary>" + entity.getHrSalary() + "</salary>");

out.println("</emp>");

}

out.println("</emps>");

out.flush();

out.close();

}

分享到:
评论

相关推荐

    一个jsp文件模拟xml文件,通过js调用解析后,在新的jsp页面上显示省市二级联动。

    本示例中提到的“一个jsp文件模拟xml文件,通过js调用解析后,在新的jsp页面上显示省市二级联动”是一个典型的前端与后端交互的场景,涉及到的技术点主要包括JSP、XML和JavaScript,以及前端的动态数据处理和页面...

    ajax使用例子 包括返回xml

    总结,Ajax技术极大地提升了Web应用的交互性和响应速度,通过"ajax_xml运用.doc"文档和"AjaxDemo"项目,我们可以学习到如何结合JavaScript和XML,实现在不刷新页面的情况下,动态地获取和显示数据。这对于我们理解和...

    ajax实现java文件下载

    在现代Web应用中,用户对交互性和体验性的需求日益提高,传统的文件下载方式往往会导致页面刷新,影响用户体验。为了克服这一问题,开发人员通常会利用Ajax技术来实现异步文件下载,使得用户在下载文件的同时仍能...

    JSP_模拟AJAX实现无刷新文件上传

    AJAX(Asynchronous JavaScript and XML)技术以其异步、无刷新的特性,广泛应用于网页交互,但其本身并不直接支持文件上传。这是因为浏览器的安全策略限制了JavaScript直接操作本地文件。然而,我们可以利用IFRAME...

    ajax和JSP实现文件上传

    1. **接收文件**:在JSP中,可以使用Servlet API的`Part`接口来接收上传的文件。`request`对象的`getParts()`方法返回一个`Part`的迭代器,可以遍历每个上传的文件。 2. **文件保存**:从`Part`对象中获取文件名,...

    ajax +jsp实现带进度条的文件上传

    "Ajax + JSP 实现带进度条的文件上传"是一个技术性较强的话题,它结合了异步JavaScript和XML(Ajax)技术以及Java服务器页面(JSP)技术,为用户提供了一种无需刷新整个页面即可实现文件上传并展示进度条的效果,极...

    Java+servlet+jsp页面ajax请求

    在Java Web开发中,Servlet、JSP(JavaServer Pages)和AJAX(Asynchronous JavaScript and XML)是构建动态网页的重要技术。本知识点将深入讲解如何在Java Servlet和JSP页面中实现AJAX请求。 首先,AJAX是一种允许...

    AJAX+JSP实现读取XML内容并按排列显示输出的方法示例

    在本示例中,通过AJAX与JSP配合实现了读取并排列显示XML文件中的内容。 首先,需要了解JSP(JavaServer Pages)是一个开放的源代码服务器端技术,允许开发者将Java代码嵌入到HTML页面中。使用JSP可以创建交互式网页...

    ajax的简单例子,自动读取会更新的文件

    这个例子展示了如何使用Ajax实现动态地从服务器获取并显示更新的文本内容,从而提高用户体验,保持页面的流畅性。 首先,我们来看核心组件`ajaxtest.jsp`,这是一个基于Java Servlet的后端文件,它负责处理来自前端...

    jsp|ajax+fileupload多文件上传逐一显示进度条

    ajax+fileupload多文件上传逐一显示进度条`这个主题涉及到的是一个高级的前端技术实现,它结合了JavaServer Pages(JSP)、Asynchronous JavaScript and XML(AJAX)以及FileUpload库,为用户提供了一种动态、异步且...

    Mysql + jsp +javabean+ jquery +ajax+servlet等的例子综合

    在本案例中,JavaBean作为中间层,接收并处理JSP页面传递的数据,同时与数据库进行交互,执行CRUD(创建、读取、更新、删除)操作。 4. **jQuery**:这是一个强大的JavaScript库,简化了DOM操作、事件处理、动画...

    通过DOM和Ajax使用XML_从菜鸟到专家2006

    6. **Java和WinForm中的XML和Ajax**:Java的DOM解析库包括javax.xml.parsers和org.w3c.dom,而JavaServer Pages(JSP)和Servlet可以结合使用实现Ajax功能。WinForm则是.NET Framework下的Windows应用程序开发环境,...

    ajax异步上传_ajax异步上传_

    在本案例中,我们将深入探讨如何在JSP页面上实现Ajax异步上传,并通过Java后端处理这些上传请求。 首先,我们需要理解Ajax的基本工作原理。Ajax的核心是XMLHttpRequest对象,它允许JavaScript向服务器发送HTTP请求...

    文件上传和ajax获取json的小示例

    这里我们探讨的是一个基于JSP的文件上传示例,以及如何通过AJAX技术实现实时刷新,从数据库获取并返回JSON数据到前端页面。 首先,文件上传是Web应用中常见的一种用户交互方式,允许用户将本地的文件(例如图片)...

    ajax-register.zip_ajax 注册_jsp注册异步

    在IT行业中,Ajax(Asynchronous JavaScript and XML)技术被广泛应用于网页应用开发,以实现页面的无刷新更新。本项目“ajax-register.zip”是基于Ajax、JSP(JavaServer Pages)和Servlet技术实现的一个用户注册...

    Spring+Ajax+EcCharts,数据库数据读取到显示

    在本项目中,我们主要探讨如何使用Spring框架与Ajax技术结合,从数据库中获取数据,然后利用ECharts库将这些数据以条形图的形式展示出来。以下是对各个知识点的详细说明: 1. **Spring框架**:Spring是一个开源的...

    ajax异步上传图片

    这里我们关注的是使用JSP(JavaServer Pages)配合AjaxFileUpload和Servlet实现不刷新页面的多张图片异步上传。这种方法可以提升用户体验,因为用户在上传过程中无需等待页面刷新,可以继续浏览其他内容。 首先,...

    ajax jsp

    在JSP(JavaServer Pages)中使用Ajax,我们可以实现动态、无刷新的页面交互,提升应用程序的性能和响应速度。JSP是Java的一种动态网页技术,它可以嵌入Java代码或者使用JSP标签库来处理服务器端的逻辑。结合Ajax,...

    Ajax定时显示消息(JSP)源码

    **Ajax定时显示消息(JSP)源码解析** Ajax(Asynchronous JavaScript and XML)技术是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。在本示例中,它被用于实现一个定时显示消息的功能,结合了JSP...

    java jsp 异步 上传小文件 最大2M 已测试

    在Java JSP中实现异步上传小文件,通常涉及到AJAX技术、Servlet和前端JavaScript的交互。这个场景中,我们关注的是如何处理最大2MB的文件上传,且该功能已经过实际测试。以下是对这个主题的详细解释: 1. **JSP...

Global site tag (gtag.js) - Google Analytics