Ajax详解及其案例分析

2019-09-14 07:07:01王冬梅

步骤四: 修改ActionServlet

package web;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ActionServlet extends HttpServlet {
  public void service(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {

    response.setContentType("text/html;charset=UTF-8");
    request.setCharacterEncoding("UTF-8");
    PrintWriter out = response.getWriter();
    //获取请求资源路径
    String uri = request.getRequestURI();
    String path = uri.substring(
        uri.lastIndexOf("/"),
        uri.lastIndexOf("."));
    if(path.equals("/get_text")){//get请求
      out.println("get请求-服务器返回的数据");
    }else if(path.equals("/post_text")){//post请求
      String name = request.getParameter("uname");
      System.out.println(name);
      out.println("又来了一次的" + name);
    }    
    out.close();
  }
}

步骤五: 运行,查看结果

3.4 完整代码

ajax03.html文件代码如下:

<html>

 <head>

  <title>ajax03.html</title>  

  <meta http-equiv="Content-Type"

      content="type=text/html;charset=UTF-8">

  <script type="text/javascript" src="js/my.js"></script>

  <script type="text/javascript">

    function getText(){

      var xhr = getXhr();

      xhr.onreadystatechange=function(){

        if(xhr.readyState==4 && xhr.status==200){

          alert(xhr.responseText);

        }

      };

     xhr.open("post","post_text.do",true);

      xhr.setRequestHeader('content-type',

        'application/x-www-form-urlencoded');

      xhr.send("uname=daliu_it");

    }

  </script>

 </head> 

 <body>

 <!-- 使用Ajax对象发送POST类型请求,并获取文本 -->

 <input type="button" onclick="getText()" value="POST请求"/>

 </body>

</html>

ActionServlet.java文件代码如下:

package web;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ActionServlet extends HttpServlet {

  public void service(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {

    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    // 获取请求资源路径
    String uri = request.getRequestURI();
    String path = uri.substring(uri.lastIndexOf("/"), uri.lastIndexOf("."));
    if (path.equals("/get_text")) {// get请求
      out.println("get请求-服务器返回的数据");
    } else if (path.equals("/post_text")) {// post请求
      String name = request.getParameter("uname");
      System.out.println(name);
      out.println("又来了一次的" + name);
    } 
    out.close();
  }

}