1. package org.ml.drp.servlet;  

  2. import java.io.IOException;  

  3. import javax.servlet.ServletException;  

  4. import javax.servlet.http.HttpServlet;  

  5. import javax.servlet.http.HttpServletRequest;  

  6. import javax.servlet.http.HttpServletResponse;  

  7. import org.ml.drp.basedata.manager.ItemFactory;  

  8. publicclass ItemValidate extends HttpServlet {  

  9. privatestaticfinallong serialVersionUID = 1L;  

  10. public ItemValidate() {  

  11. super();  

  12.     }  

  13. publicvoid destroy() {  

  14. super.destroy();    

  15.     }  

  16. publicvoid doGet(HttpServletRequest request, HttpServletResponse response)  

  17. throws ServletException, IOException {   

  18. this.doPost(request, response);  

  19.     }  

  20. publicvoid doPost(HttpServletRequest request, HttpServletResponse response)  

  21. throws ServletException, IOException {  

  22.         String itemNo = request.getParameter("itemNo");//取得物料代码

  23. if(ItemFactory.getInstance().getItemManager().findItemById(itemNo)!=null){ //查询数据库

  24.             response.getWriter().print("<font color=\"red\">代码已存在</font>");  

  25.         }else{  

  26.             response.getWriter().print("<font color=\"green\">OK!</font>");  

  27.         }  

  28.     }  

  29. publicvoid init() throws ServletException {   

  30.     }  

  31. }  

配置servlet的代码:web.xml
  1. <servlet>

  2. <servlet-name>ItemValidate</servlet-name>

  3. <servlet-class>org.ml.drp.servlet.ItemValidate</servlet-class>

  4. </servlet>

  5. <servlet-mapping>

  6. <servlet-name>ItemValidate</servlet-name>

  7. <url-pattern>/item_validate</url-pattern>

  8. </servlet-mapping>

页面中的ajax验证代码:
  1.         <script type="text/javascript">  

  2. var xmlHttp   

  3. function createXMLHttpRequest(){  

  4. if(window.XMLHttpRequest){  

  5.             xmlHttp = new XMLHttpRequest();  

  6.         }elseif(window.ActiveXObject){   

  7.             xmlHttp = new window.ActiveXObject("Microsoft.XMLHTTP");  

  8.         }  

  9.     }  

  10. function checkItemNo(itemNo){  

  11. if(trim(itemNo.value)!=""){  

  12.             createXMLHttpRequest();//创建Ajax核心对象XMLHttpRequest

  13. var url = "../item_validate?itemNo="+trim(itemNo.value) + "&time="+new Date().getTime();  

  14. //设置请求方式为get,设置 url请求,设置为异步提交 

  15.             xmlHttp.open("get",url,true);  

  16. //将方法地址赋值给属性 

  17.             xmlHttp.onreadystatechange=function(){//使用匿名对象进行 

  18. if(xmlHttp.readyState==4){//响应完成 

  19. if(xmlHttp.status==200){//请求成功 

  20. var itemNoSpan = document.getElementById("itemNoSpan");   

  21.                         itemNoSpan.innerHTML=xmlHttp.responseText;  

  22.                     }else{  

  23.                         alert("物料代码验证请求失败,请联系管理员")     

  24.                     }  

  25.                 }  

  26.             };  

  27. //将设置的信息发送给Ajax引擎 

  28.             xmlHttp.send(null);   

  29.         }else{   

  30.             document.getElementById("itemNoSpan").innerHTML="<font color='red'>物料代码不能为空</font>";   

  31.         }   

  32.     }    

  33. </script>  

对应的需要验证的标签代码:
  1. <td>

  2. <inputname="itemNo"type="text"class="text1"id="itemNo"size="10"maxlength="10"onblur="checkItemNo(this)"onclick="document.getElementById('itemNoSpan').innerHTML=''; ">

  3. <spanid="itemNoSpan"></span>

  4. </td>