JAVA基础 - JERSEY简介

Jersey框架和springmvc框架 前言: Jersey是一个RESTFUL请求服务JAVA框架,与常规的JAVA编程使用的struts框架类似,它主要用于处理业务逻辑层。 与springmvc 的区别: 1. jersey同样提供DI,是由glassfish hk2实现,也就是说,如果想单独使用jersey一套,需要另外学习Bean容器; 2. MVC出发点即是WEB,但jersey出发点确实RESTFull,体现点在与接口的设计方面, 如MVC返回复杂结构需要使用ModelAndView,而jersey仅仅需要返回一个流或者文 阅读详情

是什么

JERSEY是基于JAVA的、轻量级的、RESTful风格的WEB SERVICES框架,是JAX-RS(JSR311)开源参考实现。 JERSEY框架不只是JAX-RS参考实现,还提供了自己的API,进一步简化了RESTful服务和客户端开发。
JERSEY官网:https://eclipse-ee4j.github.io/jersey
用户手册:https://eclipse-ee4j.github.io/jersey.github.io/documentation/latest31x/index.html

术语

(1)什么是SOAP?SOAP是简单对象访问协议的缩写。它是一种基于XML的消息传递协议,用于在计算机之间交换信息。
(2)什么是REST?REST是表述性状态传递的缩写,也就是资源在网络中以某种表现形式进行状态转移。它是一种软件架构风格,描述的是在网络中C和S的一种交互形式。
(3)什么是RESTful?REST 是一组架构约束条件和原则,而满足这些约束条件和原则的应用程序或设计就是 RESTful。
(4)什么是WEB SERVICES?WEB SERVICES是一种标准,他可以通过SOAP或REST的方式来实现。

JETTY是什么?是SERVLET容器(和TOMCAT类似)。

如何使用

JETTY + JERSEY 可以构建WEB服务。

① 依赖引入
<dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-core</artifactId>
    <version>1.19</version>
</dependency>
<dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-server</artifactId>
    <version>1.19</version>
</dependency>
<dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-client</artifactId>
    <version>1.19</version>
</dependency>
<dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-json</artifactId>
    <version>1.19</version>
</dependency>
<dependency>
    <groupId>com.sun.jersey.contribs</groupId>
    <artifactId>jersey-multipart</artifactId>
    <version>1.19</version>
</dependency>

<!-- Jersey + Spring -->
<dependency>
    <groupId>com.sun.jersey.contribs</groupId>
    <artifactId>jersey-spring</artifactId>
    <version>1.19.4</version>
    <exclusions>
       <exclusion>
           <groupId>org.springframework</groupId>
           <artifactId>spring</artifactId>
       </exclusion>
       <exclusion>
           <groupId>org.springframework</groupId>
           <artifactId>spring-core</artifactId>
       </exclusion>
       <exclusion>
           <groupId>org.springframework</groupId>
           <artifactId>spring-web</artifactId>
       </exclusion>
       <exclusion>
           <groupId>org.springframework</groupId>
           <artifactId>spring-beans</artifactId>
       </exclusion>
       <exclusion>
           <groupId>org.springframework</groupId>
           <artifactId>spring-context</artifactId>
       </exclusion>
   </exclusions>
</dependency>
<dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-servlet</artifactId>
    <version>1.19.4</version>
</dependency>
② 服务端代码
@Path("v2/relationship")
@Singleton
@Service
@Consumes({Servlets.JSON_MEDIA_TYPE, MediaType.APPLICATION_JSON})
@Produces({Servlets.JSON_MEDIA_TYPE, MediaType.APPLICATION_JSON})
public class RelationshipREST {
    private static final Logger PERF_LOG = AtlasPerfTracer.getPerfLogger("rest.RelationshipREST");
    private final AtlasRelationshipStore relationshipStore;
    @Inject
    public RelationshipREST(AtlasRelationshipStore relationshipStore) {
        this.relationshipStore = relationshipStore;
    }

    @POST
    public AtlasRelationship create(AtlasRelationship relationship) throws AtlasBaseException {
        AtlasPerfTracer perf = null;
        try {
            if (AtlasPerfTracer.isPerfTraceEnabled(PERF_LOG)) {
                perf = AtlasPerfTracer.getPerfTracer(PERF_LOG, "RelationshipREST.create(" + relationship + ")");
            }
            return relationshipStore.create(relationship);
        } finally {
            AtlasPerfTracer.log(perf);
        }
    }

