0

0

jersey2搭建流程

php中文网

php中文网

发布时间:2016-06-07 15:42:54

|

1580人浏览过

|

来源于php中文网

原创

一:环境介绍 (1)Jersey2.5.1 (2)Eclipse 3.7 Tomcat 7 JDK 7 二:搭建步骤 (1)通过地址https://jersey.java.net/下载jaxrs-ri-2.5.1.zip。 (2)通过Eclipse 创建动态工程RestDemo。 (3)解压jaxrs-ri-2.5.1.zip,拷贝下图列表中的JAR包到RestDemo\W

一:环境介绍 
(1)Jersey2.5.1  
(2)Eclipse 3.7 +Tomcat 7 +JDK 7

二:搭建步骤 
(1)通过地址https://jersey.java.net/ 下载jaxrs-ri-2.5.1.zip。 
(2)通过Eclipse 创建动态工程RestDemo。 
(3)解压jaxrs-ri-2.5.1.zip,拷贝下图列表中的JAR包到RestDemo\WebContent\WEB-INF\lib下。 
jersey2搭建流程

(4)创建包路径  cn.com.vs.vo,创建User.java: 


package cn.com.vs.vo; 
import javax.xml.bind.annotation.XmlRootElement; 
@XmlRootElement
public class User {
 
 private String name;
 
 private String age;
 
 private String sex;
 
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public String getAge() {
  return age;
 }
 public void setAge(String age) {
  this.age = age;
 }
 public String getSex() {
  return sex;
 }
 public void setSex(String sex) {
  this.sex = sex;
 }


(5)创建包路径  cn.com.vs.service,创建RestService.java: 


package cn.com.vs.service; 
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType; 
import cn.com.vs.vo.User; 
@Path("/restService")
public class RestService {
 @GET
 @Path("/getUserText")
 @Produces(MediaType.TEXT_PLAIN)
 public String getUserText() {
  return "Hello,World!";
 }
 
 @GET
 @Path("/getUserXml")
 @Produces(MediaType.APPLICATION_XML)
 public User getUserXml() {
  User user  = new User();
  user.setName("snail");
  user.setAge("22");
  user.setSex("male");
  return user;
 }
 
 @GET
 @Path("/getUserJson")
 @Produces(MediaType.APPLICATION_JSON)
 public User getUserJson() {
  User user  = new User();
  user.setName("snail");
  user.setAge("22");
  user.setSex("male");
  return user;
 }
}


(6)在 cn.com.vs 包路径下创建类 RestApplication.java 


package cn.com.vs; 
import org.glassfish.jersey.filter.LoggingFilter;
import org.glassfish.jersey.server.ResourceConfig; 
public class RestApplication extends ResourceConfig { 
    public RestApplication() {
     //服务类所在的包路径
     packages("cn.com.vs.service");
      //打印访问日志,便于跟踪调试,正式发布可清除 
     register(LoggingFilter.class);
    } 


(7)修改web.xml,内容如下: 




  RestDemo
 
  mobile
  org.glassfish.jersey.servlet.ServletContainer
  
            javax.ws.rs.Application
            cn.com.vs.RestApplication
       

  1
 
 
 
  mobile
  /rest/*
 

 
    index.html
 

 


(8)在 Tomcat7 中部署运行,查看发布效果: 
     获取 文本数据: 
jersey2搭建流程

     获取XML数据: 
jersey2搭建流程


  获取JSON数据:http://localhost:8080/RestDemo/rest/restService/getUserJson ,会出现如下异常: 

[org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException: MessageBodyWriter not found for media type=application/json, type=class cn.com.vs.vo.User, genericType=class cn.com.vs.vo.User.] with root cause
org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException: MessageBodyWriter not found for media type=application/json, type=class cn.com.vs.vo.User, genericType=class cn.com.vs.vo.User.


说明:如果通过glassfish-4.0运行的话,是没任何问题的!如果通过tomcat,需要添加JSON转换器。 
(9)解决获取JSON数据的异常,途径一: 
     a)下载 jackson-all-1.9.11.jar ,放到lib下。 
     b)修改RestApplication.java,内容如下: 


package cn.com.vs; 
import org.codehaus.jackson.jaxrs.JacksonJsonProvider;
import org.glassfish.jersey.filter.LoggingFilter;
import org.glassfish.jersey.server.ResourceConfig; 
public class RestApplication extends ResourceConfig { 
    public RestApplication() {
     //服务类所在的包路径
     packages("cn.com.vs.service");
     //注册JSON转换器
     register(JacksonJsonProvider.class);

      //打印访问日志,便于跟踪调试,正式发布可清除 
     register(LoggingFilter.class);
    } 


(10)解决获取JSON数据的异常,途径二:   
    a) 下载 glassfish-4.0.zip ,解压,拷贝下列JAR到lib下: 
      jersey2搭建流程

   b)修改RestApplication.java,内容如下: 


package cn.com.vs; 
import org.glassfish.jersey.filter.LoggingFilter;
import org.glassfish.jersey.jackson.JacksonFeature;
import org.glassfish.jersey.server.ResourceConfig; 
public class RestApplication extends ResourceConfig { 
    public RestApplication() {
     //服务类所在的包路径
     packages("cn.com.vs.service");
     //注册JSON转换器
     register(JacksonFeature.class); 

      //打印访问日志,便于跟踪调试,正式发布可清除 
     register(LoggingFilter.class);
    } 


(11)选择上述途径中的一种,然后发布启动,获取JSON数据,即可成功,如下: 
jersey2搭建流程



附件是我搭建的demo,由于目前最新版本为jersey2.13.我使用的是jersey2。13.jersey2搭建流程

相关专题

更多
c++主流开发框架汇总
c++主流开发框架汇总

本专题整合了c++开发框架推荐,阅读专题下面的文章了解更多详细内容。

79

2026.01.09

c++框架学习教程汇总
c++框架学习教程汇总

本专题整合了c++框架学习教程汇总,阅读专题下面的文章了解更多详细内容。

46

2026.01.09

学python好用的网站推荐
学python好用的网站推荐

本专题整合了python学习教程汇总,阅读专题下面的文章了解更多详细内容。

121

2026.01.09

学python网站汇总
学python网站汇总

本专题整合了学python网站汇总,阅读专题下面的文章了解更多详细内容。

12

2026.01.09

python学习网站
python学习网站

本专题整合了python学习相关推荐汇总,阅读专题下面的文章了解更多详细内容。

15

2026.01.09

俄罗斯手机浏览器地址汇总
俄罗斯手机浏览器地址汇总

汇总俄罗斯Yandex手机浏览器官方网址入口,涵盖国际版与俄语版,适配移动端访问,一键直达搜索、地图、新闻等核心服务。

71

2026.01.09

漫蛙稳定版地址大全
漫蛙稳定版地址大全

漫蛙稳定版地址大全汇总最新可用入口,包含漫蛙manwa漫画防走失官网链接,确保用户随时畅读海量正版漫画资源,建议收藏备用,避免因域名变动无法访问。

370

2026.01.09

php学习网站大全
php学习网站大全

精选多个优质PHP入门学习网站,涵盖教程、实战与文档,适合零基础到进阶开发者,助你高效掌握PHP编程。

45

2026.01.09

php网站搭建教程大全
php网站搭建教程大全

本合集专为零基础用户打造,涵盖PHP网站搭建全流程,从环境配置到实战开发,免费、易懂、系统化,助你快速入门建站!

12

2026.01.09

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Vue 教程
Vue 教程

共42课时 | 6.3万人学习

Django 教程
Django 教程

共28课时 | 3万人学习

React 教程
React 教程

共58课时 | 3.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号