使用CXF框架Jax-rs规范编写WebService服务端

前提是项目SSM框架搭建好。

搭建cxf框架,

一、首先,将框架所需要的jar导入,pom.xml文件中

<!-- cxf 进行rs开发 必须导入 -->
<dependency>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-rt-frontend-jaxrs</artifactId>
    <version>3.0.1</version>
</dependency>
<!--cxf 客户端 -->
<dependency>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-rt-rs-client</artifactId>
    <version>3.0.1</version>
</dependency>
<!-- 扩展json提供者 -->
<dependency>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-rt-rs-extension-providers</artifactId>
    <version>3.0.1</version>
</dependency>
<!-- 转换json工具包,被extension providers 依赖 -->
<dependency>
    <groupId>org.codehaus.jettison</groupId>
    <artifactId>jettison</artifactId>
    <version>1.3.7</version>
</dependency>

二、然后在web.xml中加入

<!-- 配置CXF的Servlet程序-->
<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>/ws/*</url-pattern>
</servlet-mapping>

这里的url-pattern标签中的ws是我自定的路径名字。

三、编写实体类

   在类前面加入注解  @XmlRootElement(name = "User")

                                       以后把User类转换成XML格式的数据时候,name下的名字做根节点

 

四、编写service接口

     接口前面加注解 @Produces("*/*")                        //表示响应数据的类型,任意MIMK类型

          编写方法                

                    方法前面加注解                                                                                                                                                                                                   @Get     //请求方式适用于查询 ; @POST适用新增  ;@PUT适用于修改;@DELETE适用于删除

                                      @Path("/访问路径②名字自定义,可方法名")  

                                                  如果需要传入参数则  @Path("/访问路径②名字/{参数}")              

                                       @Consumes({"application/xml","application/json"})      接收的参数类型

                                       @Produces({ "application/xml", "application/json" })      响应的数据类

 

五、新建applicationContext-cxf.xml

在配置文件中填写需要实例化的WebService需要的接口

 ( 1 )<bean id=“这里我写的接口的实现类名首字母小写”  class=“接口实现类的路径”/>

                 如:<bean  id="routeServiceImp" class="cn.itcast.service.RouteServiceImp"/>

 ( 2 )<jaxrs:server  address="访问路径的名字①">

             <jaxrs:serviceBeans>

                       <ref  bean="写上边bean的id名字"/>                //可写多个

             </jaxrs:serviceBeans>

              <jaxrs: inInterceptors>

                        <bean  class=''org.apache.cxf.interceptor.LoggingInInterceptor''/>

              </jaxrs: inInterceptors>        

              <jaxrs: outInterceptors>

                        <bean  class=''org.apache.cxf.interceptor.LoggingOutInterceptor''/>

              </jaxrs: outInterceptors>

       </jaxrs:server>

 

最终编写的服务端已经完成

     访问路径为    IP:端口号/项目名/Web中自定义的名字/配置文件中访问路径名字①/方法接口中的访问路径名字②

     例如:localhost:8080/CPE/ws/findAll

    之后浏览器会显示数据

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值