zoukankan      html  css  js  c++  java
  • ajax 异步 通信 小例子 servlet与 jsp异步 get

    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="测试与服务器的通信"/>
     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 = 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 }
  • 相关阅读:
    资源与锁
    资源与锁
    Leetcode-Rotate List
    Leetcode-Unique Paths II
    Leetcode-Unique Paths
    Leetcode-Minimum Path Sum
    Leetcode-Sqrt(x)
    Leetcode-Set Matrix Zeroes
    Leetcode-Search a 2D Matrix
    Leetcode-Combinations
  • 原文地址:https://www.cnblogs.com/friends-wf/p/3761633.html
Copyright © 2011-2022 走看看