java jersey介绍

简介

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>

		<!-- Required only when you are using JAX-RS Client -->
		<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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值