Ajax Servlet实例在网络编程的应用

开发 后端
Ajax Servlet实例在网络编程的应用是如何呢?Ajax异步请求,Servlet产生随机数据,Html页面无刷新显示。那么本文就向你介绍这方面的情况。

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();  
  } }} 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.


二、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);   
  }   
}  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.

/*分析返回的文本文档*/

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];  
      row1tb.insertRow();  
      cell1 = row1.insertCell();  
      cell1.innerText = num1;  
      cell2 = row1.insertCell();  
      cell2.innerText = num2;  
      row2tb.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﹥ 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.


三、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﹥ 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.


运行图:

Ajax Servlet实例

Ajax Servlet实例在网络编程的应用就介绍到这里,是不是有点意思呢?Ajax Servlet实例在网络编程的应用是很广泛的,要在实际中积累和多应用。

【编辑推荐】

  1. Servlet配置及开发运行测试
  2. 选择JSP开发工具
  3. Servlet和JSP路径详细介绍
  4. Servlet生命周期
  5. JSP和Servlet中的几个编码的作用及原理
责任编辑:仲衡 来源: 中国IT实验室
相关推荐

2009-07-07 09:41:02

异步ServletAJAX

2018-01-02 11:15:27

网络芯片应用

2009-07-07 17:32:31

HTTP Servle

2022-03-02 09:11:09

机器学习网络

2021-11-30 22:51:36

机器学习大数据技术

2009-03-02 15:44:20

网络拓扑Visio技术Microsoft V

2022-03-31 15:17:04

JavaSocketServlet容器

2009-07-09 15:05:45

Servlet实例

2009-10-15 15:31:49

网络布线系统

2009-07-07 09:51:49

Servlet实例

2021-11-08 14:19:59

区块链比特币应用

2012-02-13 13:27:58

流行路由网络管理

2016-01-22 12:27:15

2021-07-29 14:23:19

网络应用系统

2009-11-13 13:30:44

路由器技术

2009-07-06 14:05:50

Servlet编程Servlet显示图片

2011-02-28 18:03:35

2009-12-10 15:39:34

动态路由协议

2022-06-29 16:42:35

区块链网络安全信息安全

2023-07-06 13:37:43

点赞
收藏

51CTO技术栈公众号