java jersey介绍
来源:互联网 发布:淘宝数据线 编辑:程序博客网 时间:2024/06/10 23:44
简介
Jersey是JAX-RS(JSR311)开源参考实现用于构建RESTful Web service,它包含三个部分:
核心服务器(Core Server):通过提供JSR 311中标准化的注释和API标准化,可以用直观的方式开发RESTful Web服务。
核心客户端(Core Client):Jersey客户端API能够帮助开发者与RESTful服务轻松通信;
集成(Integration):Jersey还提供可以轻松继承Spring、Guice、Apache Abdera的库。
在项目中构架:
设置Jersey环境
Maven
- <dependency>
- <groupId>org.glassfish.jersey.containers</groupId>
- <artifactId>jersey-container-grizzly2-servlet</artifactId>
- <version>${jersey-version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.glassfish.jersey.containers</groupId>
- <artifactId>jersey-container-servlet-core</artifactId>
- <version>${jersey-version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.glassfish.jersey.media</groupId>
- <artifactId>jersey-media-json-jackson</artifactId>
- <version>${jersey-version}</version>
- </dependency>
-
-
- <dependency>
- <groupId>org.glassfish.jersey.core</groupId>
- <artifactId>jersey-client</artifactId>
- <version>${jersey-version}</version>
- </dependency>
基本步骤演示:
1.编写一个名为HelloResource的资源,它接受Http Get请求并响应
- package com.lgy.resource;
-
- import javax.ws.rs.GET;
- import javax.ws.rs.Path;
- import javax.ws.rs.Produces;
- import javax.ws.rs.core.MediaType;
-
- import com.lgy.bean.Result;
-
-
- @Path("hello")
- public class HelloResource {
- @Path("say")
- @GET
- @Produces(MediaType.TEXT_PLAIN)
- public String say() {
- System.out.println("hello world");
- return "hello world";
- }
-
- @Path("test")
- @GET
- @Produces(MediaType.APPLICATION_JSON)
- public Result<String> test() {
- Result<String> result = new Result<String>();
- result.success("aaaaaa");
-
- return result;
- }
- }
2.编写JAX-RS application,并注册HelloResource- package com.lgy.config;
-
- import org.glassfish.jersey.filter.LoggingFilter;
- import org.glassfish.jersey.server.ResourceConfig;
-
- import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
- import com.lgy.resource.HelloResource;
-
- public class MyApplication extends ResourceConfig {
- public MyApplication() {
- //加载Resource
- register(HelloResource.class);
-
- //注册数据转换器
- register(JacksonJsonProvider.class);
-
- // Logging.
- register(LoggingFilter.class);
- }
- }
3.在web.xml核心配置文件配置jersey servlet,随着容器的启动,项目进行启动
- <!DOCTYPE web-app PUBLIC
- "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
- "http://java.sun.com/dtd/web-app_2_3.dtd" >
-
- <web-app>
- <display-name>Archetype Created Web Application</display-name>
- <servlet>
- <servlet-name>SpringApplication</servlet-name>
- <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
- <init-param>
- <param-name>javax.ws.rs.Application</param-name>
- <param-value>com.lgy.config.MyApplication</param-value>
- </init-param>
- <load-on-startup>1</load-on-startup>
- </servlet>
-
- <servlet-mapping>
- <servlet-name>SpringApplication</servlet-name>
- <url-pattern>/*</url-pattern>
- </servlet-mapping>
- </web-app>
用tomcat或者jetty启动:localhots:8080/hello/say
项目源码(oschina git):https://git.oschina.net/fengchao111/restful-jersey.git
0 0