2

我对 @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());


}
 }

谢谢!

4

1 回答 1

1
"what's the difference, and which is a better way to go"

@GET、@PUT、@POST、@DELETE 和 @HEAD 注释是 JAX-RS 的一部分:用于 RESTful Web 服务规范的 Java API,用于指定资源的 HTTP 请求类型,并在 Jersey 和 Apache 等 Web 服务框架中实现CXF,在您实际使用这些框架之前,您不会使用它们。

维基 JAX-RS

"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>
于 2012-07-03T15:55:21.060 回答