J2EE下使用AJAX(二) Prototype封装

需提前下载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);
    }


}

2.2 JSP

首先,要在页面中引用prototype.js

<script type="text/javascript" src="js/prototype.js"></script>

发送请求的HTML代码

<input type="button" value="Prototype" οnclick="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);
}

 

与使用原始方法相比,该方式更为简洁直观(我最常用的一种)。

在发送请求时,使用了一个随机数作为参数,是因为浏览器缓存的缘故,如果在调试过程中更改了程序,使用随机数参数可以强制程序不使用缓存中的数据,从而可反映出程序最新的变化。

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>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值