首页 > 开发 > AJAX > 正文

AJAX+Servlet实现的数据处理显示功能示例

2024-09-01 08:26:54
字体:
来源:转载
供稿:网友

本文实例讲述了AJAX+Servlet实现的数据处理显示功能。,具体如下:

实现功能:在输入框中输入字符,用AJAX传到后台Servlet处理后加上随机数,并返回到前台显示。

一、写前台jsp页面index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head>  <title>My JSP 'index.jsp' starting page</title>  <script type="text/javascript">  /*    ajax 的几个步骤:    1、建立XmlHttpRequest对象    2、设置回调函数    3、使用Open方法建立与服务器的连接    4、向服务器发送数据    5、在回调函数中针对不同响应状态进行处理  */    var xmlHttp;    function createXMLHttpRequest(){  //1建立XmlHttpRequest对象      if(window.ActiveXObject){        try{          xmlHttp = new ActiveXObject("Microsoft.XMLHttp");        }catch(e){          alert("Error!!!");        }      }else{        xmlHttp = new XMLHttpRequest();      }    }    function showMes(){   //2设置回调函数      if(xmlHttp.readyState==4){ //数据接收完成并可以使用        if(xmlHttp.status==200){ //http状态OK        //5、在回调函数中针对不同响应状态进行处理          document.getElementById("sp").innerHTML = xmlHttp.responseText; //服务器的响应内容        }else{          alert("出错:"+xmlHttp.statusText); //HTTP状态码对应的文本        }      }    }    /**    //这是GET方法传送    function getMes(){      createXMLHttpRequest();      var txt = document.getElementById("txt").value;      var url="servlet/AjaxServlet?txt="+txt;      url = encodeURI(url); //转换码后再传输      xmlHttp.open("GET",url,true); //3使用Open方法建立与服务器的连接      xmlHttp.onreadystatechange=showMes;      xmlHttp.send(null); //4向服务器发送数据    }    */    /**    *这是post方法    */    function postMes(){      createXMLHttpRequest();      var txt = document.getElementById("txt").value;      var url = "servlet/AjaxServlet";      var params = "username="+txt;    // alert(params);      xmlHttp.open("POST",url,true);      xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");      xmlHttp.send(params);      xmlHttp.onreadystatechange = showMes;    }  </script> </head> <body>  <input type="text" id="txt"/>  <input type="button" value="query" onclick="postMes()" />  <span id="sp"></span> </body></html>

二、写后台Servlet加random随机数,关键代码如下:

public void doGet(HttpServletRequest request, HttpServletResponse response)      throws ServletException, IOException {    request.setCharacterEncoding("utf-8"); //用utf-8转换获得传输过来的码    response.setContentType("text/html");    PrintWriter out = response.getWriter();    String txt = request.getParameter("txt");//   String tx = new String(txt.getBytes("iso-8859"),"utf-8");    out.print("txt="+txt+Math.random());    out.flush();    out.close();}/*** The doPost method of the servlet. <br>** This method is called when a form has its tag value method equals to post.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doPost(HttpServletRequest request, HttpServletResponse response)      throws ServletException, IOException {    request.setCharacterEncoding("utf-8");    response.setContentType("text/html;charset=UTF-8");    PrintWriter out = response.getWriter();    String username = request.getParameter("username");//   String txt = new String(username.getBytes("ISO-8859-1"),"UTF-8");    String txt = new String(username);    out.print("txt="+txt+":"+Math.random());    out.flush();    out.close();}            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表