2011-04-26 88 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")

希望这可以帮助别人!