http状态404:找不到所需的资源

时间:2011-04-26 06:37:47

标签: java eclipse tomcat7 tomcat java-server

我使用eclipse和tomcat7创建了一个Web应用程序我在html文件和java servlet类中有以下代码 在html文件中:

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

在我的servlet类中

@WebServlet ("/UserAccessServlet")

然后我做了一些小的更改(新的println语句),但它显示没有效果我用下面的代码改变了服务器名称

html文件:<form action="SQA_Servlet" method = "get"> java class:@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"})

仍然没有效果..任何建议。

2 个答案:

答案 0 :(得分:0)

WebServlet name属性不能以/开头。相反,

@WebServlet("UserAccessServlet")

或将其留空(如果您希望WebServlet使用Servlet类名的名称。示例:

@WebServlet
public class UserAccessServlet extends HttpServlet {


//Do stuff
}

我会建议this example中完全宣布您的WebServlet注释。

答案 1 :(得分:0)

我不确定您何时以及在什么条件下您收到此错误。但是如果要部署到tomcat,可能会发生以下情况:

假设您的webapp被称为“my.webapp”,导致my.webapp.war 假设您有一个Servlet“servlet1”,它执行action1 =&gt; @WebServlet(urlPatterns = "/action1")(注意action1前面的斜线)

假设您使用html表单调用此操作: <form action="/action1" method="GET">这可能不起作用,因为action1前面的斜杠

什么时候tomcat会重定向到localhost:8080 / action1?.. 它应该重定向到localhost:8080 / my.project / action1?..

解决方案改变了html,因此表单如下所示: <form action="action1" method="GET">,请勿更改@WebServlet(urlPatterns = "/action1")

希望这有助于某人!