AJAX+Servlet实现的数据处理显示功能示例
程序员文章站
2022-11-23 11:57:44
本文实例讲述了ajax+servlet实现的数据处理显示功能。分享给大家供大家参考,具体如下:
实现功能:在输入框中输入字符,用ajax传到后台servlet处理后加上随...
本文实例讲述了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(); }
更多关于ajax相关内容感兴趣的读者可查看本站专题:《jquery中ajax用法总结》、《javascript中ajax操作技巧总结》、《php+ajax技巧与应用小结》及《asp.net ajax技巧总结专题》
希望本文所述对大家ajax程序设计有所帮助。