J2EE下使用AJAX(二) Prototype封装
来源:互联网 发布:scar处女座数据 编辑:程序博客网 时间:2024/05/17 04:40
需提前下载prototype.js并置于自己的项目中,本例实现的功能与上例类似,Prototype对XMLHttpRequest进行了封装,我们可以使用较为简单的方式发送请求。
2.1 Servlet
实际上与上例的Servlet完全一样。内容如下:package lld.test.ajax;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class PrototypeAjaxServlet extends HttpServlet
{
private static final long serialVersionUID = -839091745512216332L;
@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");
String return_str = "Hello, " + uname;
resp.getOutputStream().print(return_str);
resp.getOutputStream().close();
System.out.println(return_str);
}
}
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class PrototypeAjaxServlet extends HttpServlet
{
private static final long serialVersionUID = -839091745512216332L;
@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");
String return_str = "Hello, " + uname;
resp.getOutputStream().print(return_str);
resp.getOutputStream().close();
System.out.println(return_str);
}
}
2.2 JSP
首先,要在页面中引用prototype.js
<script type="text/javascript" src="js/prototype.js"></script>
发送请求的HTML代码
<input type="button" value="Prototype" onclick="prototype_ajax()" />
发送/接收请求的JavaScript代码
function prototype_ajax()
{
var url = "PrototypeAjax.do";
var pars = "uname=London&reqid=" + Math.random();
var myAjax = new Ajax.Request(
url,
{method: 'post', parameters: pars, onComplete: prototype_response}
);
}
function prototype_response(req)
{
alert(req.responseText);
}
{
var url = "PrototypeAjax.do";
var pars = "uname=London&reqid=" + Math.random();
var myAjax = new Ajax.Request(
url,
{method: 'post', parameters: pars, onComplete: prototype_response}
);
}
function prototype_response(req)
{
alert(req.responseText);
}
与使用原始方法相比,该方式更为简洁直观(我最常用的一种)。
在发送请求时,使用了一个随机数作为参数,是因为浏览器缓存的缘故,如果在调试过程中更改了程序,使用随机数参数可以强制程序不使用缓存中的数据,从而可反映出程序最新的变化。
2.3 web.xml
<servlet>
<servlet-name>PrototypeAjax</servlet-name>
<servlet-class>lld.test.ajax.PrototypeAjaxServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>PrototypeAjax</servlet-name>
<url-pattern>/PrototypeAjax.do</url-pattern>
</servlet-mapping>
<servlet-name>PrototypeAjax</servlet-name>
<servlet-class>lld.test.ajax.PrototypeAjaxServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>PrototypeAjax</servlet-name>
<url-pattern>/PrototypeAjax.do</url-pattern>
</servlet-mapping>
- J2EE下使用AJAX(二) Prototype封装
- J2EE下使用AJAX(二) Prototype封装
- J2EE下使用AJAX(二) Prototype封装
- J2EE下使用AJAX(三) DWR
- J2EE下使用AJAX:jsonplugin -- struts2下的AJAX插件
- J2EE下使用AJAX(一) 最原始的AJAX
- J2EE下使用AJAX(一) 最原始的AJAX
- J2EE下使用AJAX(一) 最原始的AJAX .
- prototype-Ajax.request使用
- JNDI 笔记(二) J2EE下使用JNDI
- 模仿prototype的ajax精简封装
- J2EE进阶之ajax和JSon使用 二十三
- J2EE下Ajax框架dwr的使用感觉
- Prototype 1.5 Ajax 使用教程
- Prototype 使用 Ajax.Request类
- prototype-Ajax.request的使用
- Prototype 1.5 Ajax 使用教程
- 简单封装下ajax
- 怎么使用iconv来解决ajax用post传递过去出现的乱码
- 一个爱国者,几句不得不说的肺腹之言!
- 设计模式inC#系列[2] Abstract Factory 抽象工厂
- SQL分页的存储过程详解
- 【From Hailer】历届图灵奖获得者最新名单
- J2EE下使用AJAX(二) Prototype封装
- 使用枚举类型
- jQuery工作原理解析以及源代码示例
- ArrayList-asp.net入门笔记
- 德语版 Wikipedia 即将出书
- 阿里巴巴是最好的客户关系管理实践者
- 文字化けの解決
- 移动平台数据库的一些限制(EDB、CEDB、SQL CE)
- GridView中的超级链接