如何在 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/