首页 > 其他分享 >J2EE下使用AJAX(二) Prototype封装

J2EE下使用AJAX(二) Prototype封装

时间:2023-06-08 21:05:48浏览次数:33  
标签:... J2EE prototype resp req AJAX import Prototype servlet


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

标签:...,J2EE,prototype,resp,req,AJAX,import,Prototype,servlet
From: https://blog.51cto.com/u_16065168/6443250

相关文章

  • J2EE下使用AJAX(一) 最原始的AJAX (转)
    新一篇: J2EE下使用AJAX(二)Prototype封装本方法不借助于任何的框架及开源项目,体现AJAX在J2EE中的实现如下功能,由页面向服务器发出请求,返回一个字符串,客户端页面显示该字符串。1.1Servlet响应客户端请求的Servlet类为一普通的Servlet,关键在于使用了ServletOutputStream控制......
  • Ajax表单提交数据出现乱码和解决办法
    >>更多精彩技术文章>//要传递的参数  varqueryString="firstName="+firstName+"&lastName="+lastName                         +"&birthday="+birthday;   function  1.//GET方式提交2.doRequestUsingGET(......
  • AJAX+servlet实例入门
    这些时间,瞎子也看得见,AJAX正大踏步的朝我们走来。不管我们是拥护也好,反对也罢,还是视而不见,AJAX像一阵潮流,席转了我们所有的人。关于AJAX的定义也好,大话也好,早有人在网上发表了汗牛充栋的文字,在这里我也不想照本宣科。只想说说我感觉到的一些优点,对于不对,大家也可以和我讨论......
  • 原生AJAX案例浏览器报错:Cross origin requests are only supported for protocol
    报错信息如下:代码如下:<!DOCTYPEhtml><html><body><divid="demo"><h1>XMLHttpRequest对象</h1><buttontype="button"onclick="loadDoc()">更改内容</button></div><script>fu......
  • 5) Prototype Pattern
    类别: CreationalPattern问题: 不想修改原对象状态,但需要依据当前数据进行计算方案:   示例: publicclassPrototypePattern{publicstaticvoidmain(String[]args){Moviemovie=newMovie();movie.setName("xxxxxx");Movie......
  • 详解JavaScript中的__proto__和prototype
    目录一、JS的对象创建方法二、双对象法则三、__proto__和prototypeprototype是什么?__proto__又是什么?对于JS来说,__proto__和prototype的区别是个绕不开的话题。本文就试图从它们的根本上说清楚它们是什么,又有什么区别,所以本文会从JS的对象开始说起,以其期待把本文的主题......
  • Ajax的步骤与封装 AJAX中的200和4分别是什么意思
    1)、AJAX的步骤:ajax的流程,readyState和status的意思​1、创建XMLHttpRequest​letxhr=newXMLHttpRequest()​2、设置(请求方式,请求路径,请求参数)​xhr.open("get","regSave.php?username=jzm&userpass=123",true)​3、设置回调函数(后端有响应时,调用的回调函数)​......
  • J2EE环境变量的其他使用方式
    [color=red]1.[b]System.getProperty()获取tomcat自定义变量[/b][/color][url]http://zwxiaole.iteye.com/blog/1832053[/url]环境tomcat集群有一个定时器为了防止所有集群的服务器都跑定时而出错选择其中一台服务器修改tomcatbin目录下的windows......
  • SpringMVC 转换ajax的json数据乱码问题
    在springmvc3中,已经集成了Jackson(json处理器)来处理数据输出json格式,spring中封装的类是[color=blue]org.springframework.http.converter.json.MappingJackson2HttpMessageConverter[/color]这个json转换器,如果是[color=red]springmvc3.2[/color]之前的版本,可以使用[color=b......
  • XSLT 介绍与 Google Ajaxslt
    最近研究ajaxslt的心得[url]http://bright895.blog.163.com/blog/static/182699233201142685114192/[/url]XSLT的英文标准名称为eXtensibleStylesheetLanguageTransformation。根据W3C的规范说明书(http://www.w3.org/TR/xslt),[color=red]最早设计XSLT的用意是帮助XML文档(doc......