zoukankan      html  css  js  c++  java
  • 采用CXF+spring+restful创建一个web接口项目

    这篇文章是http://blog.csdn.net/zxnlmj/article/details/28880303下面,加入的基础上的restful特征

    1、参加restful必jar包裹

    jsr311-api-1.0.jar
    
    CXF与JAX-RS版本号相应问题,參考自:http://bioubiou.iteye.com/blog/1866871
    CXF支持REST风格的Web服务:JAX-RS2.0(JSR-339)和JAX-RS1.1(JSR-311)的Java API。
    CXF2.7.0支持JAX-RS2.0(不包含clientAPI如今 - 引入的新功能。但注意CXFclientAPI已经更新,支持新的过滤器,拦截器,异常类和响应API,再加上client的异步调用API)。

    CXF2.6.x版本号,在2.5.x。2.4.x和2.3.x的支持JSR-311 API1.1和JAX-RS1.1 TCK符合。

    CXF2.2.x的支持JSR-311 API1.0和JAX-RS1.0 TCK标准。 CXF的2.1.x支持JSR-311 API0.8。

    本文选择cxf-2.4.2.jar与jsr311-api-1.0.jar

    2、开发restful服务

    新建RestfulRegeditService.java接口

    package zxn.ws.service;
    
    import java.io.IOException;
    
    import javax.ws.rs.Consumes;
    import javax.ws.rs.POST;
    import javax.ws.rs.Path;
    import javax.ws.rs.core.MediaType;
    
    @Path(value = "/")
    public interface RestfulRegeditService {
        
        @POST
        @Path("/regedit")
        @Consumes(MediaType.APPLICATION_JSON)
        public String regedit(String username, String password) throws IOException;
        
    }
    
    新建RestfulRegeditServiceImpl.java接口
    package zxn.ws.service.impl;
    
    import java.io.IOException;
    
    import javax.ws.rs.POST;
    import javax.ws.rs.Path;
    import javax.ws.rs.Produces;
    import javax.ws.rs.core.Context;
    import javax.ws.rs.core.MediaType;
    import javax.ws.rs.core.Request;
    import javax.ws.rs.core.UriInfo;
    
    import zxn.ws.service.RestfulRegeditService;
    
    
    @Path(value = "/")
    public class RestfulRegeditServiceImpl implements RestfulRegeditService {
        
        @Context
        private UriInfo uriInfo;
        
        @Context
        private Request request;
        
        @POST
        @Path("/regedit")
        @Produces(MediaType.APPLICATION_JSON)
        public String regedit(String username, String password) throws IOException {
            return "";
        } 
    }
    

    3、改动spring配置文件applicationContext.xml(粗体部分为需加入的)

    <?xml version="1.0"?>
    <beans xmlns="http://www.springframework.org/schema/b<span style="background-color: rgb(255, 255, 0);">eans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instanc</span>e" xmlns:aop="http://www.springframework.org/schema/aop"
        xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
        xmlns:jaxws="http://cxf.apache.org/jaxws" 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://www.springframework.org/schema/aop
                            http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
                            http://www.springframework.org/schema/context
                            http://www.springframework.org/schema/context/spring-context-3.0.xsd
                            http://www.springframework.org/schema/tx
                            http://www.springframework.org/schema/tx/spring-tx-3.0.xsd   http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd
                            http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd ">
        <import resource="classpath:META-INF/cxf/cxf.xml" />
        <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />

        <!-- webservice配置 ,myeclipse检測到此处有错没影响-->
        <jaxws:endpoint id="regeditService" implementor="zxn.ws.service.RegeditServiceImpl" address="/Regedit" />

    <bean id="restfulRegeditService" class="zxn.ws.service.impl.RestfulRegeditServiceImpl" />
    <!--restful服务 -->
        <jaxrs:server id="restServiceContainer" address="/regedit">
            <jaxrs:serviceBeans>
                <ref bean="restfulRegeditService" />
            </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:server></strong>
    </beans>

    4、部署到tomcat,执行。成功。界面下图:

    5、源码地址下载:http://download.csdn.net/detail/zxnlmj/7458403

    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    228. Summary Ranges
    227. Basic Calculator II
    224. Basic Calculator
    222. Count Complete Tree Nodes
    223. Rectangle Area
    221. Maximal Square
    220. Contains Duplicate III
    219. Contains Duplicate II
    217. Contains Duplicate
    Java编程思想 4th 第4章 控制执行流程
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4942280.html
Copyright © 2011-2022 走看看