RESTful之Jersey学习-01

因为看Saiku的源码用到了Jersey开源的RESTful框架,所以稍微简单的介绍下入门

JDK 1.7 Jersey 2.10 开发工具IDEA Maven3

目标:搭建一个最简单的

1、创建一个Maven项目

因为我想看这个开发的基本上不可能不会建立项目吧,如果不会Maven最好还是学习下,因为JAR包的依赖真的是恶心,受不鸟。

2、加入Jersey依赖的Jar

<dependency>
            <groupId>javax.ws.rs</groupId>
            <artifactId>javax.ws.rs-api</artifactId>
            <version>2.0</version>
        </dependency>
        <dependency>
            <groupId>javax.ws.rs</groupId>
            <artifactId>jsr311-api</artifactId>
            <version>1.1.1</version>
        </dependency>
        <dependency>
            <groupId>org.glassfish.jersey.containers</groupId>
            <artifactId>jersey-container-servlet</artifactId>
            <version>2.10.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.glassfish.jersey.containers</groupId>
            <artifactId>jersey-container-servlet</artifactId>
            <version>2.10.1</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
        </dependency>
        <dependency>
            <groupId>org.glassfish.jersey.media</groupId>
            <artifactId>jersey-media-multipart</artifactId>
            <version>2.10.1</version>
        </dependency>
        <dependency>
            <groupId>org.glassfish.jersey.media</groupId>
            <artifactId>jersey-media-json-processing</artifactId>
            <version>2.10.1</version>
        </dependency>
        <dependency>
            <groupId>org.glassfish.jersey.media</groupId>
            <artifactId>jersey-media-json-jackson</artifactId>
            <version>2.10.1</version>
        </dependency>
其中包含了最基本的Jersey包和对Bean实体的扩展,后三个包的作用是可以把Bean对象直接转换成Json或者XML,的确是很方便

3、那让我们开发RESTful的响应吧

package com.rest;

import javax.ws.rs.*;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Request;
import java.util.ArrayList;
import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * User: Administrator
 * Date: 14-7-17
 * Time: 下午3:11
 * To change this template use File | Settings | File Templates.
 */
@Path("/aaaaaaaaa") //这个是访问当前资源的根路径
public class TwoResource {

    @GET   //请求的类型是GET请求,如果不了解去了解下最基本的REST编程,
    @Path("queryBean")   //这个是访问的路径    访问这里就是:地址:端口:应用名+前缀/aaaaaaaaa/queryBean   ,前缀后面会说到
    @Produces(MediaType.APPLICATION_JSON) //这里表示返回的类型是XML    ,这里就是省去了Bean转JSON的工作
    public List<Sales> getUsers(){
        List<Sales> user=new ArrayList<Sales>();
        Sales s1=new Sales();
        s1.setName("s1");
        Sales s2=new Sales();
        s2.setName("s2");
        user.add(s1);user.add(s2);
        return user;
    }

    @GET     //这种没有Path的方法,如果请求类型为GET,且为根路径就会访问这里
    @Produces(MediaType.APPLICATION_JSON)
    public String test(){
        return "success";
    }
    @Context
    Request request;

    @GET
    @Path("user/{username}")   //这种URL的链接就是参数,会传递到请求来
    @Produces(MediaType.TEXT_PLAIN)
    public String getIt(@PathParam("username") String username){
        System.out.print("the name is "+username);
        return "get it";
    }
}

里面都有注视了,应该可以看明白,注意到这里了进行测试还是不可以 的,还要配置Web.xml

4、配置web.xml

<servlet>
        <servlet-name>jersey</servlet-name>
        <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
        <init-param>
            <param-name>jersey.config.server.provider.packages</param-name>
            <param-value>com.rest</param-value><!-- 这里的配置扫描的包的路径,就是我们的服务的包的路径 -->
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>jersey</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
然后你就可以启动测试了

5、启动、测试!咔咔咔咔

第一个连接:




插件是Chrome的Postman测试这类Http服务很用用。

6、结束!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值