与发布SOAP WS一样, 同样需要在web.xml文件中配置CXFServlet:
<!--cxf的Servlet--> <servlet> <servlet-name>CXFServlet</servlet-name> <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>CXFServlet</servlet-name> <url-pattern>/ws/*</url-pattern> </servlet-mapping>
---
其次在Spring配置文件中加入如下配置:
<bean id="restService" class="cn.lg.ws.rest.RestServiceImpl"/> <!-- 发布REST WebService --> <jaxrs:server id="restServiceContainer" address="/cxf"> <!--输入拦截器设置--> <jaxrs:inInterceptors> </jaxrs:inInterceptors> <!--输出拦截器设置--> <jaxrs:outInterceptors> </jaxrs:outInterceptors> <!--WebService服务类--> <jaxrs:serviceBeans> <ref bean="restService"/> </jaxrs:serviceBeans> <!--支持的格式--> <jaxrs:extensionMappings> <entry key="json" value="application/json"/> <entry key="xml" value="application/xml"/> </jaxrs:extensionMappings> <!--编码格式--> <jaxrs:languageMappings> <entry key="en" value="en-gb"/> </jaxrs:languageMappings> <!--对象转换--> <jaxrs:providers> </jaxrs:providers> </jaxrs:server>
---
其中RestServiceImpl类还是上一节中的服务实现类。
当Tomcat成功启动后,使用浏览器访问: http://localhost:8080/webapp/ws/
如下图说明服务发布成功(忽略SOAP服务):
使用浏览器访问: http://localhost:8080/webapp/ws/cxf/rest/get/123
注意此时端口为8080,其中ws是servlet中的url,cxf是jaxrs:server中配置的path,rest是服务类上的path,get是方法的path,123是方法的参数
上一节中使用了cxf的API来调用服务,在这里同样可以调用成功:
end