需提前下载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
发送请求的HTML代码
发送/接收请求的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
PrototypeAjax
servlet-name
>
lld.test.ajax.PrototypeAjaxServlet
servlet-class
>
servlet
>
PrototypeAjax
servlet-name
>
/PrototypeAjax.do
url-pattern
>
servlet-mapping
>
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: springboot在拦截器里注入mapper失败Null问题
问题 直接在拦截器里这样注入mapper(dao)会导致null 解决方案 修改拦截器配置 原来的配置 修改为如下 *服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net 机房租用,北京机房租用,IDC机房托管, http://ww…