jersey+maven构建restful服务--入门篇

转自:http://blog.csdn.net/liuchuanhong1/article/details/52880598

一、新建一个Maven Web项目

a) 新建一个简单的Maven项目

 


 

 建好之后的项目工程结构如下:

 

b) 将简单的Maven项目转成Web项目

 

 

注意勾选生成web.xml文件

 

最终的项目结构如下:

 

 

c) 添加Maven依赖

 

 

 

二、修改pom文件,添加jersey依赖

[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. <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/xsd/maven-4.0.0.xsd">  
  2.   <modelVersion>4.0.0</modelVersion>  
  3.   <groupId>com.chhliu</groupId>  
  4.   <artifactId>jersey-restful</artifactId>  
  5.   <version>0.0.1-SNAPSHOT</version>  
  6.   <packaging>war</packaging>  
  7.   <name>jersey-restful</name>  
  8.   <description>jersey构建restful服务入门</description>  
  9.     
  10.   <dependencies>  
  11.         <dependency>  
  12.             <groupId>org.glassfish.jersey.containers</groupId>  
  13.             <artifactId>jersey-container-servlet</artifactId>  
  14.             <version>2.17</version>  
  15.         </dependency>  
  16.         <dependency>  
  17.             <groupId>org.glassfish.jersey.core</groupId>  
  18.             <artifactId>jersey-client</artifactId>  
  19.             <version>2.17</version>  
  20.         </dependency>  
  21.         <dependency>  
  22.             <groupId>org.glassfish.jersey.media</groupId>  
  23.             <artifactId>jersey-media-json-jackson</artifactId>  
  24.             <version>2.17</version>  
  25.         </dependency>  
  26.     </dependencies>  
  27. </project>  
三、修改 web.xml 文件

[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">  
  3.   <display-name>jersey-restful</display-name>  
  4.   <servlet>    
  5.       <servlet-name>jersey-restful</servlet-name>    
  6.       <servlet-class>    
  7.           org.glassfish.jersey.servlet.ServletContainer    
  8.       </servlet-class>    
  9.       <init-param>    
  10.           <param-name>jersey.config.server.provider.packages</param-name>    
  11.           <param-value>com.chhliu</param-value>    
  12.       </init-param>    
  13.       <load-on-startup>1</load-on-startup>    
  14.   </servlet>    
  15.   <servlet-mapping>    
  16.       <servlet-name>jersey-restful</servlet-name>    
  17.       <url-pattern>/rest/*</url-pattern>    
  18.   </servlet-mapping>  
  19. </web-app>  


四、构建RestFul服务

a) 新建一个VO

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. public class User implements Serializable {  
  2.     private static final long serialVersionUID = 1L;  
  3.   
  4.     private int id;  
  5.     private String name;  
  6. }  

b) 构建服务

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. @Path("/helloworld")  
  2. public class RestfulHelloWorld {  
  3.     @GET  
  4.     @Produces(MediaType.TEXT_PLAIN)  
  5.     public String sayHelloWorld() {  
  6.         return "Hello World!";  
  7.     }  
  8.   
  9.     @GET  
  10.     @Path("/{param}")  
  11.     @Produces("text/plain;charset=UTF-8")  
  12.     public String sayHello2UserByText(@PathParam("param") String username) {  
  13.         return "Hello " + username;  
  14.     }  
  15.   
  16.     @GET  
  17.     @Path("/get")  
  18.     @Produces(MediaType.APPLICATION_JSON)  
  19.     public User sayHelloToUserByJson(@QueryParam("username") String username) {  
  20.         User user = new User();  
  21.         user.setId(1);  
  22.         user.setName(username);  
  23.         return user;  
  24.     }  
  25. }  
c) 发布服务

 

d) 测试服务

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. http://localhost:8080/jersey-restful/rest/helloworld  
  2. http://localhost:8080/jersey-restful/rest/helloworld/chhliu  
  3. http://localhost:8080/jersey-restful/rest/helloworld/get?username=chhliu  
测试结果如下:
[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. Hello World!  
  2. Hello chhliu  
  3. {"id":1,"name":"chhliu"}  


  4. JDK请用1.7以上

    Tomcat请用7.0以上


  5. http://pan.baidu.com/s/1c03Tjbi


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值