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