`
xkmoo
  • 浏览: 4448 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

基于CXF开发RESTFul服务

    博客分类:
  • java
阅读更多
   REST也就是Representational State Transfer。REST并不特指一种技术,也不是一个标准,它仅仅是一个构架风格。REST 指的是一组架构约束条件和原则。满足这些约束条件和原则通过网络暴露资源给用户。事实上,WWW就是经典的REST架构风格。在服务器端,应用程序状态和功能可以分为各种资源。它向客户端公开。每个资源都使用 URI (Universal Resource Identifier) 得到一个惟一的地址。所有资源都共享统一的界面,以便在客户端和服务器之间传输状态。使用的是标准的 HTTP 方法,比如 GET、PUT、POST 和 DELETE。客户端通过交换各种资源的表现体来查询或更新资源。资源的表现体包括HTML,XML,JSON等。客户端需要解析响应服务器的表现体。客户端和服务器之间的交互在请求之间是无状态的,无状态请求可以由任何可用服务器应答。
   下面是一个RESTfu例子提供POST和GET两种方式就直接上代码了
   首先在web.xml中添加
   <servlet>
    <servlet-name>testCxf</servlet-name>
    <servlet-class>包名.UserInterface</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>testCxf</servlet-name>
    <url-pattern>/ws/*</url-pattern>
  </servlet-mapping>
然后编写UserInterface类
 
@Path("/userWebServlet")
public class UserInterface extends BaseDao {

private JSONObject jsonobj=new JSONObject();
private JsonDataForWeb jw=new JsonDataForWeb();
    /**
     * 用户登录
     *
     */
    @POST
@Path("/login")
public Response login(@FormParam("utel") String utel,@FormParam("upass") String upass) throws IOException{
//新建一个user对象
Userinfo user=new Userinfo();
    //给user对象的属性赋值
user.setuPass(upass);
user.setuTel(utel);
Userinfo userinfo=session.selectOne("com.dao.UserDao.login",user);
        //创建一个JSONObject对象,将数据封装到JSONObject中,发送给客户端
        int data=(userinfo!=null)?userinfo.getuId():0;
jsonobj.put("data", data);
return Response.ok(jsonobj.toString()).build();

}
       用户注册
       @GET
@Path("/register/{utel},{upass}")
public Response register(@FormParam("utel") String utel,@FormParam("upass") String upass) throws IOException{
//新建一个user对象
Userinfo user=new Userinfo();
    //给user对象的属性赋值
user.setuPass(upass);
user.setuTel(utel);
Userinfo userinfo=session.selectOne("com.dao.UserDao.register",user);
        //创建一个JSONObject对象,将数据封装到JSONObject中,发送给客户端
        int data=(userinfo!=null)?userinfo.getuId():0;
jsonobj.put("data", data);
return Response.ok(jsonobj.toString()).build();

}
}

最后servlet过滤器并且在这个过滤器中设置JAXRSServerFactoryBean 将要发布的接口添加到factoryBean中就可以了

public class UserWebServlet extends CXFNonSpringServlet {


private static final long serialVersionUID = 1L;
@Override
protected void loadBus(ServletConfig cf)
{
super.loadBus(cf);
UserInterface cls=new UserInterface();
ShopInterface spf=new ShopInterface();
//Web server工厂
    JAXRSServerFactoryBean restServer = new JAXRSServerFactoryBean();
    //服务请求路径
    restServer.setAddress("/cxfz");
    //设置服务实现类
    restServer.setServiceBean(cls);
    restServer.create();
}
}

到此一个基于cxf就可以发布,然后访问路径为:
POST的访问路径
http://localhost:8080/工程名称//ws/cxfz/userWebServlet/login
GET的访问路径
http://localhost:8080/工程名称//ws/cxfz/userWebServlet/register/admin,123456
分享到:
评论

相关推荐

    CXF Restful服务简单例子

    【CXF Restful服务简单例子】\n\n在IT行业中,Apache CXF是一个广泛使用的开源框架,它允许开发人员创建和消费Web服务。RESTful(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,基于...

    cxf webservice restful实现

    - 创建服务接口:首先定义RESTful服务的Java接口,通常这些接口会使用JAX-RS注解(如`@Path`、`@GET`、`@POST`等)来指定资源路径和HTTP方法。 - 实现服务接口:接着编写实现类,提供实际的业务逻辑。 - 配置CXF...

    用CXF开发RESTful风格WebService

    用CXF开发RESTful风格WebService RESTful风格WebService是一种基于HTTP协议的WebService,使用CXF(Apache CXF)开发RESTful风格WebService可以提供灵活、可扩展的WebService解决方案。下面将详细介绍如何使用CXF...

    cxf实现restful资料

    CXF,全称Apache CXF,是一个开源的Java框架,它提供了丰富的功能来帮助开发者创建和消费Web服务,包括RESTful服务。本资料主要讲解如何使用Spring与CXF集成,来发布RESTful服务,并提供了相关的项目案例和代码。 ...

    Spring CXF Restful 实例

    通过这个“Spring CXF Restful实例”,开发者将学习到如何在Spring环境中使用CXF构建高效、可维护的RESTful服务。实践中,不断优化接口设计,提高API的易用性和性能,是提升开发效率和用户体验的关键。

    基于CXF的RESTful Web Service访问服务研究.pdf

    CXF(Celtrix for eXtreme programming)是一个开源的全功能服务框架,被广泛用于构建和开发Web服务,尤其是RESTful Web服务。在现代开发中,RESTful风格因其简单性和易用性而成为一种流行的Web服务架构设计风格。...

    cxf_restful_webservice

    在本项目中,CXF是实现RESTful服务的关键技术。 - **REST**:REST是一种架构风格,用于构建分布式系统,特别是Web服务。它强调通过HTTP方法(GET、POST、PUT、DELETE等)来操作资源,使服务更加直观和简洁。在CXF...

    SpringBoot+Mybatis+CXF框架,实现Restful api与 WebService api接口的大实验

    CXF是一个基于Apache的开源WebService框架,提供了丰富的WebService开发功能。 5. Mybatis:在本实验中,我们使用Mybatis来实现数据库操作。Mybatis是一个基于Java的持久层框架,提供了丰富的数据库操作功能。 6. ...

    利用CXF发布restful WebService 研究

    1. **CXF框架介绍**:介绍CXF的基本概念,它的功能特性,以及为什么选择CXF作为RESTful服务的实现框架。 2. **环境搭建**:指导如何设置开发环境,包括JDK版本要求,CXF的下载与安装,以及IDE(如Eclipse或IntelliJ...

    CXF3.0+Spring3.2 RESTFul服务(下)

    CXF,一个强大的开源服务框架,支持SOAP和RESTful服务,而Spring作为Java应用开发的基石,提供了强大的依赖注入和管理能力。本文将深入探讨如何结合CXF3.0.2和Spring3.2.14来构建RESTful服务,并以JSON作为数据交换...

    cxf发布RestFul接口。 maven

    CXF(Camel XFire)是一个强大的服务框架,它允许开发者以多种方式创建和部署Web服务,包括基于Java API for RESTful Web Services (JAX-RS)的RESTful接口和基于Java API for XML Web Services (JAX-WS)的SOAP服务。...

    基于 cxf 2.7.5 开发的 webservice [soap restful]

    在CXF中,可以通过JAX-RS(Java API for RESTful Web Services)规范来快速开发RESTful服务,实现HTTP方法(GET、POST、PUT、DELETE等)与业务逻辑的映射。 4. **CXF 2.7.5版本特性** - 支持WSDL 2.0,使得服务...

    cxf集成Spring的restful WebService接口

    总之,通过将CXF与Spring框架集成,我们可以利用Spring的强大功能来管理和配置服务,同时利用CXF的灵活性来快速开发RESTful接口。这种组合为Java开发者提供了一个高效且可扩展的解决方案,用于构建现代化的、基于...

    CXF restful风格WebService

    使用CXF开发RESTful服务,我们可以利用JAX-RS(Java API for RESTful Web Services)规范,它是Java平台上的RESTful服务开发标准。 **三、CXF与JAX-RS** JAX-RS提供了一组注解,如`@Path`、`@GET`、`@POST`、`@PUT...

    springMVC_ibatis_redis_cxf_restful框架整合代码实例

    1.简单的ibatis多表级联 2.基于cxf的restful接口开发,包括文件上传(文档,图片等)接口 3.redis缓存服务,通过spring的aop来控制 4.file表太大,我给清空了,测试的是注意报错 5.本人测试通过,有问题可交流

    spring,cxf,restful发布webservice传递List,Map,List&lt;Map&gt;

    Spring、CXF和RESTful是构建Web服务的重要技术。本文将深入探讨如何使用这些技术来发布Web服务,特别是涉及复杂对象如List、Map及List的传递。 首先,Spring框架是一个Java企业级应用开发的强大工具,它提供了众多...

    基于cxf的web服务开发

    【基于CXF的Web服务开发】是Web服务领域中一种基于开源框架CXF实现的方式,它为企业级应用程序提供高效、灵活的服务集成方案。CXF是一个强大的、全面的开放源码服务框架,支持多种Web服务标准,包括SOAP、RESTful、...

    CXF RESTful spring maven CRUD

    综上所述,这个项目提供了一个全面的学习平台,涵盖了使用CXF、Spring和Maven构建RESTful服务的基础知识,以及如何在无数据库环境下进行CRUD操作。对于初学者来说,这是一个了解和实践这些技术的绝佳起点。

    在同一个系统里用cxf 实现SOAP 协议和RESTful风格 两种类型的webservice接口

    1. Spring配置文件:定义了CXF的Servlet配置,以及SOAP和RESTful服务的bean。 2. SOAP服务接口和实现:定义了服务接口,并实现了业务逻辑。 3. RESTful资源类:定义了资源类及其HTTP操作方法。 4. 测试客户端:可能...

Global site tag (gtag.js) - Google Analytics