    @PUT
    public AtlasRelationship update(AtlasRelationship relationship) throws AtlasBaseException {
        AtlasPerfTracer perf = null;
        try {
            if (AtlasPerfTracer.isPerfTraceEnabled(PERF_LOG)) {
                perf = AtlasPerfTracer.getPerfTracer(PERF_LOG, "RelationshipREST.update(" + relationship + ")");
            }
            return relationshipStore.update(relationship);
        } finally {
            AtlasPerfTracer.log(perf);
        }
    }
    
    @GET
    @Path("/guid/{guid}")
    public AtlasRelationshipWithExtInfo getById(@PathParam("guid") String guid,
                                                @QueryParam("extendedInfo") @DefaultValue("false") boolean extendedInfo)
                                                throws AtlasBaseException {
        Servlets.validateQueryParamLength("guid", guid);
        AtlasPerfTracer perf = null;
        AtlasRelationshipWithExtInfo ret;
        try {
            if (AtlasPerfTracer.isPerfTraceEnabled(PERF_LOG)) {
                perf = AtlasPerfTracer.getPerfTracer(PERF_LOG, "RelationshipREST.getById(" + guid + ")");
            }
            if (extendedInfo) {
                ret = relationshipStore.getExtInfoById(guid);
            } else {
                ret = new AtlasRelationshipWithExtInfo(relationshipStore.getById(guid));
            }
            return ret;
        } finally {
            AtlasPerfTracer.log(perf);
        }
    }
    @DELETE
    @Path("/guid/{guid}")
    public void deleteById(@PathParam("guid") String guid) throws AtlasBaseException {
        Servlets.validateQueryParamLength("guid", guid);
        AtlasPerfTracer perf = null;
        try {
            if (AtlasPerfTracer.isPerfTraceEnabled(PERF_LOG)) {
                perf = AtlasPerfTracer.getPerfTracer(PERF_LOG, "RelationshipREST.deleteById(" + guid + ")");
            }
            relationshipStore.deleteById(guid);
        } finally {
            AtlasPerfTracer.log(perf);
        }
    }
}
使用Java实现RESTful Web服务:Jersey框架入门 RESTful Web服务是一种基于HTTP协议的服务架构,通过标准的HTTP方法(GET、POST、PUT、DELETE等)来操作资源。每个资源都有唯一的URI标识符,并且可以通过这些方法进行增删改查操作。无状态:每个请求都包含处理所需的所有信息。可缓存:响应可以被缓存以提高性能。分层系统:客户端和服务器之间可能存在多个中间层。统一接口:使用标准的HTTP方法和媒体类型。在目录下创建一个自定义异常类。 阅读详情

相关推荐

使用Jersey开发RESTful接口

在现代的软件开发中,构建可扩展和易于集成的Web服务是非常重要的。Jersey是一个功能强大且易于使用的Java框架,它提供了许多便捷的工具和类库,用于构建RESTful接口。在上面的代码中,我们定义了一个名为HelloWorldResource的Java类,并使用@Path注解指定了资源的URL路径。在上面的配置中,我们定义了一个名为Jersey REST Service的Servlet,它将所有以/api/开头的URL请求路由到com.example.resources包中的资源类。

JipForth的博客 451

超级轻量级别的java web 框架 --Jersey

REST(Representational State Transfer)是一个轻量级的分布式架构风格,基于 HTTP 协议,适合 Web API 的设计。资源:通过 URL 进行访问,每个资源都有唯一的 URI。HTTP 方法:利用 HTTP 方法(GET, POST, PUT, DELETE)来执行 CRUD(增删改查)操作。无状态:服务器不存储客户端的会话信息。表示:资源以各种形式返回,如 JSON、XML、HTML。@Path: 定义资源的 URI。@GET。

qq_55272229的博客 3528

构建Java和Jersey基于RESTful的书签系统教程

本文还有配套的精品资源,点击获取 简介:本教程深入讲解了构建在线书签系统的各个方面,包括使用Java作为后端开发语言以及Jersey框架来实现RESTful Web服务。涵盖内容从Java基础到数据库集成、用户认证与授权、前端交互以及测试与部署。教程中包含了RESTful API设计的最佳实践,并考虑了安全性和用户体验,提供完整的项目源代码和文档。 1. Java...

weixin_30356433的博客 3842

【Jersey】Jersey框架介绍与使用

Jersey框架简单实践(一)_未闻名的博客-优快云博客_jersey框架Jersey框架一:Jersey RESTful WebService框架简介_sean-zou的博客-优快云博客_jerseyJersey框架和springmvc框架_苍煜的博客-优快云博客_jersey框架

后端研发工程师Marion的博客 1169

Java Jersey JSON RESTful Web服务实战示例

