Servlet Get和Web Service Rest之间的区别是什么? [重复]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Servlet Get和Web Service Rest之间的区别是什么? [重复]相关的知识,希望对你有一定的参考价值。
这个问题在这里已有答案:
当我开发一个servlet并过度使用doGet方法时。我可以访问URL中传递的参数值,如req.getParameter(“myParam”)。该URL将类似于http://mysite:8080/APP?myParam=123。对于Rest Webservice(假设实现是Jersey)的情况,如果我像这样制作Get Service
@Get
@Path("myfunction")
@Compress
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response myfunction(@QueryParam("myParam") String myParam)
网址就像这个http://mysite:8080/APP/myfunction/123
URl都可以使用curl或postman调用。但是我不明白它们之间的区别是什么?
我如何制作一个获取休息服务(使用球衣),以便URL将像这个http://mysite:8080/APP?myParam=123和后端我可以得到这个myparam?
谢谢
因为你要返回JSON
所以这个相同的功能可以用作webservice。在servlet的情况下,我们通常重定向或加载另一个页面(ftl,jsp等),但在此函数中,因为它希望您生成JSON作为输出,所以是的,您也可以将它用作服务。
我们通常面临的另一个不同之处是,应用程序中的功能是安全的,我们需要在访问特定的GET
呼叫之前登录。
在这里,您不需要任何身份验证,它是一个简单的GET
调用,它输出JSON
,因此您也可以将此特定功能用作Web服务。
这很简单,只需使用@queryparam就可以了。示例:
import java.util.List;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Response;
@Path("/users")
public class UserService {
@GET
@Path("/query")
public Response getUsers(
@QueryParam("from") int from,
@QueryParam("to") int to,
@QueryParam("orderBy") List<String> orderBy) {
return Response
.status(200)
.entity("getUsers is called, from : " + from + ", to : " + to
+ ", orderBy" + orderBy.toString()).build();
}
}
the URL pattern will be like
URI Pattern : “users/query?from=100&to=200&orderBy=age&orderBy=name”
以上是关于Servlet Get和Web Service Rest之间的区别是什么? [重复]的主要内容,如果未能解决你的问题,请参考以下文章