Java Servlet 3.0 API-注册Servlet
我正在Tomcat7.0.37和Eclipse3.7上开发一个示例servlet。我当前的问题是让它运行起来:( 当我调用URLJava Servlet 3.0 API-注册Servlet,java,servlets,servlet-3.0,Java,Servlets,Servlet 3.0,我正在Tomcat7.0.37和Eclipse3.7上开发一个示例servlet。我当前的问题是让它运行起来:( 当我调用URL”时http://localhost:8080/{webappname}/Hello“一个窗口变为“状态404-资源不可用”。有什么问题吗 这与大多数Servlet 3.0示例类似:(以下是一些原因: 确保您的Servlet容器支持Servlet 3.0。大多数容器都应该支持 确保您的web.xml版本为3.0。对于web.xml版本
”时http://localhost:8080/{webappname}/Hello“
一个窗口变为“状态404-资源不可用”。有什么问题吗
这与大多数Servlet 3.0示例类似:(以下是一些原因:
- 确保您的Servlet容器支持Servlet 3.0。大多数容器都应该支持
- 确保您的web.xml版本为3.0。对于web.xml版本<3.0,可能无法处理批注
- 确保元数据完整属性为false。如果为true,则可能无法处理批注
{webappname}.war
,将其放入webapps
目录并重新启动服务器。问题是您没有将servlet映射到正确的url模式。servlet名称应该映射到url模式。但在您的代码中没有这样做
要正确使用注释,请参见以下内容
@WebServlet( name="AdminServlet", displayName="Admin Servlet", urlPatterns ={"/Hello","*.do"})
public class AdminServlet
我发现了我的问题:我必须删除“super().doGet();”你确定应用程序已经部署在服务器上并启动了吗?当然……日志文件说了;-)问题是他使用的是Tomcat 7,所以第一个原因已经解决了。所以,一般来说,它可能是接下来的两个原因。我只安装了JDK7@GeorgeKrause:确保Java_主页是否指向该SDK,而不是系统中的默认JRE。它指向SDK@GeorgeKrause:发现问题。我已更新答案,但没有正确的url映射,它是如何工作的?
@WebServlet( name="AdminServlet", displayName="Admin Servlet", urlPatterns ={"/Hello","*.do"})
public class AdminServlet