我只想通过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>");
}
}
问题是什么?
答案 0 :(得分:0)
要获取此URL,您必须将webapp部署为root webapp。 AFAIR,你只需要命名生成的战争ROOT.war来做到这一点。否则,应用程序将部署在上下文路径下,默认情况下是war文件的名称。所以如果你的战争是hello.war,那么URL应该是
http://localhost:8080/hello/HelloServlet