小弟想学下AJAX  但是开始就碰到麻烦了,求大家帮助下
JS是这些么的<script type="text/javascript">
function creatXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp=new ActiveXObject('MIcrosoft.XMLHTTP');
}else if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}

}function validate(p){ creatXMLHttpRequest();
var url = "servlet/UpdateByPort?id="+p;
xmlHttp.open("get",url,true);
xmlHttp.onreadystatechange=callback;
xmlHttp.send(null);

}function callback(){ if(xmlHttp.readyState==4){

if(xmlHttp.status==200){
var mes= xmlHttp.responseText;
setMessage(mes);

}else{
   alert(xmlHttp.status);
}
}
}function setMessage(message){
var messageArea=document.getElementById("di");
messageArea.innerHTML="<h1>"+message+"</h1>";
}  
    </script>
写了一个servlet 名字为UpdateByPort 重写了doGet方法
web.xml文件是这么写的  <servlet>
    <description>This is the description of my J2EE component</description>
    <display-name>This is the display name of my J2EE component</display-name>
    <servlet-name>UpdateByPort</servlet-name>
    <servlet-class>com.helphand.servlet.UpdateByPort</servlet-class>
  </servlet>  <servlet-mapping>
    <servlet-name>UpdateByPort</servlet-name>
    <url-pattern>/servlet/UpdateByPort</url-pattern>
  </servlet-mapping>
一直得不到想要的输出,(我随便在重写的doGet语句里输出了字符串)
alert(xmlHttp.status);
提示的就是404  意思就是没找到个那servlet?
我想配置应该没错吧

解决方案 »

  1.   

    你确信“servlet/UpdateByPort”这是一个有效的url地址?明显是url地址不存在嘛。
      

  2.   

    你配置文件中:/servlet/UpdateByPort
    你页面中:var url = "servlet/UpdateByPort?id="+p;要把页面中和配置文件保持一致:/servlet/UpdateByPort
      

  3.   

    按照楼上的做法还是找不到 还是404
    但是我换成绝对路径
    /account/servlet/UpdateByPort  就行了
    account 是工程名