首页 > 代码库 > ajax 异步 通信 小例子 servlet与 jsp异步
ajax 异步 通信 小例子 servlet与 jsp异步
get 请求参数通过 url那里写进去,然后send(null)
html文件和 servlet进行通信 通过ajax 进行通信
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 5 <title>AJAX进行get方式的请求测试</title> 6 </head> 7 <body> 8 <input type="button" id="b1" name="b1" value="http://www.mamicode.com/测试与服务器的通信"/> 9 <div id="d1"> 10 11 </div> 12 <script type="text/javascript"> 13 14 window.onload=function(){//当页面被全部加在完毕后再执行 15 //给b1按钮注册事件 16 document.getElementById("b1").onclick=function(){ 17 //AJAX代码 18 19 //得到XmlHttpRequest对象 20 var xhr = createXmlHttpRequest(); 21 //xhr的readyState改变都会触发onreadystatechange事件 22 23 /* 24 * readyState的取值: 25 * 0 (未初始化) 对象已建立,但是尚未初始化(尚未调用open方法) 26 * 1 (初始化) 对象已建立,尚未调用send方法 27 * 2 (发送数据) send方法已调用,但是当前的状态及http头未知 28 * 3 (数据传送中) 已接收部分数据,因为响应及http头不全, 29 * 4 (完成) 数据接收完毕,此时可以通过通过responseBody和responseText获取完整的回应数据 30 31 */ 32 xhr.onreadystatechange=function(){ 33 if(xhr.readyState==4){ 34 //真正的处理 35 if(xhr.status==200||xhr.status==304){ 36 //服务器正确返回 37 var data = http://www.mamicode.com/xhr.responseText;//服务器返回的数据 38 //把返回的数据写到div中 39 document.getElementById("d1").innerHTML=data; 40 } 41 } 42 } 43 //建立与服务器的连接 44 /* 45 * oXMLHttpRequest.open(bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword); 46 * bstrMethod:请求方式。一般使用get或post 47 * bstrUrl:请求的资源地址:可以绝对或相对路径 48 * varAsync:是否是异步请求。默认是true。 49 */ //由于浏览器请求url如果都是一样的话,就不请求了,所以后面加个时间信息,让url不同, 50 xhr.open("GET","/ajaxday02/servlet/ServletDemo1?time="+new Date().getTime()); 51 //发送数据 52 //oXMLHttpRequest.send(varBody); varBody:请求参数 53 xhr.send(null); 54 55 //接收服务器返回的数据 56 57 58 } 59 } 60 function createXmlHttpRequest(){ 61 var xmlHttp; 62 try{ //Firefox, Opera 8.0+, Safari 63 xmlHttp=new XMLHttpRequest(); 64 }catch (e){ 65 try{ //Internet Explorer 66 xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); 67 }catch (e){ 68 try{ 69 xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); 70 }catch (e){} 71 } 72 } 73 return xmlHttp; 74 } 75 76 </script> 77 </body> 78 </html>
servlet
1 package cn.itcast.controller; 2 3 import java.io.IOException; 4 import java.io.PrintWriter; 5 6 import javax.servlet.ServletException; 7 import javax.servlet.annotation.WebServlet; 8 import javax.servlet.http.HttpServlet; 9 import javax.servlet.http.HttpServletRequest; 10 import javax.servlet.http.HttpServletResponse; 11 12 @WebServlet("/servlet/ServletDemo1") 13 public class ServletDemo1 extends HttpServlet { 14 private static final long serialVersionUID = 1L; 15 16 17 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 18 response.setContentType("text/html;charset=UTF-8"); 19 PrintWriter out = response.getWriter(); 20 out.write("hello ajax"); 21 System.out.println("ServletDemo1执行了"); 22 } 23 24 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 25 doGet(request,response); 26 } 27 28 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。