如何在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>
答案 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