在 Java EE 中,我注意到您可以将 uri 的路径指定为
@Path("/SomePath")
public class MyClass
或者
@WebServlet("/SomePath")
public class MyClass extends HttpServlet
我认为@Path 用于非servlet 的东西,而@WebServlet 用于servlet。但它们是否有效地达到了相同的目的?
关于@Path 的信息可以在这里找到:
http://docs.oracle.com/cd/E19798-01/821-1841/6nmq2cp26/index.html
但乍一看,它似乎提供了一些基本功能,如@WebServlet。
最佳答案
@Path
注释定义了 RESTful Web 服务的路径,因此当您拥有 @Path("/SomeService")
时,它将转换为 www.yourapp.com/baseRestUrl/SomeService
。您还可以在提供 REST 服务的方法上定义它。请注意,baseRestUrl
是在 web.xml
或扩展 Application
类的类中定义的。
另一方面 @WebServlet("/SomePath")
声明 Servlet 将监听 www.yourapp.com/SomePath
上的请求,它基本上是替换 servlet-mapping
中的 web.xml
元素。您仍然可以像这样配置 servlet,这取决于您是喜欢 XML 还是注释配置。