ajax简单例子(转载)

ajax简单例子
首先是jsp页面和脚本,为了方便写在一个里面  

这是一个很常见的检测用户名是否存在的功能  

这里用的是struts  

<%@ page contentType="text/html; charset=GBK" %>  
<html>  
<head>  
<title>  
ajax  
</title>  
</head>  
<body bgcolor="#ffffff">  
<h1>  
<input name="username" type="text" maxlength="20" />  
<input id="chk-name-btn" type="button" value="检测帐号" οnclick="testName(’<%=request.getContextPath()%>’)" />  
<div id="view_name"></div>  
</h1>  
</body>  
</html>  
<script language="javascript">  
  if (window.ActiveXObject && !window.XMLHttpRequest) {  
      window.XMLHttpRequest=function() {  
      return new ActiveXObject((navigator.userAgent.toLowerCase().indexOf(’msie 5’) != -1) ? ’Microsoft.XMLHTTP’ : ’Msxml2.XMLHTTP’);  
   };  
  }//取得XMLHttpRequest对象  

function testName(path){  

//path是取得系统路径  
                var view_name=document.getElementById("view_name");  
      var req=new XMLHttpRequest();  
      if (req) {  
          req.onreadystatechange=function() {  
           if (req.readyState==4 && req.status==200) {//判断状态,4是已发送,200已完成  
                 if(req.responseText==0){  
                 view_name.style.color=’green’;  
                view_name.innerHTML=’该用户名可以正常使用’;  
                 }else if(req.responseText==1){  
                view_name.style.color=’red’;  
                   view_name.innerHTML=’该用户名已经被使用’;  
                       }else{  
                     view_name.style.color=’red’;  
                     view_name.innerHTML=’该用户名含有非法字符!’;  
                     }  
                 }  
         }  
                        req.open(’POST’, path+’/ajax.do’);//struts  

                       //req.open(’POST’, path+’/ajax.servlet’);//servlet  

                        //req.open(’POST’, path+’/ajax.action’);//webwork  


                          req.setRequestHeader(’Content-Type’, ’application/x-www-form-urlencoded’);  
                          req.send("");//发送参数如果有参数req.send("username="+user_name);用request取得  
      }  
}  
</script>  

这个jsp页面并没有取得用户名,就是演示一下。还有<div>可以换span,具体作用问美工吧。  

接受ajax请求的action。  

import org.apache.struts.action.*;  
import javax.servlet.http.*;  
import javax.servlet.http.HttpServlet;  
import javax.servlet.http.HttpServletRequest;  
import javax.servlet.http.HttpServletResponse;  
import java.io.PrintWriter;  

/**  
 * <p>Title:AjaxAction </p>  
 */  

public class AjaxAction extends Action {  
  public ActionForward execute(ActionMapping mapping,  
                               ActionForm form,  
                               HttpServletRequest request,  
                               HttpServletResponse response)  
      throws Exception {  
    PrintWriter out = response.getWriter();  
    out.print(1);//ajax取得都是字符的输出。如果数据量大的话,还可以用xml来发送和接受  
    return null;  
  }  
}  

struts-config.xml  

    <action type="test.whw.upload.AjaxAction" validate="false" scope="request"  path="/ajax"/>  
----------------------------  

如果是servlet  

web.xml  

 <servlet>  
  <servlet-name>AjaxServlet </servlet-name>  
  <servlet-class>servlet.AjaxServlet </servlet-class>  
 </servlet>  
    <servlet-mapping>  
        <servlet-name>AjaxServlet </servlet-name>  
        <url-pattern>/AjaxServlet .servlet</url-pattern>  
    </servlet-mapping>  

AjaxServlet.java  

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;  


public class AjaxServlet extends HttpServlet {  
 Logger log = Logger.getLogger(this.getClass());  
 public void doGet(HttpServletRequest request, HttpServletResponse response)  
   throws ServletException,IOException {  
  response.setContentType("text/xml; charset=GBK");  
  PrintWriter out = response.getWriter();  
    out.print(2);  
   }  
 }  
 //Process the HTTP Post request  
 public void doPost(HttpServletRequest request, HttpServletResponse response)  
   throws ServletException, IOException {  
  doGet(request, response);  
 }  

 //Process the HTTP Put request  
 public void doPut(HttpServletRequest request, HttpServletResponse response)  
   throws ServletException, IOException {  
 }  

 //Process the HTTP Delete request  
 public void doDelete(HttpServletRequest request,  
   HttpServletResponse response) throws ServletException, IOException {  
 }  

 //Clean up resources  
 public void destroy() {  
 }  
}  

-------------------------------------  

如果是webwork  

xwork.xml  

   <action name="ajax" class="com.whw.upload.action.webwork.AjaxAction" method="ajax"/>  


AjaxAction.java  

import java.io.PrintWriter;  

public class AjexAlbumAction extends ActionSupport implements Action{  

  public void ajax()throws IOException {  
             PrintWriter pw = ServletActionContext.getResponse().getWriter();  
            ServletActionContext.getResponse().setContentType("text/html;charset=GBK");  
            pw.print(1);  
            pw.close();  
  }  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值