`
- 浏览:
32938 次
-
继昨天学习的jersey简单使用,今天进行了稍微深入一点的学习。
jersey客户端调用webresources的get服务。
jersey 相关jar的加入,web.xml的里面的配置,在上一篇 jersey 简单学习中已经有介绍。这里我们就直接分析服务端和客户端代码了。
我的服务地址: http://localhost:8080/jerseydemo
server端:包名依然是
cn.thinkjoy.jerseydemo.resources;
类名: HelloWorldRs
package cn.thinkjoy.jerseydemo.resources;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
@Path("{helloWorldRs}")
public class HelloWorldRs {
Map<String, String> map = new HashMap<String, String>();
public HelloWorldRs() {
map.put("1", "111");
map.put("2", "222");
map.put("3", "333");
}
@GET
@Path("/sayHello")
@Produces(MediaType.TEXT_PLAIN)
public String sayHelloByGet(@QueryParam("from") String fromValue,
@Context HttpServletRequest request) {
System.out.println(fromValue);
return "hello world " + map.get(fromValue);
}
}
客户端:package cn.thinkjoy.jerseydemo.client;
import javax.ws.rs.core.MultivaluedMap;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.core.util.MultivaluedMapImpl;
public class JerseyClient {
//因为我在web.xml中配置的请求匹配是 /rest/*
//所以这里到项目的目录jerseydemo后需要加上 /rest
String url = "http://localhost:8080/jerseydemo/rest";
public static void main(String[] args) {
new JerseyClient().sayHelloTest();
}
public void sayHelloTest(){
//创建一个默认的client
Client client = Client.create();
//创建webresource
WebResource webResource = client.resource(url+"/helloWorldRs/sayHello");
//添加请求需要的参数
MultivaluedMap<String, String> queryParam= new MultivaluedMapImpl();
queryParam.add("from", "1");
String str = webResource.queryParams(queryParam).get(String.class);
System.out.println(str);
}
}
启动服务端之后,运行客户端程序,即得到答案:hello world 111
同样在浏览器上试一下:http://localhost:8080/jerseydemo/rest/helloWorldRs/sayHello?from=1
也得到答案: hello world 111
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
4. **资源类与资源方法**:资源类是包含资源方法的Java类,资源方法对应HTTP请求的操作。例如,你可以定义一个处理GET请求的方法来获取资源信息。 5. **服务启动与部署**:学习如何配置和启动Jersey应用,这可能...
或者,可以使用Postman等工具直接发送HTTP请求进行测试。 7. **文件上传和下载**:在Spring Boot和Jersey中,可以处理文件上传和下载。例如,通过`@FormDataParam`注解接收上传文件,然后存储到服务器;下载则可以...
jersey-client则是Jersey框架的客户端组件,它允许开发者从Java应用中发起HTTP请求并处理响应。这个库提供了对RESTful服务的访问能力,可以用来调用其他服务器上的REST API。通过jersey-client,开发者可以创建、...
这是Jersey的客户端库,它提供了创建和发送HTTP请求以及处理响应的功能。开发者可以使用这个库来与RESTful服务进行交互,例如GET、POST、PUT、DELETE等HTTP方法。它包含了构建请求实体、处理响应头和实体、以及执行...
1. **默认请求(request)**: 当不使用任何特定注解时,REST 服务的生命周期与单个 HTTP 请求相同。这意味着每个请求都会创建一个新的服务实例,请求完成后实例会被销毁。这种模式确保了服务类的线程安全性,因为每...
Jersey提供了测试框架,可以直接在JUnit中编写测试用例,模拟HTTP请求来测试服务。此外,通过开启Jersey Debug模式,可以查看更详细的日志,便于调试。 通过上述介绍,我们可以看出Jersey是一个强大且灵活的RESTful...
1. **Jersey Server**:这是用于构建服务器端应用程序的部分,它包含了处理HTTP请求的基本功能。 2. **Jersey Core**:这部分包含了Jersey框架的核心组件和API,包括HTTP客户端、消息体提供者等。 3. **集成(如与...
通过官方文档,开发者可以学习如何配置服务,定义资源类,处理HTTP请求方法(GET、POST、PUT、DELETE等),以及如何利用注解进行参数绑定和验证。 在实际开发中,使用Jersey1.18时,首先需要在项目的类路径下添加...
4. **webapi**:这个文件名可能是项目中的Web应用程序结构的一部分,可能包含Jersey配置、资源类(处理HTTP请求的Java类)、MVC视图(如果项目包含前端视图)以及其他支持文件。开发者可以通过这个目录结构了解项目...
2. **jersey-client**: 提供了构建RESTful客户端应用程序的API,可以发送HTTP请求并处理响应。 3. **jersey-server**: 包含了用于构建RESTful服务端应用程序的组件,如资源定位、请求处理和响应生成。 4. **jersey...
2. **JAX-RS 注解**:Jersey 支持 JAX-RS 规范中的注解,如 `@Path`、`@GET`、`@POST`、`@PUT`、`@DELETE` 等,这些注解用于定义资源路径和 HTTP 方法映射。 3. **Message Body Workers**:Jersey 提供了一套默认的...
1. jersey-server:核心服务组件,负责处理HTTP请求和响应。 2. jersey-client:客户端API,用于发起HTTP请求。 3. jersey-servlet:Servlet容器中部署REST服务所需的库。 4. jersey-container-servlet:Servlet 3.0...
1. **Jersey API调用方式**:这可能涵盖如何使用Jersey客户端API来发起HTTP请求,获取或发送数据。这可能包括创建`Client`实例,定义`WebTarget`,使用`Invocation.Builder`构建请求,以及处理响应。可能还涉及了...
2. 在资源类中定义处理HTTP请求的方法,并使用`@GET`, `@POST`等注解。 3. 配置Jersey以加载你的资源类,这通常在Web应用的初始化阶段完成。 4. 启动你的应用,现在可以通过HTTP客户端(如curl或浏览器)访问你的...
在"Jersey+Spring Demo"中,Jersey负责处理HTTP请求,将这些请求映射到相应的服务方法,然后返回响应。 **Spring框架**则是一个全面的企业级应用开发框架,它提供了依赖注入(DI)、面向切面编程(AOP)以及许多...
Jersey作为Java中的RESTful服务实现库,提供了丰富的API和工具,使得开发者能够方便地创建RESTful服务端点,处理HTTP请求,并返回适当的数据响应。在Java Jersey Demo中,我们可以看到如何定义资源类,使用注解来...
标题中的"jersey1.18 jar包"指的是Jersey框架的1.18版本的库文件,这个版本在REST服务开发中扮演着核心角色,包含了处理HTTP请求、响应,以及各种资源处理的功能。 该描述提到"rest接口所使用的jar包及相关文档",...
这些标签明确了技术栈,强调了使用Jersey作为RESTful服务接口,Spring作为整体应用的管理框架,Spring MVC用于处理HTTP请求,以及HTTP服务器(可能如Tomcat或Jetty)作为后端运行环境。 **详细知识点:** 1. **...
1. **jersey-server**:核心服务器模块,负责处理HTTP请求和响应,执行资源方法。 2. **jersey-client**:客户端模块,用于发起HTTP请求,获取响应。 3. **jersey-servlet**:Servlet容器中的部署模块,使得Jersey...
这部分内容帮助开发者构建和管理HTTP请求,使得与RESTful Web服务的交互更加便捷。 以上是本文档主要涵盖的知识点,非常适合希望学习和深入理解Jersey框架的技术人员。通过本文档的指导,读者可以掌握Jersey框架的...