从一次编译出发梳理概念: Jetty,Jersey,hk2,glassFish,Javax,Jakarta 0x00 摘要 本文借助一次开源项目的编译过程,梳理了一些java相关概念,与大家分享此文。...0x01 缘由 最近在编译蚂蚁金服的sofa-registry,因为不可名状的原因,无法完全下载依赖的maven包,所以只能手动一个一个下载。...2.3.3 框架 目前实现 jax-rs 标准的框架有很多: Apache CXF,开源的Web服务框架。 Jersey, 由Sun提供的JAX-RS的参考实现。...Jersey用于构建 RESTful Web service。此外 Jersey 还提供一些额外的 API 和扩展机制,所以开发人员能够按照自己的需要对 Jersey 进行扩展。...3.1 javax.ws.rs javax.ws.rs是JSR311的包名。其重要目标是:使用注解(annotation)把POJO暴露成Web Service。
---- 何为JAX-RS(1.0和2.0) JAX-RS是JAVA EE6引入的一个新技术,它的英文全称为Java API for RESTful Web Services,它的核心概念是Resource...它不仅定义了一套用于构建 RESTful 网络服务的 API,同时也通过增强客户端 API 功能简化了REST 客户端的构建过程。...… 说明:glassfish是一款web应用服务器,和tomcat一样,也是一款优秀的Servlet容器。...Jersey的客户端API能够让我们非常方便的创建出REST的Web服务客户端,不管是客户端应用,还是用于测试的代码,都是非常容易和舒服的。...jersey-client 1.19.4 它的jar包依赖情况如下: ?
示例 此示例说明了如何配置Jersey,以便您可以开始将其用作RESTful API的JAX-RS实现框架。...假设您已经安装了Apache Maven,请按照以下步骤设置Jersey:创建Maven Web项目结构,在终端(Windows)中执行以下命令mvn archetype:generate -DgroupId...jersey-media-json-jackson ${jersey.version} 2.22.2 UTF-8 在Web.xml中,添加以下代码 jersey-serlvet org.glassfish.jersey.servlet.ServletContainer...// 在web.xml中:它扫描该程序包中的资源和提供程序。...现在,您可以设置Java RESTful Web服务(JAX-RS)类以使用Jersey的jars。
与内置 Java 解决方案最接近的是 javax.ws.rs-api 中的 UriBuilder,我们需要将其导入到我们的 pom.xml 中: javax.ws.rs...我们可能还需要导入 jersey-commons 才能运行我们的应用程序。...3、Apache UriBuilder Apache 提供了自己的解决方案,即 HttpClient 包中的 UriBuilder。...artifactId>spring-web 6.0.6 我们可以在 Maven 存储库中找到最新版本。...我们可以使用 Java 扩展包、Apache 的 UriBuilder 或 spring-web 解决方案来添加查询,每种方法都能确保 URL 结构有效,并允许我们动态地构建它们。
Jersey系列文章: Jersey框架一:Jersey RESTful WebService框架简介 Jersey框架二:Jersey对JSON的支持 Jersey框架三:Jersey对HTTPS的支持...开发RESTful WebService意味着支持在多种媒体类型以及抽象底层的客户端-服务器通信细节,如果没有一个好的工具包可用,这将是一个困难的任务 为了简化使用JAVA开发RESTful WebService...及其客户端,一个轻量级的标准被提出:JAX-RS API Jersey RESTful WebService框架是一个开源的、产品级别的JAVA框架,支持JAX-RS API并且是一个JAX-RS(JSR...311和 JSR 339)的参考实现 Jersey不仅仅是一个JAX-RS的参考实现,Jersey提供自己的API,其API继承自JAX-RS,提供更多的特性和功能以进一步简化RESTful service...和客户端的开发 Maven版本:3.1.0 Jersey版本:1.18 JDK版本:1.7.0_65 一,服务端 Maven配置如下: maven.apache.org
Jersey 诞生时间: 2012 (Jersey 2.X) 评分: 5/5 Jersey RESTful 框架是开源的RESTful框架, 实现了JAX-RS (JSR 311 & JSR 339)...它提供了开发,测试,发布,维护 RESTful web应用的一切(Servlets, Guice, JPA, Flyway migrations, Maven, etc.)....号称 Maven 杀手, 但是从没有优秀到替换它。...我坚信 基于JAX-RS的框架更适合 RESTful web services....它有一个不到1M的最小化的内核, 提供了所有基本的特性, 用来构建 RESTful 或者传统的 web 应用程序。
JAX-WS的不足突出体现在调用方式的笨拙上,即不支持REST方式的调用,为此出现了其进阶版JAX-RS(Java API for RESTful Web Services)这是一个Java编程语言的应用程序接口...,支持按照表述性状态转移(REST)架构风格创建Web服务。...,并且添加Maven支持。...对于上述项目结构,我们要实现发布一个服务,只需要关心三部分: 首先,打开pom.xml添加项目依赖; 然后,在src/main/java下编写逻辑代码; 最后,在web.xml中修改拦截目录以及对应上述代码的位置...打开pom.xml添加项目依赖; 这部分主要添加的是jersey的包,这里使用的是org.glassfish.jersey提供的包,不同组织提供了不同的包,但本质实现的功能都是一样的,这里添加jersey-bom
和jersey的关系了,然后我们需要了解RESTful是什么,自己也是说不太清楚,所以可以看这个博客地址:REST介绍:http://redhacker.iteye.com/blog/1923226 然后...另外,jersey1.X的版本是sun公司提供的独立的jar包,在2.X版本中,已经将jersey融合到JavaSE中,在javax.ws.rs.*包中。...比如: @XmlRootElement public class User{…} @XmlElements @XmlElement Jersey使用示例: 1、添加Maven依赖或者导入jar包 编译需要,tomcat里面有 –> 没有使用Maven的就自己下载相应的jar包,放到classpath下就是了。...2、修改web.xml,配置jerseyServlet JerseyServlet org.glassfish.jersey.servlet.ServletContainer
进行交互 最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了。...Cacheable(可缓存):服务器端必需指定哪些请求是可以缓存的。 Layered System(分层结构):服务器端与客户端通讯必需标准化,服务器的变更并不会影响客户端。...以下就是我的简单尝试 正文 由于REST服务也是一个web服务,所以需要一个servlet容器。...,就再考虑用什么RESTful框架实现咯,由于在java6上已经有了一套RESTful的api,叫:JAX-RS (Java API for RESTful Web Services),但JAX-RS...各项性能比较不错的是Jersey和RESTEasy,各种百度google一番,最后任性的选择了Jersey 工具都选好了,开始干正事了,上代码: 首先配置下maven依赖: <dependency
微服务是一个概念,并没有规定服务的格式,但是很多厂商和框架都不约而同的采用RESTful的架构,尽管也有一些其它的性能很好的RPC框架。 如何在Java生态圈选择一个轻量级的RESTful框架?...可以参考一些其他人的经验, 比如我翻译的: 最好的8个 Java RESTful 框架。...测试相关的代码已经放在了GITHUB上: 代码 https://github.com/smallnest/Jax-RS-Performance-Comparison 编译代码 测试代码是一个多模块的Maven...项目, 你直接运行maven clean package就可以生成各个jar,而且这些jar包含了所依赖的类,执行起来相当简单。...服务启动命令 java -Xmx4g -Xms4g -jar jersey-grizzly2-1.0-SNAPSHOT.jar java -Xmx4g -Xms4g -jar jersey-jetty-
JAX-RS:JAX-RS是可以用可以用于实现RESTFul应用程序的JAVA API,给开发者提供了一系列的RESTFul注解 Jersey:是基于JAX-RX API的实现框架,用于实现RESTful...Web 服务的开源框架。...url可以使用Spring官网的,也可以使用阿里的,然后点击Next 选择jdk版本,还有使用maven做jar管理 选择需要的jar,选择之后,生成的项目会自动加上maven配置...如果是自己搭建的项目,可以自己加上spring-boot-starter-jersey的maven配置 org.springframework.boot...serverError(String desc, T data){ return new ResultBean(HttpStatus.INTERNAL_SERVER_ERROR.value(),"服务器内部异常
场景及痛点 单个项目是通过 Jersey 来实现 restful 风格的架构 发生异常时异常信息总是提示没有回调方法,不能显示基础服务抛出的异常信息 暂时没有考虑发生异常之后进行回调返回特定内容 业务系统通过...feign 调用基础服务,基础服务是会根据请求抛出各种请求异常的(采用标准http状态码),现在我的想法是如果调用基础服务时发生请求异常,业务系统返回的能够返回基础服务抛出的状态码 当然基础服务抛出的请求异常不能触发...WebApplicationException) ex.getCause(); } throw ex; } } WebApplicationException 是 javax.ws.rs...包中异常,通过 Jersey 抛出该异常能够将返回的 HttpCode 封装进该异常中(上述代码中展示了如何封装 HttpCode),抛出该异常,调用端就能得到返回的 HttpCode。...本项目使用 Jersey,封装 WebApplicationException 即可满足需求,其他架构也是大同小异了。
此外还内嵌Servlet(Tomcat)容器,应用可jar包运行,方便我们快速搭建项目。...以下是一些流行的 spring-boot-starter-web 用于构建 RESTful Web 服务,它使用 Spring MVC 和 Tomcat 作为嵌入式应用程序容器。...spring-boot-starter-jersey 是 spring-boot-starter-web 的一个替代,它使用 Apache Jersey 而不是 Spring MVC。...下面看看spring-boot-starter-web包含哪些依赖: ?...spring-boot-starter-web 3、Maven插件:spring-boot-maven-plugin Spring Boot Maven插件提供了许多方便的功能: 把项目打包成一个可执行的超级
maven-failsafe-plugin maven integration测试插件 grunt nodejs application构建工具,同类的还有gulp。...对应java的maven、gradle、ivy、ant等。...spring web 快速的构建一个restful api的web service。...其他同类的开源项目有jersey,jersey是j2ee jax-rs标准的一个实现,也是用来开发restful web service的一个很流行的开源库。...spring actuator java web程序monitoring工具包, 同类的还有prometheus。
前言 在短信平台一期工作中,为便于移动平台的开发,使用了Java Jersey框架开发RESTFul风格的Web Service接口。...简介 Jersey是JAX-RS(JSR311)开源参考实现用于构建 RESTful Web service,它包含三个部分: 核心服务器(Core Server) :通过提供JSR 311中标准化的注释和...API标准化,可以用直观的方式开发RESTful Web服务。...核心客户端(Core Client) :Jersey客户端API能够帮助开发者与RESTful服务轻松通信; 集成(Integration) :Jersey还提供可以轻松继承Spring、Guice、Apache...开发包中将以下库复制的WEB-INF下的库目录: 服务器:jersey-server.jar 、jersey-container-servlet-core.jar、jersey-container-servlet.jar
已解决:org.glassfish.jersey.server.ContainerException 一、分析问题背景 在Java开发中,使用Jersey作为RESTful Web服务的框架时...该异常通常在容器启动或处理请求时抛出,表示服务器内部发生了无法处理的错误。...以下是一个典型的场景: 场景:在一个Spring Boot项目中,开发者使用Jersey来创建RESTful API,并在启动应用程序时遇到ContainerException异常。...,应返回String而不是null return null; } } 错误分析: 返回值类型错误:方法sayHello应返回一个非空的字符串。...在编写和使用Jersey作为RESTful Web服务框架时,需要注意以下几点: 依赖配置完整性:确保所有Jersey相关依赖已正确配置,并与Spring Boot的依赖兼容。
---- REST框架 用来创建RESTful 服务的框架。 Dropwizard:偏向于自己使用的Web框架。...用来构建Web应用程序,使用了Jetty、Jackson、Jersey和Metrics。 Jersey:JAX-RS参考实现。 RESTEasy:经过JAX-RS规范完全认证的可移植实现。...Swagger:Swagger是一个规范且完整的框架,提供描述、生产、消费和可视化RESTful Web Service。 ---- 科学 用于科学计算和分析的函数库。...Keycloak:为浏览器应用和RESTful Web Service集成SSO和IDM。目前还处于beta版本,但是看起来非常有前途。...Google Web Toolkit:一组Web开发工具集,包含在客户端将Java代码转为JavaScript的编译器、XML解析器、RCP API、JUnit集成、国际化支持和GUI控件。
REST框架 用来创建RESTful 服务的框架。 Dropwizard:偏向于自己使用的Web框架。用来构建Web应用程序,使用了Jetty、Jackson、Jersey和Metrics。...Swagger:Swagger是一个规范且完整的框架,提供描述、生产、消费和可视化RESTful Web Service。 科学 用于科学计算和分析的函数库。...提供了RESTful Web接口和无schema的JSON文档。 安全 用于处理安全、认证、授权或会话管理的函数库。 Apache Shiro:执行认证、授权、加密和会话管理。...Keycloak:为浏览器应用和RESTful Web Service集成SSO和IDM。目前还处于beta版本,但是看起来非常有前途。...Google Web Toolkit:一组Web开发工具集,包含在客户端将Java代码转为JavaScript的编译器、XML解析器、RCP API、JUnit集成、国际化支持和GUI控件。
领取专属 10元无门槛券
手把手带您无忧上云