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

     post请求 url后面加参数 接收不到的,必须 放到send("use"=user)形式

    还要加上

     xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

    servlet

     1 package cn.itcast.controller;
     2 
     3 import java.io.IOException;
     4 import javax.servlet.ServletException;
     5 import javax.servlet.annotation.WebServlet;
     6 import javax.servlet.http.HttpServlet;
     7 import javax.servlet.http.HttpServletRequest;
     8 import javax.servlet.http.HttpServletResponse;
     9 
    10 @WebServlet("/servlet/ServletDemo2")
    11 public class ServletDemo2 extends HttpServlet {
    12     private static final long serialVersionUID = 1L;
    13 
    14     public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    15     }
    16 
    17     public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    18         //System.out.println("ServletDemo2 doPost running");
    19         String username = request.getParameter("username");
    20         String password = request.getParameter("password");
    21         System.out.println(username+":"+password);
    22     }
    23 
    24 }

    jsp

     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进行post方式的请求测试</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             document.getElementById("b1").onclick = function(){
    16                 //获取xmlhttpRequest对象
    17                 var xhr = createXmlHttpRequest();
    18                 //注册状态变化的回调函数
    19                 xhr.onreadystatechange = function(){
    20                     if (xhr.readyState == 4) {
    21                         if (xhr.status == 200 || xhr.status == 304) {
    22                         //什么都不做
    23                         }
    24                     }
    25                 }
    26                 //初始化xmlhttpRequest对象,即open
    27                 xhr.open("POST", "/ajaxday02/servlet/ServletDemo2?time=" + new Date().getTime());
    28                 //设置请求消息头,告知服务器,发送的正文数据的类型。
    29                 xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    30                 //发送数据
    31                 xhr.send("username=admin&password=123");
    32             }
    33         }
    34         function createXmlHttpRequest(){
    35            var xmlHttp;
    36            try{    //Firefox, Opera 8.0+, Safari
    37                    xmlHttp=new XMLHttpRequest();
    38             }catch (e){
    39                    try{    //Internet Explorer
    40                           xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    41                     }catch (e){
    42                           try{
    43                                   xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    44                           }catch (e){}  
    45                    }
    46             }
    47            return xmlHttp;
    48          }
    49 
    50     </script>
    51 </body>
    52 </html>
  • 相关阅读:
    打印空格
    进程间的通信
    堆排序算法
    大小端的判断
    bash help
    [Android] How to disable the screen orientation?
    图片的静态动态显示效果
    WPF Threads: Build More Responsive Apps With The Dispatcher
    用node.js+express自建网站发布静态网页
    利用Apache mod_expires 与 mod_headers 实现文件缓存及mod_deflate压缩输出
  • 原文地址:https://www.cnblogs.com/friends-wf/p/3761672.html
Copyright © 2011-2022 走看看