2011-04-26 87 views
1

我創造使用Eclipse和tomcat7一個web應用程序,我不得不在HTML文件中的以下代碼和Java servlet類 在HTML文件中:HTTP狀態404:所需的資源沒有找到

<form action="UserAccessServlet" method = "get"> 

在servlet類我有

@WebServlet ("/UserAccessServlet") 

然後我就做了一些小的變化(新println語句),但它沒有顯示出效果我用下面的代碼peice的改變服務器名稱

HTML文件:<form action="SQA_Servlet" method = "get"> java類:@WebServlet ("/SQA_Servlet")

但似乎沒有重載發生,我得到了以下錯誤:

HTTP Status 404 - /SQA_Learning/SQA_Servlet 

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

type Status report 

message /SQA_Learning/SQA_Servlet 

description The requested resource (/SQA_Learning/SQA_Servlet) is not available. 

我試圖清理模塊,刷新,關閉重新打開項目同樣的結果

我換成@WebServlet ("/SQA_Servlet")@WebServlet(urlPatterns={"/SQA_Servlet"})

,仍然沒有效果..任何suggesti上。

+0

這會有幫助嗎? http://dev.eclipse.org/newslists/news.eclipse.webtools/msg15886.html – VonC 2011-04-26 07:19:24

+0

[http status 404:server not found]的可能重複(http://stackoverflow.com/questions/5763588/http-status -404服務器未找到) – 2011-04-28 11:12:12

回答

0

WebServletname屬性不能以/開頭。寧做,

@WebServlet("UserAccessServlet") 

或留空(如果你想WebServlet使用你的servlet類名的名稱,例如:

@WebServlet 
public class UserAccessServlet extends HttpServlet { 


//Do stuff 
} 

建議聲明你WebServlet註釋完全一樣在this example

0

我不確定何時以及在什麼條件下您收到此錯誤。但是,如果您正在部署到tomcat,可能會發生以下情況:

假設你的web應用被稱爲「my.webapp」,導致my.webapp.war 假設你有一個Servlet「servlet1」執行動作1 =>@WebServlet(urlPatterns = "/action1")(注意在動作1的前面的斜線)

假設您調用了HTML表單這個動作: <form action="/action1" method="GET">這可能不是因爲斜線在動作1

前工作當它的存在tomcat會重定向到本地主機:8080 /動作1 .. 而它應該重定向到本地主機:8080/my.project/action1?..

解決方案改變HTML這樣的形式如下: <form action="action1" method="GET">,不改變@WebServlet(urlPatterns = "/action1")

希望這可以幫助別人!