2025年JAVA基础 - JERSEY简介

JAVA基础 - JERSEY简介是什么 JERSEY 是基于 JAVA 的 轻量级的 RESTful 风格的 WEB SERVICES 框架 是 JAX RS JSR311 开源参考实现 JERSEY 框架不只是 JAX RS 参考实现 还提供了自己的 API 进一步简化了 RESTful 服务和客户端开发 JERSEY 官网 https

大家好,我是讯享网,很高兴认识大家。

是什么

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); } } } 
小讯
上一篇 2025-03-30 14:18
下一篇 2025-02-19 07:14

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/25697.html