2013-03-31 356 views
0

我想第一次使用ajax,json,並且我正面臨404錯誤。 該問題描述了/ login沒有找到,雖然我已經在web.xml中使用url pattern/login定義了LoginServlet。下面是web.xml中NetworkError:404 Not Found - http:// localhost:8080/login

<servlet> 
    <description></description> 
    <display-name>LoginServlet</display-name> 
    <servlet-name>LoginServlet</servlet-name> 
    <servlet-class>com.login.LoginServlet</servlet-class> 

    </servlet> 
    <servlet-mapping> 
    <servlet-name>LoginServlet</servlet-name> 
    <url-pattern>/login</url-pattern> 
    </servlet-mapping> 

下面的代碼是爲login.js

function Login(){ 
    console.log("in login function"); 
    var userId=$('#username').val(); 
    var pass=$('#password').val(); 

    if(userId=="" || pass==""){ 
     alert("UserId or Password cannot be blank!"); 
     document.getElementById("username").focus(); 
    }else{ 
     var url='/login'; 
     var dataString= 'action=login&userId='+userId+'&pass='+pass; 
     $.ajax({ 
      type: 'POST', 
      url: url, 
      data: dataString, 
      success: function (data){ 
       var loggedIn=data.html(); 
       console.log(loggedIn + " " + data); 
       $('#loggedIn').val(loggedIn); 
       $('#loggedIn').show(); 
      } 
      }); 
    } 

我使用的服務方法LoginServlet代替的doGet()和doPost()的代碼。

回答

0

我想你試圖訪問一個web應用程序中的login servlet,因此它應該是http://localhost:8080/webApp/login對不對?由於您試圖訪問localhost:8080/login,您將收到404錯誤。

您應該將ajax調用中的url更改爲login而不是/login。也嘗試訪問一個正常的瀏覽器窗口中的網址,看看你有什麼回覆..

0

嘗試http://localhost/{web-app-name}/login

一般來說,在web-app目錄是代碼被部署。 另外,檢查輸入的端口是否正確。

+0

有什麼辦法,我可以使用它,而讓網絡應用程序的目錄名。 – rkj

+0

它是否在使用網絡應用程序目錄名稱 –

+0

是的,它也可以使用網絡應用程序目錄名稱,也可以在登錄前刪除/。 – rkj

0

你有沒有試圖直接看到網址,只是爲了檢查它的工作?另外,首先嚐試一個簡單的HTML表單,不要使用Ajax,純HTML,只是在發佈到該URL時檢查結果。

0

我在我的應用程序中沒有使用/

嘗試

var url='login'; 
相關問題