源:http://cuisuqiang.iteye.com/blog/1461306
评:
XMLHttpRequest 对象
XMLHttpRequest 对象提供了对 HTTP 协议的完全的访问,包括做出 POST 和 HEAD 请求以及普通的 GET 请求的能力。XMLHttpRequest 可以同步或异步地返回 Web 服务器的响应,并且能够以文本或者一个 DOM 文档的形式返回内容。
尽管名为 XMLHttpRequest,它并不限于和 XML 文档一起使用:它可以接收任何形式的文本文档。
XMLHttpRequest 对象是名为 AJAX 的 Web 应用程序架构的一项关键功能。
浏览器支持
XMLHttpRequest 得到了所有现代浏览器较好的支持。唯一的浏览器依赖性涉及 XMLHttpRequest 对象的创建。在 IE 5 和 IE 6 中,必须使用特定于 IE 的 ActiveXObject() 构造函数。正如在 XMLHttpRequest 对象 这一节所介绍的。
W3C 标准化
XMLHttpRequest 对象还没有标准化,但是 W3C 已经开始了标准化的工作,本手册介绍的内容都是基于标准化的工作草案。
当前的 XMLHttpRequest 实现已经相当一致。但是和标准有细微的不同。例如,一个实现可能返回 null,而标准要求是空字符串,或者实现可能把 readyState 设置为 3 而不保证所有的响应头部都可用。
?
我们建立一个Web工程,建立一个Servlet。用于接收请求,该请求接收参数,返回一个字符串:
- package?com;??
- import?java.io.*;??
- import?javax.servlet.*;??
- import?javax.servlet.http.*;??
- @SuppressWarnings("serial")??
- public?class?ServiceAjax?extends?HttpServlet?{??
- ????public?ServiceAjax()?{??
- ????????super();??
- ????}??
- ????public?void?destroy()?{??
- ????????super.destroy();??
- ????}??
- ????public?void?doGet(HttpServletRequest?request,?HttpServletResponse?response)??
- ????????????throws?ServletException,?IOException?{????????
- ????????request.setCharacterEncoding("UTF-8");??
- ????????response.setCharacterEncoding("UTF-8");??
- ????????String?name?=?request.getParameter("name");??
- ????????String?age?=?request.getParameter("age");??
- ????????System.out.println(name?+?"你好,你今年"?+?age?+?"岁了!");????
- ????????PrintWriter?out?=?response.getWriter();??
- ????????out.write(name?+?"你好,你今年"?+?age?+?"岁了!");??
- ????????out.flush();??
- ????????out.close();??
- ????}??
- ????public?void?doPost(HttpServletRequest?request,?HttpServletResponse?response)??
- ????????????throws?ServletException,?IOException?{??
- ????????doGet(request,?response);??
- ????}??
- ????public?