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入门到精通教程
查看: 253|回复: 0

[servlet学习]Ajax简单实例

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

    [LV.1]初来乍到

    发表于 2014-10-9 23:50:51 | 显示全部楼层 |阅读模式
    Ajax,异步javaScript与XML,是使用客户端脚本与Web服务器交换数据的Web应用开发方法这样,Web页面不用打断交互流程进行重新加裁,就可以动态地更新使用Ajax,你可以创建接近本地桌面应用的,直接的、高可用的、更丰富的、更动态的Web用户接口界面
         Ajax处理过程
        一个Ajax交互从一个称为XMLHttpRequest的JavaScript对象开始如同名字所暗示的,它允许一个客户端脚本来执行HTTP请求,并且将会解析一个XML格式的服务器响应Ajax处理过程中的第一步是创建一个XMLHttpRequest实例使用HTTP方法(GET或POST)来处理请求,并将目标URL设置到XMLHttpRequest对象上
      
       
      
      
      现在,记住Ajax如何首先处于异步处理状态?当你发送HTTP请求,你不希望浏览器挂起并等待服务器的响应,取而代之的是,你希望通过页面继续响应用户的界面交互,并在服务器响应真正到达后处理它们要完成它,你可以向XMLHttpRequest注册一个回调函数,并异步地派发XMLHttpRequest请求控制权马上就被返回到浏览器,当服务器响应到达时,回调函数将会被调用
       
        在Java Web服务器上,到达的请求与任何其它HttpServletRequest一样在解析请求参数后,servlet执行必需的应用逻辑,将响应序列化到XML中,并将它写回HttpServletResponse
       
      
      
      实例 以下是我所写的一个简单的例子: 一、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. /*
    9. *------------------------------------------------------
    10. * 文件名: ajaxServlet.java
    11. * 创建日期: 2005-10-25
    12. * 原作者: miaohai
    13. * 版权所有:  miaohai
    14. * 功能说明: 生成XML文档
    15. *
    16. * 修改记录:N/A
    17. *------------------------------------------------------
    18. */
    19. public class ajaxServlet extends HttpServlet{
    20. private static final String CONTENT_TYPE="text/xml; charset=gb2312";
    21. public void init() throws ServletException{
    22. }
    23. public void doGet(HttpServletRequest request,HttpServletResponse response)
    24.    throws ServletException,IOException{
    25.      response.setContentType(CONTENT_TYPE);
    26.      PrintWriter out=response.getWriter();
    27.      String action=request.getParameter("action");
    28.      if(("send").equals(action)){
    29.         StringBuffer sb=new StringBuffer("
    30.   <type>");
    31.         
    32. sb.append("<type_name>AA</type_name>");
    33.         sb.append("<type_name>BB</type_name>");
    34.         sb.append("<type_name>CC</type_name>");
    35.         sb.append("<type_name>DD</type_name>");
    36.         sb.append("</type>");

    37.         out.write(sb.toString());
    38.         out.close();
    39.      }
    40. }
    41. }
    复制代码
      二、HTML页面: <html>
    <head>
    <title>AJAX.html</title>
    </head>
    <script type="text/javascript">

    /*通过异步传输XMLHTTP发送参数到ajaxServlet,返回符合条件的XML文档*/

    1. function getResult(){
    2.   var url = "/Test/ajaxServlet?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. /*分析返回的XML文档*/
    15. function complete(){
    16.   if (req.readyState == 4){
    17.      if (req.status == 200) {
    18.        var type = req.responseXML.getElementsByTagName("type_name");
    19.        var str=new Array();
    20.        for(var i=0;i< type.length;i++){
    21.          str[i]=type[i].firstChild.data;
    22.          document.all["td"].innerHTML+=str[i]+"
    23. ";
    24.        }
    25.    }
    26. }
    27. }
    复制代码
    </script> <body onLoad="getResult()">
    <table width="80%" border="0" cellspacing="0" cellpadding="0"> <tr><td id="td"> </td></tr> </table> </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">  <servlet>
    <servlet-name>ajaxServlet</servlet-name>
    <servlet-class>com.ajaxServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>ajaxServlet</servlet-name>
    <url-pattern>/ajaxServlet</url-pattern>
    </servlet-mapping>
    </web-app>
    四、运行图:
      

      
      
       
       

         
       

         
       
      











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

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-6-16 05:45 , Processed in 0.336839 second(s), 38 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

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