Jersey实现Restful服务(实例讲解)
发布时间 - 2026-01-11 02:41:21 点击率:次jersey 是基于Java的一个轻量级RESTful风格的Web Services框架。以下我基于IDEA实现Restful完整Demo。

1.创建maven-web工程,后面就是正常的maven工程创建流程。
2.添加Jersey框架的maven文件。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.restful</groupId> <artifactId>jerseyDemo</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>jerseyDemo Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.glassfish.jersey.containers</groupId> <artifactId>jersey-container-servlet</artifactId> <version>2.9</version> </dependency> <dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-client</artifactId> <version>2.9</version> </dependency> <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-json-jackson</artifactId> <version>2.9</version> </dependency> <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-client</artifactId> <version>1.19.3</version> </dependency> </dependencies> <build> <finalName>jerseyDemo</finalName> </build> </project>
3.Restful接口定义。
package com.restful.service;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.restful.entity.PersonEntity;
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Created by XuHui on 2017/8/2.
*/
@Path("/JerseyService")
public class JerseyService {
private static Map<String, PersonEntity> map = new HashMap<String, PersonEntity>();
@GET
@Path("/getAllResource")
@Produces(MediaType.APPLICATION_JSON)
public String getAllResource() throws JsonProcessingException {
List<PersonEntity> list = new ArrayList<PersonEntity>();
for (PersonEntity entity : map.values()) {
list.add(entity);
}
ObjectMapper mapper = new ObjectMapper();
return mapper.writeValueAsString(list);
}
@GET
@Path("/getResourceById/{id}")
@Produces(MediaType.APPLICATION_JSON)
public String getResource(@PathParam("id") String id) throws JsonProcessingException {
ObjectMapper mapper = new ObjectMapper();
return mapper.writeValueAsString(map.get(id));
}
@POST
@Path("/addResource/{person}")
@Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
@Produces(MediaType.APPLICATION_JSON)
public String addResource(String person) throws IOException {
ObjectMapper mapper = new ObjectMapper();
PersonEntity entity = mapper.readValue(person, PersonEntity.class);
map.put(entity.getId(), entity);
return mapper.writeValueAsString(entity);
}
@GET
@Path("/getRandomResource")
@Produces(MediaType.APPLICATION_JSON)
public String getRandomResource() throws JsonProcessingException {
ObjectMapper mapper = new ObjectMapper();
PersonEntity entity = new PersonEntity("NO1", "Joker", "http:///");
return mapper.writeValueAsString(entity);
}
}
PersonEntity实体类实现。
package com.restful.entity;
/**
* Created by XuHui on 2017/8/2.
*/
public class PersonEntity {
private String id;
private String name;
private String addr;
public PersonEntity() {
}
public PersonEntity(String id, String name, String addr) {
this.id = id;
this.name = name;
this.addr = addr;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
@Override
public String toString() {
return "PersonEntity{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", addr='" + addr + '\'' +
'}';
}
}
4.web.xml配置。
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Archetype Created Web Application</display-name> <servlet> <servlet-name>Jersey RESTful Application</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.restful</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>Jersey RESTful Application</servlet-name> <url-pattern>/rest/*</url-pattern> </servlet-mapping> </web-app>
5.搭建本地tomcat
6.运行结果、http://localhost:8080/jerseyDemo/rest/application.wadl是所有对外接口的调用方法。使用postman来看看这个接口是怎么调用的吧。
POST请求
GET请求
以上这篇Jersey实现Restful服务(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# Jersey实现Restful服务
# 基于Restful接口调用方法总结(超详细)
# Spring Boot构建优雅的RESTful接口过程详解
# Java 调用Restful API接口的几种方式(HTTPS)
# 极简的Resty服务端和客户端RESTful框架
# 给大家
# 是怎么
# 希望能
# 来看看
# 这篇
# 小编
# 大家多多
# 是基于
# 实体类
# dependency
# junit
# dependencies
# Webapp
# url
# glassfish
# containers
# test
# scope
# Maven
# artifactId
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
javascript基本数据类型及类型检测常用方法小结
Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例
Laravel怎么清理缓存_Laravel optimize clear命令详解
网站制作大概多少钱一个,做一个平台网站大概多少钱?
jQuery中的100个技巧汇总
详解Android——蓝牙技术 带你实现终端间数据传输
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程
手机软键盘弹出时影响布局的解决方法
网站图片在线制作软件,怎么在图片上做链接?
如何用AWS免费套餐快速搭建高效网站?
高防服务器租用如何选择配置与防御等级?
DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解
PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】
如何在IIS7中新建站点?详细步骤解析
Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
EditPlus中的正则表达式 实战(2)
1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤
百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧
如何基于PHP生成高效IDC网络公司建站源码?
如何在Windows环境下新建FTP站点并设置权限?
googleplay官方入口在哪里_Google Play官方商店快速入口指南
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何制作一个表白网站视频,关于勇敢表白的小标题?
Bootstrap整体框架之JavaScript插件架构
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】
怎么用AI帮你设计一套个性化的手机App图标?
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控
想要更高端的建设网站,这些原则一定要坚持!
新三国志曹操传主线渭水交兵攻略
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
js实现获取鼠标当前的位置
Laravel如何实现数据库事务?(DB Facade示例)
EditPlus中的正则表达式实战(5)
Python面向对象测试方法_mock解析【教程】
Java解压缩zip - 解压缩多个文件或文件夹实例
Firefox Developer Edition开发者版本入口
如何正确选择百度移动适配建站域名?
详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
香港服务器选型指南:免备案配置与高效建站方案解析
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
Swift开发中switch语句值绑定模式
如何在万网自助建站平台快速创建网站?
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
Laravel如何实现API版本控制_Laravel API版本化路由设计策略
网站建设保证美观性,需要考虑的几点问题!
佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】

