我正在 Tomcat 7.0.37 和 Eclipse 3.7 上开发一个示例 servlet。我当前的问题是让它可以运行
//...imports and so on...
@WebServlet(value="/Hello")
public class AdminServlet extends HttpServlet
{
private static final long serialVersionUID = -1139419481702036147L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
super.doGet(req, resp);
PrintWriter writer = resp.getWriter();
writer.write("HelloWorld");
writer.close();
}
}
当我调用URL
http://localhost:8080/{webappname}/Hello
时,窗口变成了
“状态 404 - 资源不可用”。
有什么问题吗?
就像大多数 Servlet 3.0 示例一样。
以下是一些原因:
创建
{webappname}.war
,放入webapps
目录并重启服务器。
问题是您没有将 servlet 映射到正确的 url 模式。 servlet 名称应该映射到 URl 模式。但在你的代码中它还没有完成。
要使用注释正确执行此操作,请参阅以下内容。
@WebServlet( name="AdminServlet", displayName="Admin Servlet", urlPatterns ={"/Hello","*.do"})
public class AdminServlet
我发现了我的问题:我必须删除“super().doGet();”