Jersey 2.17 + Tomcat + Maven 构建restful service 实例

1.首先构建一个Maven webapp工程,这个很简单就略过了。

2.在pom.xml里面添加jersey 2.17的依赖:

<dependency>
   <groupId>org.glassfish.jersey.containers</groupId>
   <artifactId>jersey-container-servlet</artifactId>
   <version>2.17</version>
</dependency>
<dependency>
   <groupId>org.glassfish.jersey.core</groupId>
   <artifactId>jersey-client</artifactId>
   <version>2.17</version>
</dependency>
<dependency>
   <groupId>org.glassfish.jersey.media</groupId>
   <artifactId>jersey-media-json-jackson</artifactId> 
   <version>2.17</version>
</dependency>


3.在web.xml里面添加jersey servlet的描述:

  <servlet>
        <servlet-name>jersey-rest</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.newegg.ec.mars</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>jersey-rest</servlet-name>
        <url-pattern>/rest/*</url-pattern>
    </servlet-mapping>


4.编写代码:

RestfulDemo.java:

@Path("/demo")  
public class RestfulDemo {
	 	@GET  
	    @Produces(MediaType.TEXT_PLAIN)  
	    public String sayHello() {  
	        return "Hello World!" ;  
	    }  
	   
	      
	    @GET  
	    @Path("/{param}")    
	    @Produces("text/plain;charset=UTF-8")  
	    public String sayHelloToUTF8(@PathParam("param") String username) {  
	        return "Hello " + username;  
	    }  
	    
	    @GET  
	    @Path("/get")    
	    @Produces(MediaType.APPLICATION_JSON)  
	    public User sayHelloToJson(@QueryParam("username") String username) {  
	    	User user= new User();
	    	user.setId(1);
	    	user.setName(username);
	        return user;  
	    }  
	    
	    
	    @POST
	    @Path("/update")    
	    @Consumes(MediaType.APPLICATION_JSON)
	    @Produces(MediaType.APPLICATION_JSON)  
	    public User updateUser(User user) {  
	    	user.setId(2);
	    	user.setName("update name:"+user.getName());
	        return user;  
	    }
}
User.java:

public class User  implements Serializable {
	private static final long serialVersionUID = 1L;
	private int id;
	private String name;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}

}

4.把webapp打成war包,发布到tomcat中去。

访问http://localhost:8080/rest/demo,页面打出hello world.

访问http://localhost:8080/rest/demo/zhangsan ,页面打出hello zhangsan

访问http://localhost:8080/rest/demo/get?username=zhangsan ,页面返回User对象的json格式

访问http://localhost:8080/rest/demo/update,post提交user对象的json格式,返回更新user对象的json格式。


5.注意:

JDK请用1.7以上

Tomcat请用7.0以上


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值