已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、什么是Ajax,能解决什么问题Asynchronous JavaScript and XML属于前期技术的综合应用,属于客户端技术。可以使JavaScript访问服务器JSP、Servlet。解决问题:提升用户使用系统的体验度。如何提升用户体验:a.页面局部刷新b.异步发送请求-处理c.一个页面功能比较复杂,需要多次与服务器资源交互(一般情况)RIA:Rich Internet ApplicationAjax应用包含的技术如下:a.XMlHttpRequest对象b.JavaScript语言c.XML/DOMd.HTML/XHTML/CSS2、Ajax如何使用以JavaScript为基础,用于创建XMLHttpRequest对象,编写响应处理函数以XMLHttpRequest为核心,使用XML/JSON等格式进行数据传递XMLHttpRequest对象基本使用a. 对象创建 IE:new ActiveXObject(*); 其他FireFox:new /创建对象,通用代码if(window.XMLHttpRequest)xmlreq = new XMLHttpRequest();elsetryxmlreq = new ActiveXObject(Msxml2.XMLHTTP);alert(成功);catch(e)xmlreq = new ActiveXObject(Microsoft.XMLHTTP);b. open(请求类型,URL,异步或同步true/false)函数:创建请求对象c. send(请求参数):如果是get请求,使用send(null);如果postd. onreadystatechange: readyState状态切换事件,可用于注册响应处理函数e. readyState: 请求所处状态 0(未初始化),1(请求正在处理),2(请求处理完毕),3(交互中),4(交互完毕)f. status; HTTP响应的状态code。例如404(资源未找到),500(程序错误),200(正确)包目录结构:City.javapackage entity;public class City private int id;private String cname;private int parent;/父节点idpublic City()public City(int id, String cname, int parent) super();this.id = id;ame = cname;this.parent = parent;public int getId() return id;public void setId(int id) this.id = id;public String getCname() return cname;public void setCname(String cname) ame = cname;public int getParent() return parent;public void setParent(int parent) this.parent = parent;Overridepublic String toString() return City id= + id + , cname= + cname + , parent= + parent+ ;CityServlet.javapackage servlet;import java.io.IOException;import java.io.PrintWriter;import java.sql.SQLException;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 entity.City;/* * Servlet implementation class CityServlet */public class CityServlet extends HttpServlet private static final long serialVersionUID = 1L; /* * see HttpServlet#HttpServlet() */ public CityServlet() super(); / TODO Auto-generated constructor stub /* * see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException / TODO Auto-generated method stubdoPost(request, response);/* * see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException / TODO Auto-generated method stubrequest.setCharacterEncoding(utf-8);response.setContentType(text/xml;charset=utf-8);String pid = request.getParameter(pid);System.out.println(pid);int parent = 0;if(null!=pid&!.equals(pid)parent = Integer.parseInt(pid);List list = new ArrayList();City city = new City(1,北京,0);list.add(city);city = new City(2,杭州,0);list.add(city);city = new City(3,东城区,1);list.add(city);city = new City(4,西城区,1);list.add(city);city = new City(5,西湖区,2);list.add(city);city = new City(6,下城区,2);list.add(city);response.setContentType(text/xml;charset=utf-8);PrintWriter out = response.getWriter();out.println();System.out.println(list.size();for(City city1:list)/判断city中的parent是否与客户端传过来的相等if(city1.getParent()=parent)out.println();out.println(+city1.getId()+);out.println(+city1.getCname()+);out.println();out.println();out.flush();out.close();sample04.htmlInsert title herevar xmlreq = false;/*发送请求,执行回调处理*cid:查询city表时使用的parentId*selelctObj:c1或c2下拉选择组件对象*/function sendRequest(cid,selelctObj) /创建XMLHttpRequest对象 if(window.XMLHttpRequest) xmlreq = new XMLHttpRequest(); else try xmlreq = new ActiveXObject(Msxml2.XMLHTTP); catch(e) xmlreq = new ActiveXObject(Microsoft.XMLHTTP); /以get方式发送请求,传递查询时使用的parentId xmlreq.open(get,CityServlet?pid=+cid+&dt=+new Date().getTime(); xmlreq.onreadystatechange = function() if(xmlreq.readyState = 4) if(xmlreq.status = 200) /获取服务器响应回来的XML文档对象 var xmlDoc = xmlreq.responseXML; var city = xmlDoc.getElementsByTagName(city); selelctObj.length = 0; /清空下拉单 selelctObj.options.add(new Option(-请选择-),-1); /根据服务器返回的数据循环生成option选项 for(i=0;icity.length;i+) var id = cityi.getElementsByTagName(id)0.firstChild.data; var name = cityi.getElementsByTagName(name)0.firstChild.data; selelctObj.options.add(new Option(name,id); ; xmlreq.send(null);/加载第一个下拉框function loadFirst() var c1 = document.getElementById(c1); sendRequest(0,c1);/加载数据库city表中parent=0的数据,然后加载第一个下拉组/加载第二
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年屏蔽门专业考试题及答案
- 隐喻理解测试题目及答案
- 准格尔召镇应急预案(3篇)
- 种子管理应急预案(3篇)
- 2025年义县初三政治题库及答案
- 2025年数学中考专项试题及答案
- DB1306T 297-2025 预制菜采样操作规范
- 虚实融合安全防护-洞察与解读
- 2025年企业策划顾问岗位招聘面试参考试题及参考答案
- 2025年市场调研经理岗位招聘面试参考题库及参考答案
- 医疗卫生机构价格公示办法(试行)
- 学校熟食配餐合同范本
- 探矿权(非油气类)申请资料清单
- 2024年十大危化品火灾爆炸事故盘点-国内十大火灾爆炸事故
- 电力工程竣工报告模板
- 生态系统的物质循环课件-高二上学期生物人教版选择性必修24
- 《关节镜小知识》课件
- 2025风电机组无人机巡检技术方案
- 药企地区经理胜任力
- 动物医学专业职业生涯规划
- 【MOOC】美术鉴赏-河南理工大学 中国大学慕课MOOC答案
评论
0/150
提交评论