您的位置:首页 > 运维架构 > Tomcat

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

2015-05-02 11:35 441 查看
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以上
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: