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以上