如何在tomcat服务器上运行servlet

时间:2011-08-04 07:18:10

标签: tomcat servlets

我创建了以下java文件,编译它并得到.class文件。

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

public class HelloWorld extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<body>");
    out.println("<head>");
    out.println("<title>First Example</title>");
    out.println("</head>");
    out.println("<body>");
    out.println("<h1>Hello World!</h1>");
    out.println("</body>");
    out.println("</html>");
}
}

现在我在apache-tomcat-6.0.32 / webapps目录下创建了目录abc / WEB-INF / classes 所以我的classFile Path是:apache-tomcat-6.0.32 / webapps / abc / WEB-INF / classes / HelloWorld.class 并尝试访问http://localhost:8080/abc/WEB-INF/classes/HelloWorld,但收到错误 “请求的资源(/ abc / HelloWorld)不可用”

我哪里错了?或者我是否必须指定其他配置?

2 个答案:

答案 0 :(得分:24)

您必须在web.xml

中定义您的servlet
<servlet>
   <servlet-name>HelloWorld</servlet-name>
   <servlet-class>yourpackage.HelloWorld</servlet-class>
</servlet>

然后定义从URL到servlet的映射

<servlet-mapping>
    <servlet-name>HelloWorld</servlet-name>
    <url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>

最后输入以下网址: http://localhost:8080/abc/HelloWorld

答案 1 :(得分:2)

您需要在web.xml

中配置您的servlet