CN103501341A - 一种Web服务的创建方法及装置 - Google Patents
一种Web服务的创建方法及装置 Download PDFInfo
- Publication number
- CN103501341A CN103501341A CN201310466028.XA CN201310466028A CN103501341A CN 103501341 A CN103501341 A CN 103501341A CN 201310466028 A CN201310466028 A CN 201310466028A CN 103501341 A CN103501341 A CN 103501341A
- Authority
- CN
- China
- Prior art keywords
- web
- engineering
- jersey
- web service
- class
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供一种Web服务的创建方法及装置,涉及计算机技术领域,能够提高基于REST的Web服务的创建效率及响应速度。该方法包括:创建Web工程,并将Web工程与Jersey进行整合,根据预设的软件接口,连接Web工程和Jetty服务器,按照预设命令,通过JDBI连接Web工程和数据库,以创建与Web工程对应的Web服务。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种Web服务的创建方法及装置。
背景技术
目前,随着互联网应用,如社交网络、网络支付等的发展,互联网用户的数量快速增长起来。由于REST(Representational StateTransfer,表述性状态转移)优先考虑分布性和扩展性的特点,特别适合用户的数量快速增长的互联网领域,因此,在互联网用户快速增长的今天,开发高性能、易维护的基于REST的Web服务已成为关键。
现有技术中,开发人员通常使用Spring框架创建基于REST的Web服务。开发人员通过使用.XML文件配置Spring,并用Tomcat以嵌入式的方式作为HTTP(Hypertext Transport Protocol,超文本传送协议)的服务容器,以及使用Hibernate与数据库建立连接而完成基于REST的Web服务的创建。
然而,在使用Spring框架创建基于REST的Web服务时,一方面由于配置Spring时使用的.XML文件较多,因此导致基于REST的Web服务的创建效率较低;另一方面,由于Tomcat的整体结构比较复杂,因此导致基于REST的Web服务的响应速度较慢。
发明内容
本发明实施例提供的一种Web服务的创建方法及装置,能够提高基于REST的Web服务的创建效率及响应速度。
为达到上述目的,本发明实施例采用如下技术方案:
第一方面,本发明的实施例提供一种Web服务的创建方法,包括:
创建Web工程,并将所述Web工程与Jersey进行整合;
根据预设的软件接口,连接所述Web工程和Jetty服务器;
按照预设命令,通过JDBI连接所述Web工程和数据库,以创建与所述Web工程对应的Web服务。
在第一方面的第一种可能实现方式中,所述将所述Web工程与Jersey进行整合,具体包括:
将所述Jersey的核心类库添加至所述Web工程的配置文件;
在所述Web工程的配置文件中配置所述Jersey的拦截器。
结合前述的第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述根据预设的软件接口,连接所述Web工程和Jetty服务器,具体包括:
根据所述软件接口,在所述Web工程中嵌入所述Jetty服务器中的数据信息,以将所述Jetty服务器作为超传输协议文本HTTP应用的服务容器。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述创建Web工程,并将所述Web工程与Jersey进行整合之后,所述方法还包括:
创建实体类,并将所述数据库中预设的对应表的字段映射至所述实体类的实体对象的属性;
创建实现类,并将所述HTTP应用映射至所述实现类,以及通过所述实现类对所述实体对象进行预设操作,所述预设操作包括:创建、读取、更新及删除中的至少一项。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述创建与所述Web工程对应的Web服务之后,所述方法还包括:
通过所述Jetty服务器利用JAX-RS,接收客户端发送的HTTP访问请求,所述HTTP访问请求用于请求对所述数据库进行所述预设操作;
通过所述Jetty服务器将所述HTTP访问请求发送至所述Jersey;
通过所述Jersey利用JDBI对所述数据库进行与所述HTTP访问请求对应的所述预设操作。
第二方面,本发明的实施例提供一种Web服务的创建装置,包括:
创建单元,用于创建Web工程;
处理单元,用于将所述创建单元创建的所述Web工程与Jersey进行整合,并根据预设的软件接口,连接所述Web工程和Jetty服务器,以及按照预设命令,通过JDBI连接所述Web工程和数据库,以创建与所述Web工程对应的Web服务。
在第二方面的第一种可能实现方式中,
所述处理单元,具体用于将所述Jersey的核心类库添加至所述创建单元创建的所述Web工程的配置文件,并在所述Web工程的配置文件中配置所述Jersey的拦截器。
结合前述的第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,
所述处理单元,具体用于根据所述软件接口,在所述创建单元创建的所述Web工程中嵌入所述Jetty服务器的数据信息,以将所述Jetty服务器作为HTTP应用的服务容器。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,
所述创建单元,还用于在创建Web工程,并将所述Web工程与Jersey进行整合之后,创建实体类及实现类;
所述处理单元,还用于将所述数据库中预设的对应表的字段映射至所述创建单元创建的所述实体类的实体对象的属性,及将所述HTTP应用映射至所述创建单元创建的所述实现类,以及通过所述实现类对所述实体对象进行预设操作,所述预设操作包括:创建,读取,更新,删除中的至少一项。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,
所述处理单元,还用于在创建与所述Web工程对应的Web服务之后,通过所述Jetty服务器利用JAX-RS,接收客户端发送的HTTP访问请求,所述HTTP访问请求用于请求对所述数据库进行所述预设操作,及通过所述Jetty服务器将所述HTTP访问请求发送至所述Jersey,以及通过所述Jersey利用JDBI对所述数据库进行与所述HTTP访问请求对应的所述预设操作。
本发明的实施例提供一种Web服务的创建方法及装置,通过创建Web工程,并将Web工程与Jersey进行整合,且根据预设的软件接口,连接Web工程和Jetty服务器,以及按照预设命令,通过JDBI连接Web工程和数据库,以创建与Web工程对应的Web服务。通过该方案,由于将Jersey与Web工程进行整合时,无需使用较多的.XML文件,且Jetty服务器的结构比较简单,可以按需加载各个组件,因此,能够提高基于REST的Web网络服务的创建效率及响应速度。
附图说明
图1为本发明实施例提供的一种Web服务的创建方法的流程图一;
图2为本发明实施例提供的一种Web服务的创建方法的流程图二;
图3为本发明实施例提供的一种Web服务的创建装置的结构示意图;
图4为本发明实施例提供的一种计算节点的结构示意图。
具体实施方式
下面结合附图对本发明实施例提供的一种Web服务的创建方法及装置进行详细地描述。
实施例一
本发明实施例提供的一种Web服务的创建方法,如图1所示,该方法的执行主体可以包括计算节点,该方法可以包括:
S101、计算节点创建Web工程,并将该Web工程与Jersey进行整合。
Java为一种可以撰写跨平台应用软件的面向对象的程序设计语言(Java语言)和Java平台的总称。其中,Java平台由Java虚拟机(JavaVirtual Machine,JVM)和Java应用编程接口(ApplicationProgramming Interface,API)构成。
需要说明的是,本发明实施例提供的一种Web服务的创建方法可以在Java平台上使用Java语言实现。
REST是一组架构约束条件和原则,软件开发人员可以根据这些约束条件和原则设计以系统的资源为中心的Web服务,其中可以包括使用不同语言编写的客户端如何通过HTTP(Hypertext TransferProtocol,超文本传输协议)处理和传输资源的状态。从而软件开发人员开发的满足这些约束条件和原则的应用程序或软件设计可以称为RESTful。进一步地,RESTful Web服务是使用HTTP和REST原理实现的Web服务。
本发明实施例提供的Web服务的创建方法为基于REST的Web服务的创建方法,即RESTful Web服务的创建方法。Jersey为基于RESTful的开源架构,其可以包括:核心服务器(Core Server)和核心客户端(Core Client),其中,核心服务器可以通过提供JSR(JavaSpecification Requests,Java规范请求)311中标准化的注释和API标准化,以直观的方式开发RESTful Web服务;核心客户端可以通过Jersey客户端的API与RESTful Web服务进行通信。
本发明实施例提供的Web服务的创建方法可以为使用Jersey+Jetty+JDBI框架创建RESTful Web服务的方法。
软件开发人员创建一个新的RESTful Web服务时,首先计算节点需通过软件开发人员的创建命令创建一个新的Web工程,然后计算节点再通过软件开发人员的整合命令将Jersey框架与该Web工程进行整合。
示例性的,计算节点可以通过项目管理工具创建一个Web工程,并将Jersey框架应用于该Web工程,即形成一个Jersey Web工程。其中,本发明实施例提供的项目管理工具可以包括Maven、Ant等可以创建Web服务的工具。以项目管理工具为Maven为例,计算节点可以通过Maven创建一个Web工程,该Web工程即为一个Maven项目,其中,Maven为基于Maven项目的对象模型,其可通过描述信息来管理Maven项目的构建,且Maven中运行了默认的插件目标,从而计算节点可通过Maven中运行的插件目标编译和创建JAR(Java Archive,Java归档文件)文件,即Maven能够创建Web工程,生成Web服务,管理创建的JAR文件。
S102、计算节点根据预设的软件接口,连接该Web工程和Jetty服务器。
Jetty是一个开源的Servlet容器,可作为一个独立的Servlet引擎提供Web服务,其中,Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。Servlet为客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。通常情况下,可以将提供了Servlet功能的服务器,称为Servlet容器。
计算节点将Web工程与Jersey进行整合之后,计算节点通过Maven的预设的软件接口,将上述Jersey Web工程和Jetty服务器连接,具体的可以将Jetty服务器嵌入至Jersey Web工程中,并将上述JerseyWeb工程的目标运行路径指定为Jetty服务器。
其中,预设的软件接口可以为配置在Maven项目中的Jetty的插件目标,其可用于连接上述Jersey Web工程和Jetty服务器,并通过在命令行中输入的Maven命令编译运行该Jetty服务器。该Maven命令可以包括打包命令mvn install、启动Jetty命令mvn jetty:run及结束Jetty命令mvn jetty:stop等。示例性的,当该Jersey Web工程中执行mvn jetty:run时,计算节点的项目管理工具Maven会自动下载Jetty服务器和其依赖的Jar包至Jersey Web工程,并启动该Jetty服务器。
可以理解的是,由于Jetty服务器的结构简单,且在创建Web服务的过程中,可将Jetty服务器中不需要的组件可以去掉,这样不仅可以减少Jetty服务器本身的内存开销,而且在Jetty服务器处理访问请求时也可以减少Jetty服务器处理访问请求过程中产生的临时对象,因此,本发明采用Jetty服务器,能够提高Web服务的创建效率。
S103、计算节点按照预设命令,通过JDBI连接该Web工程和数据库,以创建与该Web工程对应的Web服务。
JDBC(Java Data Base Connectivity,Java数据库连接)是一种用于执行SQL(Structured Query Language,结构化查询语言)语句的JavaAPI,可以为多种关系数据库提供统一访问,JDBC由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,且通过JDBC与数据库建立连接、发送操作数据库的语句并处理结果。
JDBI为使用关系型数据库与Java最直接的方式,JDBI为基于JDBC非常轻量级的封装。
计算节点连接Web工程和Jetty服务器之后,计算节点可按照Maven的预设命令,通过JDBI将数据库安装至该Jersey Web工程并启动该数据库,以创建与该Jersey Web工程对应的RESTful Web服务。
可选的,预设命令可以包括安装数据库命令。
需要说明的是,数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用程序提供服务,数据库对数据的增、删、改和检索由统一软件进行管理和控制。
可以理解的是,由于JDBI为JDBC轻量级的封装,因此,本发明采用JDBI可以提高Web服务的创建效率。
需要说明的是,本发明实施例提供的计算节点可以为计算机,也可以为其他能够用于创建Web服务的计算节点,本发明不做限制。
本发明的实施例提供一种Web服务的创建方法,通过创建Web工程,并将Web工程与Jersey进行整合,且根据预设的软件接口,连接Web工程和Jetty服务器,以及按照预设命令,通过JDBI连接Web工程和数据库,以创建与Web工程对应的Web服务。通过该方案,由于将Jersey与Web工程进行整合时,无需使用较多的.XML文件,且Jetty服务器的结构比较简单,可以按需加载各个组件,因此,能够提高基于REST的Web服务的创建效率及响应速度。
实施例二
本发明实施例提供的一种Web服务的创建方法,如图2所示,该方法的执行主体可以包括计算节点,该方法可以包括:
S201、计算节点创建Web工程。
Java为一种可以撰写跨平台应用软件的面向对象的程序设计语言和Java平台的总称。Java平台由Java虚拟机和Java应用编程接口构成。
需要说明的是,本发明实施例提供的一种Web服务的创建方法可以在Java平台上使用Java语言实现。
REST是一组架构约束条件和原则,软件开发人员可以根据这些约束条件和原则设计以系统的资源为中心的Web服务,其中可以包括使用不同语言编写的客户端如何通过HTTP处理和传输资源的状态。从而软件开发人员满足这些约束条件和原则的应用程序或软件设计可以称为RESTful。进一步地,RESTful Web服务是使用HTTP和REST原理实现的Web服务。
本发明实施例提供的Web服务的创建方法为基于REST的Web服务的创建方法,即RESTful Web服务的创建方法。具体的,本发明实施例提供的Web服务的创建方法可以为使用Jersey+Jetty+JDBI框架创建RESTful Web服务的方法。
软件开发人员创建一个新的RESTful Web服务时,首先计算节点需通过软件开发人员的创建命令创建一个新的Web工程。
示例性的,计算节点可以通过项目管理工具创建一个Web工程,其中,本发明实施例提供的项目管理工具可以包括Maven、Ant等可以创建Web服务的工具。以项目管理工具为Maven为例,计算节点可以通过Maven创建一个Web工程,该Web工程即为一个Maven项目,其中,Maven为基于Maven项目的对象模型,其可通过描述信息来管理项目的构建,且Maven中运行了默认的插件目标,从而计算节点可通过Maven中运行的插件目标编译和创建JAR文件,即Maven能够创建Web工程,生成Web服务,管理创建的JAR文件。
S202、计算节点将Jersey的核心类库添加至Web工程的配置文件。
Jersey为基于RESTful的开源架构,其可以包括:核心服务器和核心客户端,其中,核心服务器可以通过提供JSR311中标准化的注释和API标准化,以直观的方式开发RESTful Web服务;核心客户端可以通过Jersey客户端的API与RESTful Web服务进行通信。
计算节点通过Maven创建Web工程之后,计算节点可根据软件开发人员的整合命令,即将Web工程与Jersey进行整合。具体的,计算节点首先将Jersey的核心类库添加至该Web工程的配置文件中。
具体的,计算节点通过Maven创建Web工程之后,计算节点可通过Maven将Jersey的核心类库添加至Web工程的配置文件中。
S203、计算节点在Web工程的配置文件中配置Jersey的拦截器。
计算节点将Jersey的核心类库添加至Web工程的配置文件之后,计算节点可在Web工程的配置文件中配置Jersey的拦截器。
具体的,计算节点通过Maven将Jersey的核心类库添加至Web工程的配置文件之后,计算节点可通过Maven在该Web工程的配置文件中配置Jersey的拦截器,从而形成一个Jersey Web工程。
需要说明的是,Jersey的拦截器用于拦截Jersey的客户端发送的消息,并将拦截到的消息转发给Jersey的服务器中,以执行相应的预设操作。
可以理解的是,本发明实施例提供的创建Web服务的方法中,计算节点可以通过Maven配置Web工程,从而减少了Web配置文件中的.XML文件,进而提高了该Web服务的创建效率。
S204、计算节点根据预设的软件接口,连接该Web工程和Jetty服务器。
Jetty是一个开源的Servlet容器,可作为一个独立的Servlet引擎提供Web服务,其中,Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。Servlet为客户端请求与服务器响应的中间层,通常情况下,可以将提供了Servlet功能的服务器,称为Servlet容器。
计算节点在Web工程的配置文件中配置Jersey的拦截器,即将Web工程与Jersey进行整合之后,计算节点可通过Maven的预设的软件接口,将上述Jersey Web工程和Jetty服务器连接,具体的可以将Jetty服务器以嵌入的方式连接至Jersey Web工程中,并将上述Jersey Web工程的目标运行路径指定为Jetty服务器,即将Jetty服务器作为HTTP应用的服务容器。
其中,预设的软件接口可以为配置在Maven项目中的Jetty的插件目标,其可用于连接上述Jersey Web工程和Jetty服务器,并通过在命令行中输入的Maven命令编译运行该Jetty服务器。该Maven命令可以包括打包命令:mvn install、启动Jetty命令:mvn jetty:run及结束Jetty命令:mvn jetty:stop等。示例性的,当该Jersey Web工程中执行mvn jetty:run时,计算节点的项目管理工具Maven会自动下载Jetty服务器和其依赖的Jar包至Jersey Web工程,并启动该Jetty服务器。
可以理解的是,由于Jetty服务器的结构简单,且在创建Web服务的过程中,可将Jetty服务器中不需要的组件可以去掉,这样不仅可以减少Jetty服务器本身的内存开销,而且在Jetty服务器处理访问请求时也可以减少Jetty服务器处理访问请求过程中产生的临时对象,因此,本发明采用Jetty服务器,能够提高Web服务的创建效率。
S205、计算节点创建实体类,并将数据库中预设的对应表的字段映射至该实体类的实体对象的属性。
类是Java语言中的一个概念。类实际上是对某种类型的对象定义变量和方法的原型。类表示对现实生活中一类具有共同特征的事物的抽象,是面向对象编程的基础。一个类定义了一组对象。类可以描述一个对象能够做什么、做的方法,以及对这个对象进行操作的程序和过程。
示例性的,实体类作为类的一种,可以为用于对开发的Web服务存储的信息和相关的行为建模的类。实体对象(实体类的实例)可用于保存和更新一些对象的有关信息,例如,事件、人员或者一些现实生活中的对象。实体对象代表了开发中的Web服务的核心概念,例如,银行系统中实体类为账户和客户。而在一个网络处理系统中,实体类可以为节点和链接。
SQL是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时SQL也是数据库脚本文件的扩展名。SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作,且不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以SQL具有完全不同底层结构的不同数据库系统,用户可以使用相同的SQL作为数据输入与管理的接口。
本发明实施例中,计算节点通过Maven创建实体类,该实体类对应数据库中预设的对应表的字段,计算节点将预设的对应表的字段映射至实体类的属性,具体的,计算节点可通过SQL语句读取预设的对应表的字段,并将该字段映射为实体类中的实体对象的属性值。
需要说明的是,本发明实施例提供的Web服务的创建方法中,实体类的应用方便了Web工程对数据的处理。
举例来说,在学生管理系统中,数据库的学生表中有id(学生号)、name(姓名)、age(年龄)等,计算节点可以创建实体类,并将数据库中的id、name、age映射至该实体类的实体对象的属性,以及通过SQL语句读取数据库中的id、name、age中的内容映射为实体对象的属性值。
可以理解的是,本发明实施例中,由于计算节点可以通过简单的SQL语句即可实现相应的功能,而不是采用传统的创建方法中使用的复杂的HQL(Hibernate Query Language)语句,因此,提高了Web服务的创建效率。
S206、计算节点创建实现类,并将HTTP应用映射至实现类,以及通过实现类对实体对象进行预设操作,该预设操作包括:创建、读取、更新及删除中的至少一项。
需要说明的是,实现类可以为某个接口的实现类。接口可以为定义的待实现的一个规范、一套标准等。实现类是该接口的具体的一个实现。比如,接口可以是一个人,而实现类可以是白人、黑人。
计算节点创建实体类之后,计算节点可以通过Maven创建实现类,并将HTTP应用映射至实现类,以及计算节点可以通过实现类对实体对象进行预设操作,该预设操作可以包括:创建、读取、更新及删除中的至少一项。
可以理解的是,HTTP应用可以为对实体对象进行的操作,计算节点可以通过创建实现类,以实现HTTP在Web工程中的应用,且计算节点可以通过调用实现类中的方法,以对实体对象进行预设操作。由于HTTP应用具体可以包括创建、读取、更新及删除等操作,因此,相应的,计算节点对实体对象的预设操作也可以包括创建、读取、更新及删除等操作中的至少一项。本发明实施例中,计算节点可以只需通过Maven调用Java中的类,这样,可以提高Web服务的创建效率及响应速度。
S207、计算节点按照预设命令,通过JDBI连接该Web工程和数据库,以创建与该Web工程对应的Web服务。
JDBC是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,JDBC由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,且通过JDBC与数据库建立连接、发送操作数据库的语句并处理结果。
JDBI为使用关系型数据库与Java最直接的方式,JDBI为基于JDBC非常轻量级的封装。
计算节点创建实现类之后,计算节点可按照Maven的预设命令,通过JDBI将数据库安装至该Jersey Web工程并启动该数据库,以用于创建与该Jersey Web工程对应的RESTful Web服务。
可选的,预设命令可以包括安装数据库命令。
需要说明的是,数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用程序提供服务,数据库对数据的增、删、改和检索由统一软件进行管理和控制。
可以理解的是,由于JDBI为JDBC轻量级的封装,因此,本发明采用JDBI提高了Web服务的创建效率。
S208、计算节点通过Jetty服务器利用JAX-RS,接收客户端发送的HTTP访问请求,该HTTP访问请求用于请求对数据库进行预设操作。
JAX-RS(Java API for RESTful Web Services)为一种编程的应用程序接口,JAX-RS可以支持按照REST架构风格创建Web服务。JAX-RS使用了Java SE5引入的Java注释来简化Web服务的客户端和服务器的开发和部署。
需要说明的是,由于Jersey框架能够支持实现JAX-RS,因此,本发明实施例提供的Web服务的创建方法中,可以采用Jersey框架创建Web服务,以提高创建效率。
计算节点创建与Web工程对应的Web服务之后,计算节点可利用JAX-RS,通过Jetty服务器,接收客户端发送的HTTP访问请求,该HTTP访问请求可用于请求对数据库进行预设操作。
其中,本发明实施例中,客户端发送的HTTP访问请求可以包括对实体对象进行创建、读取、更新及删除等操作中的至少一项。
示例性的,假设该Web服务为学生管理系统,当学生A登录该系统进行查询个人信息时,需先注册一个用户,这时,该学生A在学生管理系统的客户端发出一个HTTP访问请求,即注册(创建)请求,计算节点将该注册请求通过JAX-RS发送至Jetty服务器,即计算节点接收客户端发送的注册请求。
S209、计算节点通过Jetty服务器将HTTP访问请求发送至Jersey。
计算节点通过Jetty服务器,接收客户端发送的HTTP访问请求之后,计算节点可通过Jetty服务器将该HTTP访问请求发送至Jersey的拦截器,即计算节点通过Jetty服务器将该HTTP访问请求发送至Jersey。
示例性的,若该Web服务为学生管理系统,计算节点可在通过JAX-RS将学生A的HTTP访问请求,即注册请求发送至Jetty服务器之后,再将该注册请求通过Jetty服务器发送至Jersey。
S210、计算节点通过Jersey利用JDBI对数据库进行与HTTP访问请求对应的预设操作。
计算节点通过Jersey利用JDBI对数据库进行与HTTP访问请求对应的预设操作。
示例性的,若该Web服务为学生管理系统,计算节点在将学生A的HTTP访问请求,即注册请求通过Jetty服务器发送至Jersey之后,计算节点可通过Jersey调用JDBI,以对其封装的数据库进行相应的注册(创建)操作,以完成学生A的注册请求。
需要说明的是,本发明实施例提供的计算节点可以为计算机,也可以为其他能够用于创建Web服务的计算节点,本发明不做限制。
本发明的实施例提供一种Web服务的创建方法,通过创建Web工程,并将Web工程与Jersey进行整合,且根据预设的软件接口,连接Web工程和Jetty服务器,以及按照预设命令,通过JDBI连接Web工程和数据库,以创建与Web工程对应的Web服务。通过该方案,由于将Jersey与Web工程进行整合时,无需使用较多的.XML文件,且Jetty服务器的结构比较简单,可以按需加载各个组件,因此,能够提高基于REST的Web服务的创建效率及响应速度。
实施例三
如图3所示,本发明的实施例提供一种Web服务的创建装置1,该Web服务的创建装置1可以包括:
创建单元10,用于创建Web工程。
处理单元11,用于将所述创建单元10创建的所述Web工程与Jersey进行整合,并根据预设的软件接口,连接所述Web工程和Jetty服务器,以及按照预设命令,通过JDBI连接所述Web工程和数据库,以创建与所述Web工程对应的Web服务。
可选的,所述处理单元11,具体用于将所述Jersey的核心类库添加至所述创建单元10创建的所述Web工程的配置文件,并在所述Web工程的配置文件中配置所述Jersey的拦截器。
可选的,所述处理单元11,还具体用于根据所述软件接口,在所述创建单元10创建的所述Web工程中嵌入所述Jetty服务器的数据信息,以将所述Jetty服务器作为HTTP应用的服务容器。
可选的,所述创建单元10,还用于在创建Web工程,并将所述Web工程与Jersey进行整合之后,创建实体类及实现类,以及将所述数据库中预设的对应表的字段映射至所述创建单元10创建的所述实体类的实体对象的属性,及将所述HTTP应用映射至所述创建单元10创建的所述实现类,以及通过所述实现类对所述实体对象进行预设操作,所述预设操作可以包括:创建,读取,更新,删除中的至少一项。
可选的,所述处理单元11,还用于在创建与所述Web工程对应的Web服务之后,通过所述Jetty服务器利用JAX-RS,接收客户端发送的HTTP访问请求,所述HTTP访问请求用于请求对所述数据库进行所述预设操作,及通过所述Jetty服务器将所述HTTP访问请求发送至所述Jersey,以及通过所述Jersey利用JDBI对所述数据库进行与所述HTTP访问请求对应的所述预设操作。
本发明的实施例提供一种Web服务的创建装置,该Web服务的创建装置通过创建Web工程,并将Web工程与Jersey进行整合,且该Web服务的创建装置根据预设的软件接口,连接Web工程和Jetty服务器,以及该Web服务的创建装置按照预设命令,通过JDBI连接Web工程和数据库,以创建与Web工程对应的Web服务。通过该方案,由于将Jersey与Web工程进行整合时,无需使用较多的.XML文件,且Jetty服务器的结构比较简单,可以按需加载各个组件,因此,能够提高基于REST的Web服务的创建效率及响应速度。
实施例四
如图4所示,本发明的实施例提供一种计算节点,该计算节点可以包括:处理器20、存储器21、系统总线22和通信接口23,其中,
处理器20、存储器21和通信接口23之间通过系统总线22连接并完成相互间的通信。
处理器20可能为单核或多核中央处理单元,或者为特定集成电路,或者为被配置成实施本发明实施例的一个或多个集成电路。
存储器21可以为高速RAM存储器,也可以为非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
存储器21用于计算节点的执行指令。具体的,计算节点的执行指令中可以包括软件程序和软件代码。
具体的,所述处理器20可用于创建Web工程,并通过系统总线22利用通信接口23将所述Web工程与Jersey进行整合,且根据预设的软件接口,通过系统总线22利用通信接口23连接所述Web工程和Jetty服务器,以及按照预设命令,通过JDBI连接所述Web工程和数据库,以创建与所述Web工程对应的Web服务;所述存储器21可用于存储创建Web工程的过程中相关的软件代码,及控制计算节点完成上述过程的软件程序,从而使得所述处理器20可通过执行所述存储器21中存储的所述软件程序及调用所述相关的软件代码,完成上述过程。
可选的,所述处理器20,具体用于通过系统总线22将所述Jersey的核心类库添加至所述Web工程的配置文件,并在所述Web工程的配置文件中配置所述Jersey的拦截器。
可选的,所述处理器20,还具体用于根据所述软件接口,通过系统总线22在所述Web工程中嵌入所述Jetty服务器的数据信息,以将所述Jetty服务器作为HTTP应用的服务容器。
可选的,所述处理器20,还用于在创建Web工程,并将所述Web工程与Jersey进行整合之后,创建实体类及实现类,以及通过系统总线22将所述数据库中预设的对应表的字段映射至所述实体类的实体对象的属性,及将所述HTTP应用映射至所述实现类,以及通过所述实现类对所述实体对象进行预设操作,所述预设操作可以包括:创建,读取,更新,删除中的至少一项。
可选的,所述处理器20,还用于在创建与所述Web工程对应的Web服务之后,通过所述Jetty服务器利用JAX-RS,接收客户端发送的HTTP访问请求,所述HTTP访问请求用于请求对所述数据库进行所述预设操作,及通过所述Jetty服务器将所述HTTP访问请求发送至所述Jersey,以及通过所述Jersey利用JDBI对所述数据库进行与所述HTTP访问请求对应的所述预设操作。
本发明的实施例提供一种Web服务的创建装置,计算节点通过创建Web工程,并将Web工程与Jersey进行整合,且计算节点根据预设的软件接口,连接Web工程和Jetty服务器,以及计算节点按照预设命令,通过JDBI连接Web工程和数据库,以创建与Web工程对应的Web服务。通过该方案,由于将Jersey与Web工程进行整合时,无需使用较多的.XML文件,且Jetty服务器的结构比较简单,可以按需加载各个组件,因此,能够提高基于REST的Web服务的创建效率及响应速度。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种Web服务的创建方法,其特征在于,包括:
创建Web工程,并将所述Web工程与Jersey进行整合;
根据预设的软件接口,连接所述Web工程和Jetty服务器;
按照预设命令,通过JDBI连接所述Web工程和数据库,以创建与所述Web工程对应的Web服务。
2.根据权利要求1所述的Web服务的创建方法,其特征在于,所述将所述Web工程与Jersey进行整合,具体包括:
将所述Jersey的核心类库添加至所述Web工程的配置文件;
在所述Web工程的配置文件中配置所述Jersey的拦截器。
3.根据权利要求1或2所述的Web服务的创建方法,其特征在于,所述根据预设的软件接口,连接所述Web工程和Jetty服务器,具体包括:
根据所述软件接口,在所述Web工程中嵌入所述Jetty服务器中的数据信息,以将所述Jetty服务器作为超文本传送协议HTTP应用的服务容器。
4.根据权利要求3所述的Web服务的创建方法,其特征在于,所述创建Web工程,并将所述Web工程与Jersey进行整合之后,所述方法还包括:
创建实体类,并将所述数据库中预设的对应表的字段映射至所述实体类的实体对象的属性;
创建实现类,并将所述HTTP应用映射至所述实现类,以及通过所述实现类对所述实体对象进行预设操作,所述预设操作包括:创建、读取、更新及删除中的至少一项。
5.根据权利要求4所述的Web服务的创建方法,其特征在于,所述创建与所述Web工程对应的Web服务之后,所述方法还包括:
通过所述Jetty服务器利用JAX-RS,接收客户端发送的HTTP访问请求,所述HTTP访问请求用于请求对所述数据库进行所述预设操作;
通过所述Jetty服务器将所述HTTP访问请求发送至所述Jersey;
通过所述Jersey利用JDBI对所述数据库进行与所述HTTP访问请求对应的所述预设操作。
6.一种Web服务的创建装置,其特征在于,包括:
创建单元,用于创建Web工程;
处理单元,用于将所述创建单元创建的所述Web工程与Jersey进行整合,并根据预设的软件接口,连接所述Web工程和Jetty服务器,以及按照预设命令,通过JDBI连接所述Web工程和数据库,以创建与所述Web工程对应的Web服务。
7.根据权利要求6所述的Web服务的创建装置,其特征在于,
所述处理单元,具体用于将所述Jersey的核心类库添加至所述创建单元创建的所述Web工程的配置文件,并在所述Web工程的配置文件中配置所述Jersey的拦截器。
8.根据权利要求6或7所述的Web服务的创建装置,其特征在于,
所述处理单元,具体用于根据所述软件接口,在所述创建单元创建的所述Web工程中嵌入所述Jetty服务器的数据信息,以将所述Jetty服务器作为HTTP应用的服务容器。
9.根据权利要求8所述的Web服务的创建装置,其特征在于,
所述创建单元,还用于在创建Web工程,并将所述Web工程与Jersey进行整合之后,创建实体类及实现类;
所述处理单元,还用于将所述数据库中预设的对应表的字段映射至所述创建单元创建的所述实体类的实体对象的属性,及将所述HTTP应用映射至所述创建单元创建的所述实现类,以及通过所述实现类对所述实体对象进行预设操作,所述预设操作包括:创建,读取,更新,删除中的至少一项。
10.根据权利要求9所述的Web服务的创建装置,其特征在于,
所述处理单元,还用于在创建与所述Web工程对应的Web服务之后,通过所述Jetty服务器利用JAX-RS,接收客户端发送的HTTP访问请求,所述HTTP访问请求用于请求对所述数据库进行所述预设操作,及通过所述Jetty服务器将所述HTTP访问请求发送至所述Jersey,以及通过所述Jersey利用JDBI对所述数据库进行与所述HTTP访问请求对应的所述预设操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310466028.XA CN103501341A (zh) | 2013-09-30 | 2013-09-30 | 一种Web服务的创建方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310466028.XA CN103501341A (zh) | 2013-09-30 | 2013-09-30 | 一种Web服务的创建方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103501341A true CN103501341A (zh) | 2014-01-08 |
Family
ID=49866511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310466028.XA Pending CN103501341A (zh) | 2013-09-30 | 2013-09-30 | 一种Web服务的创建方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103501341A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016000126A1 (zh) * | 2014-06-30 | 2016-01-07 | 北京新媒传信科技有限公司 | 一种自动化部署方法和终端 |
CN106775864A (zh) * | 2016-12-13 | 2017-05-31 | 济南浪潮高新科技投资发展有限公司 | 一种基于Autofac支持按需加载的服务管理器的实现方法 |
CN107329748A (zh) * | 2017-06-23 | 2017-11-07 | 福建中金在线信息科技有限公司 | Api开发管理方法和系统以及服务器和计算机可读存储介质 |
CN107797874A (zh) * | 2017-10-12 | 2018-03-13 | 南京中新赛克科技有限责任公司 | 一种基于嵌入式jetty和spark on yarn框架的资源管控方法 |
CN112114794A (zh) * | 2020-09-27 | 2020-12-22 | 江西宜月鑫网络科技有限公司 | 网站应用程序自动生成方法、装置和计算机存储介质 |
-
2013
- 2013-09-30 CN CN201310466028.XA patent/CN103501341A/zh active Pending
Non-Patent Citations (5)
Title |
---|
CHSZS: ""Dropwizard - 开发Java REST Web服务"", 《HTTP://BLOG.CSDN.NET/CHSZS/ARTICLE/DETAILS/8081036》 * |
IBM工程师: ""JAX-RS的参考实现:Jersey构建RESTful Web服务攻略"", 《HTTP://DEVELOPER.51CTO.COM/ART/200912/172185.HTM》 * |
QAZX84265: ""MyEclipse +Jetty+Jersey创建RESTFul service"", 《HTTP://M.BLOG.CSDN.NET/BLOG/QAZX84265/10140505》 * |
XIUNAI78: ""Jersey搭建Rest web服务"", 《HTTP://BLOG.CSDN.NET/XIUNAI78/ARTICLE/DETAILS/8706243》 * |
YI MING HUANG 等: ""使用 Jersey 和 Apache Tomcat 构建 RESTful Web 服务"", 《HTTP://WWW.IBM.COM/DEVELOPERWORKS/CN/WEB/WA-AJ-TOMCAT/》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016000126A1 (zh) * | 2014-06-30 | 2016-01-07 | 北京新媒传信科技有限公司 | 一种自动化部署方法和终端 |
CN106104467A (zh) * | 2014-06-30 | 2016-11-09 | 北京新媒传信科技有限公司 | 一种自动化部署方法和终端 |
CN106104467B (zh) * | 2014-06-30 | 2019-09-27 | 北京新媒传信科技有限公司 | 一种自动化部署方法和终端 |
CN106775864A (zh) * | 2016-12-13 | 2017-05-31 | 济南浪潮高新科技投资发展有限公司 | 一种基于Autofac支持按需加载的服务管理器的实现方法 |
CN106775864B (zh) * | 2016-12-13 | 2020-04-17 | 浪潮通用软件有限公司 | 一种基于Autofac支持按需加载的服务管理器的实现方法 |
CN107329748A (zh) * | 2017-06-23 | 2017-11-07 | 福建中金在线信息科技有限公司 | Api开发管理方法和系统以及服务器和计算机可读存储介质 |
CN107329748B (zh) * | 2017-06-23 | 2021-01-22 | 福建中金在线信息科技有限公司 | Api开发管理方法和系统以及服务器和计算机可读存储介质 |
CN107797874A (zh) * | 2017-10-12 | 2018-03-13 | 南京中新赛克科技有限责任公司 | 一种基于嵌入式jetty和spark on yarn框架的资源管控方法 |
CN107797874B (zh) * | 2017-10-12 | 2021-04-27 | 南京中新赛克科技有限责任公司 | 一种基于嵌入式jetty和spark on yarn框架的资源管控方法 |
CN112114794A (zh) * | 2020-09-27 | 2020-12-22 | 江西宜月鑫网络科技有限公司 | 网站应用程序自动生成方法、装置和计算机存储介质 |
CN112114794B (zh) * | 2020-09-27 | 2021-11-09 | 深圳天玑数据有限公司 | 网站应用程序自动生成方法、装置和计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109597661B (zh) | 一种业务功能配置方法及装置 | |
US7752165B2 (en) | Persistent query system for automatic on-demand data subscriptions from mobile devices | |
CN104573068A (zh) | 一种基于大数据的信息处理方法 | |
CN102736946A (zh) | 一种应用节点的批量部署方法及装置 | |
CN102722405B (zh) | 高并发、多线程应用中的计数方法及系统 | |
CN108874924A (zh) | 搜索服务的创建方法、装置及计算机可读存储介质 | |
US9053134B2 (en) | View variants in database schema mapping | |
CN104657149A (zh) | 一种存储系统的管理模块的软件框架实现方法 | |
CN103501341A (zh) | 一种Web服务的创建方法及装置 | |
CN104424265A (zh) | 数字资源管理方法及系统 | |
CN104881490A (zh) | 一种web表单数据存取方法和系统 | |
CN100476726C (zh) | 一种资源受限设备及数据访问方法 | |
CN102486734A (zh) | 一种富客户端应用系统 | |
CN105589701A (zh) | 一种客户端应用程序局部更新方法及装置 | |
CN106980501A (zh) | 一种软件包管理方法、装置和系统 | |
CN103902562A (zh) | 一种终端数据库升级方法及相关装置 | |
US20240143576A1 (en) | Registering additional type systems using a hub data model for data processing | |
CN104239508A (zh) | 数据查询方法和装置 | |
CN102355499A (zh) | 云计算系统 | |
CN114443680A (zh) | 数据库管理系统、相关装置、方法和介质 | |
US9129035B2 (en) | Systems, methods, and apparatus for accessing object representations of data sets | |
CN103561083A (zh) | 一种物联网数据处理方法 | |
Kim et al. | Comprehensive Knowledge Archive Network harvester improvement for efficient open‐data collection and management | |
CN116400914A (zh) | 一种基于数据模型快速构建web应用的方法 | |
CN116107623A (zh) | 一种软件开发方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140108 |
|
RJ01 | Rejection of invention patent application after publication |