0

我只想通过 url: 运行 HelloServlet http://localhost:8080/HelloServlet。但它显示请求的资源 (/HelloServlet) 不可用。我使用tomcat 7.0.28。

从 运行localhost:8080,它显示页面。

HelloServlet 代码:

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;

@WebServlet("/HelloServlet")
public class HelloServlet extends HttpServlet {
  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
      throws ServletException, IOException {
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    String docType =
      "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 " +
      "Transitional//EN\">\n";
    out.println(docType +
                "<HTML>\n" +
                "<HEAD><TITLE>Hello</TITLE></HEAD>\n" +
                "<BODY BGCOLOR=\"#FDF5E6\">\n" +
                "<H1>Hello</H1>\n" +
                "</BODY></HTML>");
  }
}

问题是什么?

4

1 回答 1

0

要获取此 URL,您必须将 web 应用程序部署为根 web 应用程序。AFAIR,您只需将生成的战争命名为 ROOT.war 即可。否则,应用程序将部署在上下文路径下,默认情况下,该路径是 war 文件的名称。因此,如果您的战争是 hello.war,则 URL 应该是

http://localhost:8080/hello/HelloServlet
于 2012-06-29T22:08:57.173 回答