本文还有配套的精品资源,点击获取 简介:本教程提供了一个使用Java Jersey框架构建JSON RESTful Web服务的完整示例,涉及创建、消费REST API的各个步骤。通过实践本示例,你将学会如何设置资源类、定义HTTP操作和处理请求/响应,以及掌握Maven项目配置,最终实现与JSON数据交互的REST服务。 1. Jersey框架简介与应用 ...

weixin_36238982的博客 810

Jersey:Java RESTful Web服务开发框架

本文还有配套的精品资源,点击获取 简介:Jersey 是一个基于 Java 的开源 RESTful 服务框架,实现了 JAX-RS 规范。它允许开发者使用注解创建 RESTful 接口,支持依赖注入、异常处理、过滤器、拦截器等,同时也提供客户端 API 和 MVC 风格的支持。该框架旨在简化 RESTful 服务的开发,同时支持模块化扩展和提供测试框架,使开发者能专注于业务...

weixin_42599558的博客 1730

Web——Jersey

Jersey

十年梦归尘的专栏 272

jersey框架

jersey框架简单叙述以及 Jersey对HTTPS的支持, Jersey对Json的支持

Jersey初谈

这是我为百度百科编辑的关于Jersey的一些资料。可能由于相对中文资料较少,导致人们无法正常地从搜索引擎中获取相关Jersey的中文资料。        什么是Jersey ,Jersey本质就是一个RESTfull Web Service in Java 框架,什么是REST?REST本意是 表示性状态转移,与之相对的是遵守文件传输协议(FTP)的 可寻址,无状态性的。Jersey是一种面向资

Jinx 1979

ENVI5.6+SARscape实战:基于哨兵一号的PS与SBAS时序InSAR地表形变监测全流程解析

本文详细解析了使用ENVI5.6和SARscape软件基于哨兵一号数据进行PS与SBAS时序InSAR地表形变监测的全流程。从数据获取、预处理到PS-InSAR和SBAS-InSAR处理,提供了实用技巧和优化建议,帮助用户高效完成地表形变监测任务。

weixin_29245767的博客 1151

GNSS数据资源全解析:从DCB到BSX文件的下载与应用指南

本文系统解析了GNSS数据处理所需的核心数据资源,包括DCB、BSX、SP3、CLK等关键文件的官方下载路径与应用方法。详细介绍了CDDIS、武汉大学镜像站等权威数据源,并提供了从数据下载到实际应用的完整指南,帮助用户高效获取GNSS数据,提升精密定位处理效率。

weixin_29246195的博客 138

Jersey框架一:Jersey RESTful WebService框架简介

开发RESTful WebService意味着支持在多种媒体类型以及抽象底层的客户端-服务器通信细节,如果没有一个好的工具包可用,这将是一个困难的任务 为了简化使用JAVA开发RESTful WebService及其客户端,一个轻量级的标准被提出:JAX-RS API Jersey RESTful WebService框架是一个开源的、产品级别的JAVA框架,支持JAX-RS API并且是一个JAX-RS(JSR 311和 JSR 339)的参考实现 Jersey不仅仅是一个JAX-RS的参考实现,Jers

怀揣梦想,努力前行 13万+

STM32F429移植LVGL9.3.0:从源码配置到双缓冲优化实战

本文详细介绍了如何在STM32F429平台上移植LVGL 9.3.0图形库,涵盖从源码准备、工程配置、显示驱动适配到双缓冲优化等关键步骤。重点解析了利用STM32F429的硬件特性实现高效内存管理和流畅显示性能的实战技巧,为嵌入式GUI开发提供完整解决方案。

q6r7s8t9的博客 1120

java jersey_Jersey框架

编辑推荐:本文来自于cnblogs,主要从JerseyRESTful WebService框架简介,Jersey对JSON的支持,Jersey对HTTPS的支持等方面详细讲解。Jersey RESTful WebService框架简介开发RESTful WebService意味着支持在多种媒体类型以及抽象底层的客户端-服务器通信细节,如果没有一个好的工具包可用,这将是一个困难的任务为了简化使用Ja...

weixin_36035466的博客 656

《UE4游戏开发》之 《音效系统的实现》

音效系统需要负责管理什么事情: 1.1 确定声音控制的分类:如背景音乐、技能音效、界面音效、角色配音等,不同游戏对声音有不同的分类 1.2 控制每个分类的声音的开启与关闭,以及调节每个分类声音的大小 解决如何分类: 2.1 首先需要知道ue4为声音分类提供了什么:SoundClass通常需要一个根分类【SC_RPG_Master】,便于总体控制音效,以及指定引擎默认启动的音效 打开SoundClass资产【SC_RPG_Master】,对根控制的设置,将逐级传递并按比例进行设置,以此达到控制一类声音的目的.

