• 采用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

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

  • 相关阅读:
    ES6新特性概览
    ECMAScript 位运算符
    jQuery源码分析系列(39) : 动画队列
    浏览器的工作原理:新式网络浏览器幕后揭秘
    jQuery源码分析系列(38) : 队列操作
    正则表达式30分钟入门教程
    jQuery源码分析系列(37) : Ajax 总结
    jQuery源码分析系列(36) : Ajax
    jQuery源码分析系列(35) : Ajax
    jQuery源码分析系列(34) : Ajax
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4942280.html
Copyright © 2020-2023  润新知