AJax技术

JAVA中的AJAX技术(3)

字号+ 作者:H5之家 来源:H5之家 2015-11-22 09:27 我要评论( )

首先,我们仍然是对Struts应用来做配置,仍然是在struts-config,xml文件里做配置,如下: action type="com.ajax.CheckAction" scope="request" path="/ajax/check" forward path="/check.jsp"/ /action 跟普通的St

    首先,我们仍然是对Struts应用来做配置,仍然是在struts-config,xml文件里做配置,如下:
 <action type="com.ajax.CheckAction"
       scope="request" path="/ajax/check">
       <forward path="/check.jsp"/>
 </action>
 
    跟普通的Struts应用的配置一样,只是没有ActionForm的配置。
    下面是Action类:
 package com.ajax;
 
 import java.io.PrintWriter;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.struts.action.Action;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
 import org.apache.struts.action.DynaActionForm;
 
 /**
  * @author Administrator
  *
  * TODO To change the template for this generated type comment go to
  * Window - Preferences - Java - Code Style - Code Templates
  */
 public class CheckAction extends Action
 {
  public final ActionForward execute(ActionMapping mapping, ActionForm form,
             HttpServletRequest request,
             HttpServletResponse response)
   throws Exception
   {
    System.out.println("haha...............................");
    String username= request.getParameter("username");
    System.out.println(username);
    String retn;
    if("educhina".equals(username)) retn = "Can't use the same name with the old use,pls select a difference...";
    else retn = "congraducation!you can use this name....";
    PrintWriter out=response.getWriter();
             out.write(retn);
             out.close();
    return mapping.findForward("success");
   }
  public static void main(String[] args)
  {
  }
 }
 
    我们可以看到里面的逻辑跟上例中Servlet里的逻辑一样。最后,我们来看看JSP:
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html>
 <head>
 <title>Check.html</title>
 
 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
 <meta http-equiv="description" content="this is my page">
 
 <!--<link type="text/css" href="./styles.css">-->
 
 </head>
 <script type="text/javascript">
  var http_request = false;
  function send_request(url) {//初始化、指定处理函数、发送请求的函数
   http_request = false;
   //开始初始化XMLHttpRequest对象
   if(window.XMLHttpRequest) { //Mozilla 浏览器
    http_request = new XMLHttpRequest();
    if (http_request.overrideMimeType) {//设置MiME类别
     http_request.overrideMimeType('text/xml');
    }
   }
   else if (window.ActiveXObject) { // IE浏览器
    try {
     http_request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
     try {
      http_request = new ActiveXObject("Microsoft.XMLHTTP");
     } catch (e) {}
    }
   }
   if (!http_request) { // 异常,创建对象实例失败
    window.alert("不能创建XMLHttpRequest对象实例.");
    return false;
   }
   http_request.onreadystatechange = processRequest;
   // 确定发送请求的方式和URL以及是否同步执行下段代码
   http_request.open("GET", url, true);
   http_request.send(null);
  }
  // 处理返回信息的函数
     function processRequest() {
         if (http_request.readyState == 4) { // 判断对象状态
             if (http_request.status == 200) { // 信息已经成功返回,开始处理信息
                 alert(http_request.responseText);
             } else { //页面不正常
                 alert("您所请求的页面有异常。");
             }
         }
     }
  function userCheck() {
   var f = document.forms[0];
   var username = f.username.value;
   if(username=="") {
    window.alert("The user name can not be null!");
    f.username.focus();
    return false;
   }
   else {
    send_request('ajax/check.do?username='+username);
   }
  }
 
 </script>
 <body>
  <form action="" method="post">
 User Name:<input type="text" value="">&nbsp;
 <input type="button" value="check">
 <input type="submit" value="submit">
 </form>
 </body>
 </html>
 
    我们可以看到,JSP基本是一样的,除了要发送的url:ajax/check.do?username='+username。
   

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • JQuery实现Ajax加载图片的方法

    JQuery实现Ajax加载图片的方法

    2016-02-24 17:01

  • 判断用户是不是为ajax请求

    判断用户是不是为ajax请求

    2016-02-24 17:00

  • Ajax与WEB开发 by alixixi.com

    Ajax与WEB开发 by alixixi.com

    2016-02-11 11:02

  • jQuery.ajax()的相关参数及使用

    jQuery.ajax()的相关参数及使用

    2016-02-08 16:00

网友点评