java - 在webapps tomcat下创建新项目出错

标签 java servlets

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

我遵循了许多教程中提到的确切模式。即使我从 webapps 复制整个项目(默认“示例”项目)并以不同的名称放在同一位置(webapps)。

但是当我尝试从浏览器 (http:\localhost:8080\FIRST\MyServlet) 调用它时,我收到与 HTTP Status 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/

相关文章:

java - 集合的序列化

java - 在自定义身份验证过滤器中处理 Spring Boot 上的错误

java - 将 html 设计集成到 servlet

java - 如何在 servlet 上设置内容类型

java - 使用计时器自动提交测试页面中的单选按钮

java - 使 Servlet 2.5 代码与 Servlet 3.0 兼容,反之亦然

java - Hibernate 映射错误 "A Foreign key refering has the wrong number of column. should be 2"

java - 删除 HTML 实体及其内容

java - 递归进入executePendingTransactions,即使使用getChildFragmentManager

java - 从 Servlet/JSP 调用 Unix Shell 命令