JAX-RS开发(二):hello world

1.建立maven webapp工程aty-rest。

2. 在pom文件增加spring框架、jax-rs接口、CXF实现

<dependency>
	<groupId>javax.ws.rs</groupId>
	<artifactId>javax.ws.rs-api</artifactId>
	<version>2.0</version>
</dependency>

<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-web</artifactId>
	<version>3.1.1.RELEASE</version>
</dependency>

<dependency>
	<groupId>org.apache.cxf</groupId>
	<artifactId>cxf-rt-frontend-jaxrs</artifactId>
	<version>3.0.0</version>
</dependency>

3.编写rest接口和实现类

public interface INameService
{
    @GET
    @Path("/welcome/")
    @Produces(MediaType.APPLICATION_JSON)
    public String welcome();
}

// 
@Component("nameServiceImpl")
public class NameServiceImpl implements INameService
{
    public String welcome()
    {
        return "{\"name\":123}";
    }
}

4.web.xml中启动sping和cxf

<!-- Spring -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:spring.xml</param-value>
	</context-param>
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

	<!-- CXF -->
	<servlet>
		<servlet-name>cxf</servlet-name>
		<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>cxf</servlet-name>
		<url-pattern>/rest/*</url-pattern>
	</servlet-mapping>

4.配置cxf-spring.xml,并在spring.xml中将其包含进去

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:jaxrs="http://cxf.apache.org/jaxrs"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
	http://cxf.apache.org/jaxrs
	http://cxf.apache.org/schemas/jaxrs.xsd">

	<jaxrs:server address="/greet">
		<jaxrs:serviceBeans>
			<ref bean="nameServiceImpl"/>
		</jaxrs:serviceBeans>
	</jaxrs:server>
	
</beans>


5.用maven打包,将war部署到tomcat下。

一切正常即可通过http://127.0.0.1:8080/aty-rest/rest/greet/welcome访问我们发布的rest服务。





你可能感兴趣的:(JAX-RS开发(二):hello world)