Ajax异步请求,servlet产生随机数据,Html页面无刷新显示。

目前创新互联建站已为成百上千家的企业提供了网站建设、域名、雅安服务器托管、成都网站托管、企业网站设计、绥中网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
运行环境:jdk1.5+tomcat 5.5
一、ajaxServlet.java
- package com;
 - 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;
 - import java.util.Random;
 - public class ajaxServlet extends HttpServlet{
 - private static final String CONTENT_TYPE="text/xml; charset=gb2312";
 - public void init() throws ServletException{}
 - public void doGet(HttpServletRequest request,HttpServletResponse response)
 - throws ServletException,IOException{
 - response.setContentType(CONTENT_TYPE);
 - response.setHeader("Cache-Control","no-cache");
 - response.setHeader("Pragma","no-cache");
 - response.setDateHeader("Expires",0);
 - PrintWriter out=response.getWriter();
 - String action=request.getParameter("action");
 - if(("send").equals(action)){
 - Random random = new Random();
 - String AA=Integer.toString(Math.abs(random.nextInt()));
 - String BB=Integer.toString(Math.abs(random.nextInt()));
 - String CC=Integer.toString(Math.abs(random.nextInt()));
 - String DD=Integer.toString(Math.abs(random.nextInt()));
 - StringBuffer sb=new StringBuffer();
 - sb.append(AA); sb.append("@@@");
 - sb.append(BB); sb.append("@@@");
 - sb.append(CC); sb.append("@@@");
 - sb.append(DD);
 - out.write(sb.toString());
 - out.close();
 - } }}
 
二、testajax.html
- ﹤html﹥
 - ﹤head﹥
 - ﹤title﹥AJAX.html﹤/title﹥
 - ﹤/head﹥
 - ﹤script type="text/javascript"﹥
 - function getResult(){
 - var url = "/Tajax/AajaxServlet?action=send";
 - if (window.XMLHttpRequest) {
 - req = new XMLHttpRequest();
 - }else if (window.ActiveXObject){
 - req = new ActiveXObject("Microsoft.XMLHTTP");
 - }
 - if(req){
 - req.open("GET",url, true);
 - req.onreadystatechange = complete;
 - req.send(null);
 - }
 - }
 
/*分析返回的文本文档*/
- function complete(){
 - if (req.readyState == 4) {
 - if (req.status == 200) {
 - // alert(req.responseText);
 - var strResult = unescape(req.responseText);
 - var arrResult = strResult.split("@@@");
 - RemoveRow(); //删除以前的数据.
 - num1 = arrResult[0]; //字段num1的值
 - num2 = arrResult[1]; //字段num2的值
 - num3 = arrResult[2];
 - num4 = arrResult[3];
 - row1= tb.insertRow();
 - cell1 = row1.insertCell();
 - cell1.innerText = num1;
 - cell2 = row1.insertCell();
 - cell2.innerText = num2;
 - row2= tb.insertRow();
 - cell3 = row2.insertCell();
 - cell3.innerText = num3;
 - cell4 = row2.insertCell();
 - cell4.innerText = num4;
 - } else {
 - alert('There was a problem with the request.');
 - }
 - }
 - }
 - function RemoveRow(){//保留***行表头,其余数据均删除.
 - var iRows = tb.rows.length;
 - for(var i=0;i﹤ iRows-1;i++){
 - tb.deleteRow(1);
 - }
 - }
 - function MyShow(){//2秒自动刷新一次,2秒取得一次数据.
 - timer = window.setInterval("getResult()",2000);
 - }
 - ﹤/script﹥
 - ﹤body onload="MyShow()"﹥
 - ﹤table width="47%" height="23" border="0" cellpadding="1" cellspacing="0" id="tb"﹥
 - ﹤tr﹥﹤td﹥代码﹤/td﹥
 - ﹤td﹥价格﹤/td﹥
 - ﹤/tr﹥
 - ﹤/table﹥
 - ﹤form﹥
 - ﹤p﹥输入股票代码:
 - ﹤input type="text" size="14" name="phone" id="phone"/﹥
 - ﹤/p﹥
 - ﹤p﹥你交易的数量:﹤/p﹥
 - ﹤p﹥﹤textarea name="order" rows="6" cols="50" id="order"﹥﹤/textarea﹥﹤/p﹥
 - ﹤p﹥﹤input type="submit" value="提交" id="submit" /﹥﹤/p﹥
 - ﹤/form﹥
 - ﹤/body﹥
 
三、web.xml
- ﹤?xml version="1.0" encoding="ISO-8859-1"?﹥
 - ﹤web-app xmlns="http://java.sun.com/xml/ns/j2ee"
 - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 - xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
 - version="2.4"﹥
 - ﹤display-name﹥Welcome to Tomcat﹤/display-name﹥
 - ﹤description﹥
 - Welcome to Tomcat
 - ﹤/description﹥
 - ﹤servlet﹥
 - ﹤servlet-name﹥AajaxServlet﹤/servlet-name﹥
 - ﹤servlet-class﹥com.ajaxServlet﹤/servlet-class﹥
 - ﹤/servlet﹥
 - ﹤servlet-mapping﹥
 - ﹤servlet-name﹥AajaxServlet﹤/servlet-name﹥
 - ﹤url-pattern﹥/AajaxServlet﹤/url-pattern﹥
 - ﹤/servlet-mapping﹥
 - ﹤/web-app﹥
 
运行图:
Ajax Servlet实例在网络编程的应用就介绍到这里,是不是有点意思呢?Ajax Servlet实例在网络编程的应用是很广泛的,要在实际中积累和多应用。
                网站标题:AjaxServlet实例在网络编程的应用
                
                文章起源:http://www.csdahua.cn/qtweb/news40/182040.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网