Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 什么';Servlet Get和WebSerivce Rest Get之间的区别是什么?_Java_Rest_Curl_Servlets_Jersey - Fatal编程技术网

Java 什么';Servlet Get和WebSerivce Rest Get之间的区别是什么?

Java 什么';Servlet Get和WebSerivce Rest Get之间的区别是什么?,java,rest,curl,servlets,jersey,Java,Rest,Curl,Servlets,Jersey,当我开发一个servlet并重写doGet方法时,我可以访问URL中传递的参数值,比如req.getParameter(“myParam”)。URL将类似于。 对于RESTWebService(假设实现是Jersey)的情况,如果我像这样创建Get服务 @Get @Path("myfunction") @Compress @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JS

当我开发一个servlet并重写doGet方法时,我可以访问URL中传递的参数值,比如req.getParameter(“myParam”)。URL将类似于。 对于RESTWebService(假设实现是Jersey)的情况,如果我像这样创建Get服务

@Get
    @Path("myfunction")
    @Compress
    @Consumes(MediaType.APPLICATION_JSON)
    @Produces(MediaType.APPLICATION_JSON)
    public Response myfunction(@QueryParam("myParam") String myParam)
url将如下所示

这两个URl都可以使用curl或postman调用,但我不明白它们之间的区别是什么


我如何制作一个Get-Rest服务(使用jersey),使URL像这样,在后端我可以得到这个myparam


谢谢

,因为您返回的是
JSON
,所以这个函数可以用作web服务。对于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”
import java.util.List;
导入javax.ws.rs.GET;
导入javax.ws.rs.Path;
导入javax.ws.rs.QueryParam;
导入javax.ws.rs.core.Response;
@路径(“/users”)
公共类用户服务{
@得到
@路径(“/query”)
公众回应(
@QueryParam(“from”)int from,
@QueryParam(“to”)int to,
@QueryParam(“订购者”)列表订购者){
返回响应
.现状(200)
.entity(“调用getUsers,从:“+from+”,到:“+to
+,orderBy“+orderBy.toString()).build();
}
}
URL模式如下
URI模式:“用户/查询?from=100&to=200&orderBy=age&orderBy=name”

注意,
GET
方法并不意味着您需要传递查询参数。没有任何查询参数的简单url也可以使用
GET
方法。如前所述,我不确定,你的实际问题是什么。我如何制作一个Get-Rest服务(使用jersey),这样URL就会像这样,并且在后端我可以得到这个myparam?(有可能吗?)这里有一个详细的教程,您需要导入jersy api和libs以使其工作
RESTful
url模式不同于使用querystring。Read@RavinderReddy表示同意,但这个url将返回json,然后可以对其进行解析和利用。lol,如果您已经知道,那么为什么要发布这个问题?即使你们发布了问题,那个么你们也应该发布你们自己的答案,而不是某个已经存在的链接。如果明天这个链接断了怎么办?