我对 @Path("/path") 与 @POST 方法与 doPost(HttpServletRequest request, HttpServletResponse response) 方法的 HttpServlet 用法有点困惑。我见过许多使用 @Path 的很好的工作示例,但从未见过 doPost 的工作示例。每当我尝试使用 doPost 时,它都不会被调用。
首先,有什么区别,哪种方法更好?另外,我在 doPost 上做错了什么
public class PostExample extends HttpServlet{
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
// HttpServlet doPost never gets called
System.out.println("hit test doPost "+request.getRequestURI());
}
}
谢谢!
最佳答案
"what's the difference, and which is a better way to go"
注解@GET、@PUT、@POST、@DELETE 和@HEAD 是 JAX-RS 的一部分:RESTful Web 服务规范的 Java API,用于指定资源的 HTTP 请求类型,并在 Web 服务框架中实现,例如Jersey 和 Apache CXF,在您实际使用这些框架之前,您不会使用它们。
"what am I doing wrong with the doPost"
您需要在 web.xml 中指定 servlet
<servlet>
<servlet-name>PostExample</servlet-name>
<servlet-class>com.examples.PostExample</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>PostExample</servlet-name>
<url-pattern>/myservlet/*</url-pattern>
</servlet-mapping>
关于java - 使用 @Path ("/path"的 HttpServlet 与 @POST 对比 doPost,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11314418/