qq_21919621的博客 2126

QT插件学习系列(一) 初识QtPlugin

QT插件学习系列(一) 初识QtPlugin 1、 概述 为什么我们要学习插件化,其和 windows 导出 dll 有什么区别呢? 导出的动态库如果缺失,程序不能运行。但插件可以。 同一套代码,即可分别在 windows 下和 linux 下生成插件。 QT 本身提供两种插件支持,一种称为高级 API,一种称为低级 API。 高级API的作用是扩展 QT 程序本身,需要子类化 QT 提供的插件基类,例如现有的 QTSqlDriver,因此你可也以编写自己的 QTStyle 扩展 QT。 低级

L_Andy的专栏 3113

Jersey 简介

一 Jersey简介 Jersey是 JAX-RS API的一个实现,通过它可以方便的开发RESTful Web services。 Http中的常用方法与REST中资源的CURD操作对应 方法 REST中的资源的操作 GET 检索资源 PUT 更新资源 POST 创建资源 DELETE 删除资源   二 Jersey简单例子 使用jar包...

iteye_5753的博客 577

保姆级教程:用Protege 5.5.0从零构建你的第一个知识图谱(附实战案例文件)

本文提供了一份详细的Protege 5.5.0使用指南,从零开始构建知识图谱。涵盖环境配置、本体结构设计、实例填充到可视化展示的全流程,特别适合初学者快速掌握知识建模技术。通过实战案例演示,帮助读者理解如何定义类、属性及建立实例关系,是学习知识图谱构建的实用教程。

weixin_42548816的博客 553

谈谈Servlet和Jersey

Servlet 本质上是 Java 类,它们扩展了并重写了一些方法(如doGet)来处理特定类型的 HTTP 请求。每个 Servlet 负责一个特定的功能/URL,这使得应用程序可以模块化,不同的功能由不同的 Servlet 处理。Servlet 通过生成 HTML 或其他内容来响应客户端请求,它们可以包含静态内容,也可以动态生成内容(如当前时间)。Servlet 之间可以通过链接相互连接,形成一个完整的 Web 应用程序。这就是 Servlet 的基本工作方式。

qq_36678573的博客 739

Nacos 2.3.2实战:5分钟搞定达梦数据库插件配置(含避坑指南)

本文详细介绍了在Nacos 2.3.2中配置达梦数据库数据源插件的完整实战流程。通过解析SPI插件机制,提供从环境准备、插件编译部署到核心配置的逐步指南,并重点分享了驱动加载、SQL兼容性等高频问题的避坑解决方案,助力开发者高效完成国产化数据库适配。

weixin_29200485的博客 499

通俗易懂的Harris 角点检测

点击上方“3D视觉工坊”,选择“星标”干货第一时间送达Harris 角点检测 认为特征点具有局部差异性。如何描述“特征点具有局部差异性”:以每一个点为中心,取一个窗口,窗口大小为5*5...

3D视觉工坊 1472

Jersey框架简介

一 Jersey简介     开发RESTful WebService意味着支持在多种媒体类型以及抽象底层的客户端-服务器通信细节,如果没有一个好的工具包可用,这将是一个困难的任务   为了简化使用JAVA开发RESTful WebService及其客户端,一个轻量级的标准被提出:JAX-RS API   Jersey RESTful WebServ...

AA3014202145的博客 359

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Jersey-JWT:基于Jersey的JWT认证示例

Jersey-JWT:基于Jersey的JWT认证示例 项目介绍 Jersey-JWT 是一个开源项目,展示了如何在Java环境中利用Jersey(JAX-RS的参考实现)创建RESTful API,并采用JSON Web Token (JWT) 进行基于令牌的身份验证。此项目结合了Jackson作为JSON处理库,Undertow作为Servlet容器,Weld作为CDI(Contexts an...

gitblog_00487的博客 971

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

java jersey restful 详解

前言 在短信平台一期工作中,为便于移动平台的开发,使用了Java Jersey框架开发RESTFul风格的Web Service接口。在使用的过程中发现了一些问题并积累了一些经验。因此,做下总结备忘,同时也希望对有需要的同仁有好的借鉴和帮助。 简介 Jersey是JAX-RS(JSR311)开源参考实现用于构建RESTful Web service,它包含三个部分: 核心服务器

u010395804的专栏 4714

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

上一篇: JAVA基础 - java -cp 如何使用?
下一篇: JAVA基础 - SPI机制使用详解(三)
cloneme01
博客等级 码龄20年 2万+粉丝 248原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cloneme01

谢谢您的支持与鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值