0

我的 servlet 应用程序是

package p1;
import javax.servlet.*;
import java.io.*;

public class MyServ extends GenericServlet{
 public void init(ServletConfig con){
    System.out.println("INIT");
 }

 public void service(ServletRequest req,ServletResponse res) throws ServletException,IOException{
    PrintWriter pw=res.getWriter();
    pw.println("HELLO");
    pw.close();
 }
}

和我的网络。xml文件是

<web-app>
 <servlet>
  <servlet-name>sai</servlet-name>
  <servlet-class>p1.MyServ</servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>sai</servlet-nsame>
  <url-pattern>/abc</url-pattern>
</servlet-mapping>
</web-app>

我已将 WEB-INF 文件夹粘贴到 tomcat 6.0 的 webapp 文件夹中。WEB-INF 文件夹有类和 web.xml 文件。classes 文件夹有我的 java 程序的包。当我尝试在浏览器中运行我的 servlet 时,它显示

HTTP 状态 404 - 类型 状态报告消息描述 请求的资源不可用。

我在做什么错误?

4

4 回答 4

1

您必须重新启动服务器以应用 web.xml 更改。确保您已重新启动服务器。

于 2013-06-14T10:28:36.820 回答
1

不要在 webapp forder 中复制 WEB-INF。例如,创建单独的应用程序文件夹,test然后将 WEB-INT 复制到test您的 servlet 将在 URL 上可用

http://localhost:<port>/test/abc

<TOMCAT_HOME>
 |-webapps
    |-manager
    |-data
    |-docs
    |-host-manager
    |-ROOT
    |_test <--- create this folser
      |-WEB-INF
         |-classes <--classes 
         |-lib <-- librares
         |-web.xml 

您也可以在 ROOT 中复制它,在这种情况下,您的 servlet 将在 URL 上可用

http://localhost:<port>/abc
于 2013-06-14T10:33:10.393 回答
0

首先通过键入 localhost:2020 检查您的 tomcat 服务器是否已启动,如果您获得了 tomcat 页面,则它已启动

于 2013-06-14T10:30:45.893 回答
0

您应该粘贴到 webapp/FirstApp 文件夹。因此 Tomcat 可以为您的应用程序提供上下文。

于 2013-06-14T10:28:20.570 回答