我正在使用此链接http://www.roseindia.net/servlets/
创建我的第一个servlet这是我在Eclipse ServletDemo中的servlet-> Java Resources-> src->(默认包) - > HelloServlet.java
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloServlet extends HttpServlet{
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException,IOException{
response.setContentType("text/html");
PrintWriter pw = response.getWriter();
pw.println("<html>");
pw.println("<head><title>Hello World</title></title>");
pw.println("<body>");
pw.println("<h1>Hello World</h1>");
pw.println("</body></html>");
}
}
这是我的web.xml文件
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>Hello</servlet-name>
<servlet-class>HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Hello</servlet-name>
<url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>
</web-app>
我正在使用Tomcat服务器,我还为servlet-api.jar设置了环境变量。 但是在运行时我遇到了以下错误:
HTTP状态404-Servlet Hello不可用。
答案 0 :(得分:2)
Servlet可能不再存在于默认包中;创建一个包并将servlet移动到它(取决于你正在使用的Tomcat上的版本)。
与您尝试从浏览器访问它的方式相比,您部署/运行servlet的方式也很重要 - 您需要指定一个上下文,如果您将其部署到除了根上下文。
(我也倾向于指出人们远离该网站的教程,因为他们经常......误导。虽然我知道这只是一个教程,但请记住,从这样的servlet中生成HTML本质上是从来没有你想做的事情:)