Jersey 2.17 + Tomcat + Maven 构建restful service 实例
2017-01-06 15:45
591 查看
1.首先构建一个Maven webapp工程,这个很简单就略过了。
2.在pom.xml里面添加jersey 2.17的依赖:
[html] view plain copy print?
<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的描述:
[html] view plain copy print?
<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:
[java] view plain copy print?
@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;
}
}
[java] view plain copy print?
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以上
2.在pom.xml里面添加jersey 2.17的依赖:
[html] view plain copy print?
<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>
<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的描述:
[html] view plain copy print?
<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>
<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:
[java] view plain copy print?
@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;
}
}
@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:
[java] view plain copy print?
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; } }
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以上
相关文章推荐
- Jersey 2.17 + Tomcat + Maven 构建restful service 实例
- Jersey 2.17 + Tomcat + Maven 构建restful service 实例
- 在Eclipse中使用Jersey和Tomcat构建RESTful WebService及其调用
- 使用maven构建java9 service实例
- Jersey 2 和 Spring 4 构建 RESTful web service
- 使用maven构建java9 service实例详解
- IDEA+Maven+Embedded Jetty+Jersey构建Restful服务并打包成jar包发布
- 在Eclipse中使用Jersey和Tomcat构建RESTful WebService及其调用
- jersey+maven构建restful服务--入门篇
- jersey+maven构建restful服务--入门篇
- Maven+Jersey+Eclipse+Tomcat编写JAX-RS 2.0 RESTful示例
- Eclipse, tomcat7.0, maven,git 构建RESTful风格的web 工程(搭建环境)
- 一个实例演示jersey框架实现RESTful风格的Webservice,并发布到Tomcat,以及客户端调用示范
- IntelliJ 创建Tomcat + Maven +Jersey Restful 工程
- restful web service [helloworld] [intellij idea] [JavaEE5] [Maven] [Tomcat]
- glassfish.jersey构建RESTful服务实例
- jersey+maven构建restful服务
- jersey+maven构建restful服务--入门篇
- 使用Jersey+Spring+Tomcat构建RESTful Web服务
- Build a RESTful Web service using Jersey and Apache Tomcat