码迷,mamicode.com
首页 > 其他好文 > 详细

用Jersey构建RESTful服务1--HelloWorld

时间:2016-07-21 18:05:26      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:

本文具体代码实现参考自:http://blog.csdn.net/kkkloveyou/article/details/21391033,如有问题,请联系我。

本文仅仅是对原文做了一点补充,感谢原作者的精彩文章,对我帮助很大。

一,环境

  IDE:myeclipse10

  tomcat版本,jdk版本会在下一篇文章做详细说明。

二,项目的构建

  在https://jersey.java.net/download.html中,可以发现两条很实用的mvn指令:

  命令一:构建基于 Servlet container 的工程:

  mvn archetype:generate -DarchetypeGroupId=org.glassfish.jersey.archetypes -DarchetypeArtifactId=jersey-quickstart-webapp -DarchetypeVersion=2.23.1

技术分享

  DarchetypeVersion=2.23.1表示使用的jersey的版本为2.23.1

  使用该指令时,因为网速等关系可能会比较慢,请耐心等待,同时需要按照提示,填入必要信息。

  使用该指令创建的项目中的pom.xml已经自己添加了对jersey的依赖,不需要手动添加。

  将成功创建的工程导入到myeclipse10中,这里创建的工程位于F盘下,使用Maven4MyEclipse更新工程结构,更新依赖,就可以使用了。工程结构如下:

  技术分享

  MyResource.java文件是maven自行创建的,内容如下:

 1 package com.wudi.test;
 2 
 3 import javax.ws.rs.GET;
 4 import javax.ws.rs.Path;
 5 import javax.ws.rs.Produces;
 6 import javax.ws.rs.core.MediaType;
 7 
 8 /**
 9  * Root resource (exposed at "myresource" path)
10  */
11 @Path("myresource")
12 public class MyResource {
13 
14     /**
15      * Method handling HTTP GET requests. The returned object will be sent
16      * to the client as "text/plain" media type.
17      *
18      * @return String that will be returned as a text/plain response.
19      */
20     @GET
21     @Produces(MediaType.TEXT_PLAIN)
22     public String getIt() {
23         return "Got it!";
24     }
25 }

  命令二:构建基于 Grizzly 2 HTTP server container 的工程: 

  mvn archetype:generate -DarchetypeGroupId=org.glassfish.jersey.archetypes -DarchetypeArtifactId=jersey-quickstart-grizzly2 -DarchetypeVersion=2.23.1

  此命令构建的工程,没有接触过,不做说明。

三,具体的代码实现

  对自动生成工程的web.xml做一点修改,如下:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app version="3.0" 
 3     xmlns="http://java.sun.com/xml/ns/javaee" 
 4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 5     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
 6     http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
 7   <display-name></display-name>    
 8   <welcome-file-list>
 9     <welcome-file>index.jsp</welcome-file>
10   </welcome-file-list>   
11     <servlet>
12         <servlet-name>Jersey Web Application</servlet-name>
13         <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
14         <init-param>
15             <param-name>jersey.config.server.provider.packages</param-name>
16             <param-value>com.wudi.test</param-value>
17         </init-param>
18         <load-on-startup>1</load-on-startup>
19     </servlet>
20     <servlet-mapping>
21         <servlet-name>Jersey Web Application</servlet-name>
22         <url-pattern>/webapi/*</url-pattern>
23     </servlet-mapping>
24 </web-app>

  部署到tomcat,启动服务器,url:http://localhost:8080/jerseyDemo/webapi/myresource

技术分享

  下面再自己编写两个Demo,代码如下:

 1 package com.wudi.test;
 2 
 3 import javax.ws.rs.GET;  
 4 import javax.ws.rs.Path;  
 5 import javax.ws.rs.Produces;  
 6 import javax.ws.rs.PathParam;  
 7 import javax.ws.rs.core.MediaType;  
 8   
 9   
10 @Path("/hello")  
11 public class HelloResource {  
12     @GET  
13     @Produces(MediaType.TEXT_PLAIN)  
14     public String sayHello() {  
15         return "Hello World!" ;  
16     }  
17    
18       
19     @GET  
20     @Path("/{param}")    
21     @Produces("text/plain;charset=UTF-8")  
22     public String sayHelloToUTF8(@PathParam("param") String username) {  
23         return "Hello " + username;  
24     }  
25       
26 }  

http://localhost:8080/jerseyDemo/webapi/hello

技术分享

http://localhost:8080/jerseyDemo/webapi/hello/Way你好吗

技术分享

 

 

 

  

 

用Jersey构建RESTful服务1--HelloWorld

标签:

原文地址:http://www.cnblogs.com/jade-fairfarren/p/5692519.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!