Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.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 我可以创建自己的标题字段供我和访问web应用程序的客户使用吗?_Java_Jakarta Ee_Web Applications_Http Headers - Fatal编程技术网

Java 我可以创建自己的标题字段供我和访问web应用程序的客户使用吗?

Java 我可以创建自己的标题字段供我和访问web应用程序的客户使用吗?,java,jakarta-ee,web-applications,http-headers,Java,Jakarta Ee,Web Applications,Http Headers,我使用了一些标题字段,如: X-AppEngine-Country X-AppEngine-City (X表明它们是非标准的头字段。)我在想,如何实现/设置自己的Http头字段以供客户端使用?上述标题字段定义为由google appengine上托管的web应用程序使用~ 根据您的问题,我不确定您是否希望强制客户端向您发送这些自定义头,或者在服务器的响应中设置这些自定义头。 如果使用JAX-RS(Jersey)的Java实现使用RESTAPI,那么从请求中获取头或在响应中设置头是相当简单的。

我使用了一些标题字段,如:

X-AppEngine-Country
X-AppEngine-City

X
表明它们是非标准的头字段。)我在想,如何实现/设置自己的Http头字段以供客户端使用?上述标题字段定义为由google appengine上托管的web应用程序使用~

根据您的问题,我不确定您是否希望强制客户端向您发送这些自定义头,或者在服务器的响应中设置这些自定义头。 如果使用JAX-RS(Jersey)的Java实现使用RESTAPI,那么从请求中获取头或在响应中设置头是相当简单的。 下面的示例显示了这两种情况

@GET
public Response getClientMessage(@Context HttpContext context) {
    // fetch the header values into a multi valued map
    MultivaluedMap<String, String> headerMap = context.getRequest().getRequestHeaders();

    // If the required headers are not found throw a bad request
    //    throw new WebApplicationException(Status.BAD_REQUEST);

    // Setting the headers on the response
    return Response.ok()
        .header("X-AppEngine-Country", "US")
        .header("X-AppEngine-City", "California").build();
}
@GET
公共响应getClientMessage(@Context-HttpContext-Context){
//将标题值提取到多值映射中
多值Map headerMap=context.getRequest().getRequestHeaders();
//如果未找到所需的标头,则抛出错误的请求
//抛出新的WebApplicationException(Status.BAD_请求);
//在响应上设置标题
返回Response.ok()
.标题(“X-AppEngine-Country”、“美国”)
.header(“X-AppEngine-City”、“加利福尼亚”).build();
}
希望这有帮助