在webapps tomcat下创建新项目时出错

时间:2014-09-12 10:26:39

标签: java servlets

如何在tomcat webapps文件夹中创建一个新项目来运行Servlet?

我遵循了很多教程中提到的确切模式。即使我从webapps(默认'示例'项目)复制整个项目,也放在不同名称的同一个地方(webapps)。

但是当我尝试从浏览器(http:\ localhost:8080 \ FIRST \ MyServlet)调用它时,我收到与 HTTP状态404相同的错误。请求的资源不可用。

我在这里做错了什么,或者我必须在tomcat的某个地方提到新项目的名称?

有人可以帮我解决这个问题吗?

我已将我的Servlet文件放在 webapps-> first-> WEB-INF->类中 的 MyServlet.class

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class MyServlet extends GenericServlet
{
    public void service(ServletRequest req , ServletResponse res)
            throws IOException, ServletException
    {
        res.getWriter().write("<html><body>Hello</body> </html>");
    }
}

这是 webapps-&gt;上的web.xml文件,首先是&gt; WEB-INF-&gt; web.xml

的web.xml

<servlet>
      <servlet-name>MyServlet</servlet-name>
      <servlet-class>MyServlet</servlet-class>
</servlet>
<servlet-mapping>
      <servlet-name>MyServlet</servlet-name>
      <url-pattern>/MyServlet</url-pattern>
</servlet-mapping>

2 个答案:

答案 0 :(得分:1)

你需要说一下Servlet所在的tomcat。因此,请修改WEB-INF/web.xml文件并添加:

<servlet>
    <servlet-name>your-servlet</servlet-name>
    <servlet-class>your.package.servlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>your-servlet</servlet-name> <!-- the same as above ! -->
    <url-pattern>/your_servlet</url-pattern>
</servlet-mapping>

请注意,Servlet的类应该在WEB-INF/classes/文件夹中,包含完整的包结构。

如果您不想这样做硬编码,可以使用Eclipse JavaEE为您生成此文件。在这两种情况下都不要忘记重启服务器!

答案 1 :(得分:0)

目录是正确的,请尝试调用:

http:\localhost:8080\FIRST\MyFirstServlet\

而不是

http:\localhost:8080\FIRST\MyFirstServlet