Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 442|回复: 0

[AJAX学习]Ajax+servlet实例

[复制链接]
  • TA的每日心情
    开心
    2021-3-12 23:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2014-10-13 00:49:38 | 显示全部楼层 |阅读模式
    Ajax异步请求,Servlet产生随机数据,HTML页面无刷新显示。
    运行环境:jdk1.5+tomcat 5.5  
        一、ajaxServlet.java
       
    1. package com;
    2. import java.io.IOException;
    3. import java.io.PrintWriter;
    4. import javax.servlet.ServletException;
    5. import javax.servlet.http.HttpServlet;
    6. import javax.servlet.http.HttpServletRequest;
    7. import javax.servlet.http.HttpServletResponse;
    8. import java.util.Random;
    9. public class ajaxServlet extends HttpServlet{
    10. private static final String CONTENT_TYPE="text/xml; charset=gb2312";
    11. public void init() throws ServletException{}
    12. public void doGet(HttpServletRequest request,HttpServletResponse response)
    13. throws ServletException,IOException{
    14. response.setContentType(CONTENT_TYPE);
    15. response.setHeader("Cache-Control","no-cache");
    16. response.setHeader("Pragma","no-cache");
    17. response.setDateHeader("Expires",0);
    18. PrintWriter out=response.getWriter();
    19. String action=request.getParameter("action");
    20. if(("send").equals(action)){  
    21.   Random random = new Random();
    22.   String AA=Integer.toString(Math.abs(random.nextInt()));
    23.   String BB=Integer.toString(Math.abs(random.nextInt()));
    24.   String CC=Integer.toString(Math.abs(random.nextInt()));
    25.   String DD=Integer.toString(Math.abs(random.nextInt()));
    26.   StringBuffer sb=new StringBuffer();
    27.   sb.append(AA);  sb.append("@@@");
    28.   sb.append(BB);  sb.append("@@@");
    29.   sb.append(CC);  sb.append("@@@");
    30.   sb.append(DD);
    31.   out.write(sb.toString());
    32.   out.close();
    33.   } }}
    复制代码

       
      
      
      二、testajax.html
    <html>
    <head>
    <title>AJAX.html</title>
    </head>
    <script type="text/javascript">
    1. function getResult(){
    2.   var url = "/Tajax/AajaxServlet?action=send";
    3.   if (window.XMLHttpRequest) {
    4.     req = new XMLHttpRequest();
    5.   }else if (window.ActiveXObject){
    6.     req = new ActiveXObject("Microsoft.XMLHTTP");
    7.   }
    8.   if(req){
    9.      req.open("GET",url, true);
    10.      req.onreadystatechange = complete;
    11.      req.send(null);
    12.   }
    13. }
    14. /*分析返回的文本文档*/
    15. function complete(){
    16.   if (req.readyState == 4) {
    17.     if (req.status == 200) {
    18.       // alert(req.responseText);
    19.       var strResult = unescape(req.responseText);
    20.       var arrResult = strResult.split("@@@");
    21.       RemoveRow();  //删除以前的数据.
    22.       num1 = arrResult[0]; //字段num1的值
    23.       num2 = arrResult[1]; //字段num2的值
    24.       num3 = arrResult[2];
    25.       num4 = arrResult[3];
    26.       row1= tb.insertRow();
    27.       cell1 = row1.insertCell();
    28.       cell1.innerText = num1;
    29.       cell2 = row1.insertCell();
    30.       cell2.innerText = num2;
    31.       row2= tb.insertRow();
    32.       cell3 = row2.insertCell();
    33.       cell3.innerText = num3;
    34.       cell4 = row2.insertCell();
    35.       cell4.innerText = num4;
    36.     } else {
    37.       alert("There was a problem with the request.");
    38.     }
    39.   }
    40. }
    41. function RemoveRow(){//保留第一行表头,其余数据均删除.
    42.     var iRows = tb.rows.length;
    43.     for(var i=0;i< iRows-1;i++){
    44.        tb.deleteRow(1);
    45.     }
    46. }
    47. function MyShow(){//2秒自动刷新一次,2秒取得一次数据.
    48.   timer = window.setInterval("getResult()",2000);
    49.   }
    复制代码

    </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>
      运行图:
      

      
      
       
       

         
       

         
       
      



    源码下载:http://file.javaxxz.com/2014/10/13/004938234.zip
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2025-2-26 07:28 , Processed in 0.297072 second(s), 36 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表