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

我遵循了很多教程中提到的确切模式。甚至我都从webapps复制整个项目(默认为“ examples”项目),并以不同的名称放在同一个地方(webapps)。

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

我在这里做错了什么,还是在tomcat的某个地方不得不提到新项目的名称?

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

我已经将我的Servlet文件放入webapps-> first-> WEB-INF-> classes中
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>");
    }
}


这是我的web.xml文件,位于webapps-> first-> WEB-INF-> 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>

最佳答案

您需要说出Tomcat在哪里Servlet。因此,编辑您的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为您生成此文件。在两种情况下都不要忘记重启服务器!

关于java - 在webapps tomcat下创建新项目时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25806157/

10-09 13:43