Jersey 初体验

任务1,搭建jersey 工程项目

在网上搜索了一圈,发现有一个很简单直接的办法可以搭建一个Jersey体验项目,创建一个maven项目,使用jersey-quickstart-grizzly 原型创建。

但是,我安装的eclipse集成好maven以后,创建maven项目里面就没有jersey-quickstart-grizzly这个选项Freezing

好吧,这里我有两个思路来解决这个问题:

1,继续跟着问题走去寻找 jersey-quickstart-grizzly ,然后添加进来,重新创建项目,来体验Jersey。

2,换条路,直接使用jersey包来自己手动一步一步创建项目。 

好吧,现在我选择2,选择突破口,官网https://jersey.java.net/ ,上去看看有没有什么有价值的信息

1, https://jersey.java.net/documentation/latest/getting-started.html 这篇文章看起来貌似有用,先看看

2, 在1中文章获取到有用信息https://maven.java.net/content/repositories/snapshots/archetype-catalog.xml 这里存放有Jersey的maven原型,我选择的是jersey-quickstart-grizzly2 然后根据页面上的信息 手动添加到Eclipse。(这里貌似又回到了思路1了,哎,就是这么奇妙,原本以为找了另外一条路,结果走着走着有回到了最初的路)。

image

3,添加成功以后,貌似不能立即显示出来,关闭窗口,重新打开一次,然后就可以选择这个原型,记得要勾选image,不然显示不错来。

4,创建好项目以后,发现我的项目上有很多红X,红X指向的地方是jersey版本的地方,好吧,我选择了手动指定jersey版本image

5,保存,等待项目自动构建,构建成功,项目结构简单直接,有两个demo程序image

6,点击Main.java,选择Run As application。

7,运行成功。image

8,image

9,结束,jersery初次体验之旅,这里就完成了,下面就看看demo程序,大致了解下应该怎么用这玩意。

任务2, Jersery项目demo程序分析

附上Main.java

  1 package com.cc.jersery1;
  2 
  3 import org.glassfish.grizzly.http.server.HttpServer;
  4 import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
  5 import org.glassfish.jersey.server.ResourceConfig;
  6 
  7 import java.io.IOException;
  8 import java.net.URI;
  9 
 10 /**
 11  * Main class.
 12  *
 13  */
 14 public class Main {
 15     // Base URI the Grizzly HTTP server will listen on
 16     public static final String BASE_URI = "http://localhost:8080/myapp/";
 17 
 18     /**
 19      * Starts Grizzly HTTP server exposing JAX-RS resources defined in this application.
 20      * @return Grizzly HTTP server.
 21      */
 22     public static HttpServer startServer() {
 23         // create a resource config that scans for JAX-RS resources and providers
 24         // in com.cc.jersery1 package
 25         final ResourceConfig rc = new ResourceConfig().packages("com.cc.jersery1");
 26 
 27         // create and start a new instance of grizzly http server
 28         // exposing the Jersey application at BASE_URI
 29         return GrizzlyHttpServerFactory.createHttpServer(URI.create(BASE_URI), rc);
 30     }
 31 
 32     /**
 33      * Main method.
 34      * @param args
 35      * @throws IOException
 36      */
 37     public static void main(String[] args) throws IOException {
 38         final HttpServer server = startServer();
 39         System.out.println(String.format("Jersey app started with WADL available at "
 40                 + "%sapplication.wadl\nHit enter to stop it...", BASE_URI));
 41         System.in.read();
 42         server.stop();
 43     }
 44 }
 45 
 46 

 

Grizzly 是什么?

暂时把它理解为一个简单的Http Server

从代码里面可以看出来,Main.java里面主要的工作就是初始化了一个Httpserver,并启动它。

附上MyResource.java

  1 package com.cc.jersery1;
  2 
  3 import javax.ws.rs.GET;
  4 import javax.ws.rs.Path;
  5 import javax.ws.rs.Produces;
  6 import javax.ws.rs.core.MediaType;
  7 
  8 /**
  9  * Root resource (exposed at "myresource" path)
 10  */
 11 @Path("myresource")
 12 public class MyResource {
 13 
 14     /**
 15      * Method handling HTTP GET requests. The returned object will be sent
 16      * to the client as "text/plain" media type.
 17      *
 18      * @return String that will be returned as a text/plain response.
 19      */
 20     @GET
 21     @Produces(MediaType.TEXT_PLAIN)
 22     public String getIt() {
 23         return "Got it!";
 24     }
 25 }

 

这里定义了一个Get方法,@path指定路径,即发送Get请求到http://localhost:8080/myapp/myresource 下,那么服务器就返回给客户端一个字符串“Got it!”

image

转载于:https://www.cnblogs.com/onionch/p/5465173.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值