用maven创建基于wink的rest服务(一)-get请求

1.创建maven项目.
  a.配置maven环境变量MAVEN_HOME.
  b.创建一个文件夹,命名为rest-server.
    rest-server为项目的名称.
  c.在rest-server目录下创建一个pom.xml文件.
    pom.xml文件中配置的是项目需要用到的jar文件.
  d.在rest-server目录下创建一个层级目录src/main/java.
    src/main/java层级目录用来存放项目的代码;
  e.在运行窗口通过运行mvn eclipse:myeclipse-clean eclipse:myeclipse命令构建rest-server项目.
    此命令目的是为rest-server项目下载配置在pom.xml文件中的jar文件.
  注意:pom.xml文件中有一个标签是<packaging>,如果里面放war,构建的是web项目,默认构建的是jar项目.
2.创建基于wink的rest服务器.
  a.将上面构建好的rest-server项目引入到myeclipse中.
  b.在web.xml中为所有rest服务通过/rest/*配置映射,映射到RestServerApplication中.

    RestServerApplication继承jrs中的Application,用来管理所有服务,直接看代码.

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
	xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
	<display-name>rest-server</display-name>
	<servlet>
		<servlet-name>server</servlet-name>
		<servlet-class>org.apache.wink.server.internal.servlet.RestServlet</servlet-class>
		<init-param>
			<param-name>javax.ws.rs.Application</param-name>
			<param-value>com.iluck.rest.server.RestServerApplication</param-value>
		</init-param>
	</servlet>
	<servlet-mapping>
		<servlet-name>server</servlet-name>
		<url-pattern>/rest/*</url-pattern>
	</servlet-mapping>
</web-app>
package com.iluck.rest.server;

import java.util.HashSet;
import java.util.Set;

import javax.ws.rs.core.Application;

/**
 * @author IluckySi
 * @date 20140323
 */
public class RestServerApplication extends Application {

	private Set<Object> svc_singletons = new HashSet<Object>();
	
	private Set<Class<?>> svc_classes  = new HashSet<Class<?>>();

	public RestServerApplication() {
		svc_singletons.add(RestServerServiceImpl.getInstance());
	}

	@Override
	public Set<Object> getSingletons() {
		return svc_singletons;
	}
	
	@Override
	public Set<Class<?>> getClasses() {
		return svc_classes;
	}
}

  c.创建rest服务器,服务器相对简陋一些,只接受来自客户端的GET请求,直接看代码.

package com.iluck.rest.server;

import javax.ws.rs.GET;
import javax.ws.rs.Path;

/**
 * @author IluckySi
 * @date 20140323
 */
@Path("/register")
public interface RestServerService {
	
	@GET
	public String register();
}
package com.iluck.rest.server;

/**
 * @author IluckySi
 * @date 20140323
 */
public class RestServerServiceImpl implements RestServerService {

	private static RestServerServiceImpl instance = null;;
	
	public synchronized static RestServerServiceImpl getInstance() {
		if(instance == null) {
			instance = new RestServerServiceImpl();
		}
		return instance;
	}
	
	public String register(){
		System.out.println("Hello, Maven and Wink!");
		return "success";
	}
}

  d.完成上面的步骤好,部署rest-server项目,启动tomcat,然后就可以通过url
    "http://127.0.0.1:8080/rest-server/rest/register"对其进行访问了.
3.按照第一步创建名为rest-client的项目,并构建成jar项目.
4.创建基于wink的rest客户端.
  a.将上面构建好的rest-client项目引入到myeclipse中.

  b.客户端的开发和服务器端的开发相比较简单很多,直接看代码.

package com.ilucky.rest.client;

import org.apache.wink.client.Resource;
import org.apache.wink.client.RestClient;

/**
 * @author IluckySi
 * @date 20140321
 */
public class RestClientService {
	
	public static void main(String[] args)  {
		try {
			RestClient restClient = new RestClient();
	        Resource resource = restClient.resource("http://192.168.72.153:8080/rest-server/rest/register");
		    resource.get(String.class);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

  c.rest-client项目是一个jar项目,直接运行就可以看到结果了.

5.如上两个项目用到的pom.xml文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.ilucky.rest</groupId>
	<artifactId>rest-server</artifactId>
	<version>1.0.0</version>
	<packaging>war</packaging>
	<dependencies>
		
		<dependency>
			<groupId>org.apache.wink</groupId>
			<artifactId>wink-server</artifactId>
			<version>1.3.0</version>
		</dependency>
		
		  <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.3</version>
        </dependency>
		
	</dependencies>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.ilucky.rest</groupId>
	<artifactId>rest-client</artifactId>
	<version>1.0.0</version>
	<dependencies>
	
		<dependency>
			<groupId>org.apache.wink</groupId>
			<artifactId>wink-client</artifactId>
			<version>1.3.0</version>
		</dependency>
		
		 <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.3</version>
        </dependency>
        
	</dependencies>
</project>

总结:如上是用maven创建的一个基于wink的rest服务的小例子,希望能帮助到您!
点击链接http://download.csdn.net/detail/sidongxue2/7086365下载源代码!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值