新一篇: J2EE下使用AJAX(二) Prototype封装
本方法不借助于任何的框架及开源项目,体现AJAX在J2EE中的实现如下功能,由页面向服务器发出请求,返回一个字符串,客户端页面显示该字符串。
1.1 Servlet
响应客户端请求的Servlet类为一普通的Servlet,关键在于使用了ServletOutputStream控制输出流,该输出即可则客户端获取。代码如下所示:
package
lld.test.ajax;
import
java.io.IOException;
import
javax.servlet.ServletException;
import
javax.servlet.ServletOutputStream;
import
javax.servlet.http.HttpServlet;
import
javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse;
public
class
SimpleAjaxServlet
extends
HttpServlet
...
{
private static final long serialVersionUID = -668635463669389981L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
...{
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
...{
String uname = req.getParameter("uname");
ServletOutputStream os = resp.getOutputStream();
os.print("Hello, " + uname);
System.out.println("Hello, AJAX!");
}
}
如果客户端传入参数 uname=London,则该Servlet将字符串“Hello, London”输出至客户端。
1.2 JSP
在JSP中使用如下HTML代码发送请求
关键在于JavaScript代码的写法,如下所示:
var bXmlHttpSupport
=
(
typeof
XMLHttpRequest
!=
"
undefined
"
||
window.ActiveXObject);
function
XMLHttpRequest()
...
{
var arrSignatures = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0",
"MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP",
"Microsoft.XMLHTTP"];
for (var i=0; i
其中的XMLHttpRequest用于获取发送异步XML请求的ActiveX对象,可作为一个通用函数在项目中使用。
在simple_ajax函数中,关键在于定义XMLHttpRequest.onReadyStateChange事件,指定请求返回后的动作,在此我只是简单地显示从服务器返回的结果
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: FreeBSD使用deamon将frpc添加到开始启动项
FreeBSD最大的特点就是稳,让你难以置信的稳。提到FreeBSD,还需要感谢带我认识它的刘仕臣老师。 frpc默认情况下会随着shell的退出而自动终止,而且我们也希望在服务器启动时能够自动启动frpc服务,以及在frpc发生错误时,服务器能够自动重启该服…