CN111782420B - 基于Java Web框架的信息处理方法、装置、设备和介质 - Google Patents
基于Java Web框架的信息处理方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN111782420B CN111782420B CN202010594334.1A CN202010594334A CN111782420B CN 111782420 B CN111782420 B CN 111782420B CN 202010594334 A CN202010594334 A CN 202010594334A CN 111782420 B CN111782420 B CN 111782420B
- Authority
- CN
- China
- Prior art keywords
- interface
- target language
- request information
- information
- script
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
- G06F9/548—Object oriented; Remote method invocation [RMI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
- G06F9/45512—Command shells
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45529—Embedded in an application, e.g. JavaScript in a Web browser
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本公开提供了一种基于Java Web框架的信息处理方法,包括:获取客户端发送的请求信息,该请求信息包括链接地址;根据链接地址,确定请求信息所针对的接口是否为目标语言开发的接口;在请求信息所针对的接口为目标语言开发的接口的情况下,获取与请求信息对应的目标语言脚本;以及运行目标语言脚本,得到针对请求信息的反馈信息。
Description
技术领域
本公开涉及电子技术领域,更具体地,涉及一种基于Java Web框架的信息处理方法、装置、设备和介质。
背景技术
相关技术中,大多数企业使用较为大型且成熟的Java Web框架来开发其企业级的应用。但该使用Java Web框架进行企业级的应用开发时,一般需要专业的人员进行开发,因此开发门槛高。再者,新增API接口 (应用程序接口)时,对应着需要新增Servlet(ServerApplet,服务连接器),并需要配合重启Web服务器,该Web服务器的重启可能会使得在生产部署过程中运行的生产被短暂中断服务,操作流程复杂。
在实现本公开构思的过程中,发明人发现相关技术中至少存在以下问题:近年来,Python、Shell等语言凭借其简洁性、易读性、可扩展性以及简单易学等特性,越来越受欢迎。如果为了降低开发门槛、快速地开发部署应用,将从使用Java Web框架开发应用直接更改为使用Python、 Shell等语言来开发应用是不现实的。这是因为若将已经使用Java Web开发好的功能重新使用Python、Shell等语言编写,会耗费较大的人力且也不会增加新的业务功能;且完全使用Python、Shell等语言无法保证满足企业级应用的需求,且还可能给生产部署带来其他的性能压力风险。
发明内容
有鉴于此,本公开提供了一种基于Java Web框架的信息处理方法,能够在JavaWeb框架下,使用Python、Shell等简洁易学的语言开发的接口,从而可以在企业级应用基于Java Web框架构建的情况下,便于开发者使用Python、Shell等语言开发新的API接口,为企业级应用增加新的功能,并因此降低开发者的开发门槛,提高功能开发的便捷性。
本公开的一个方面提供了一种基于Java Web框架的信息处理方法,包括:获取客户端发送的请求信息,该请求信息包括链接地址;根据链接地址,确定请求信息所针对的接口是否为目标语言开发的接口;在请求信息所针对的接口为目标语言开发的接口的情况下,获取与请求信息对应的目标语言脚本;以及运行目标语言脚本,得到针对请求信息的反馈信息,其中,目标语言包括脚本语言。
根据本公开的实施例,上述根据链接地址,确定请求信息所针对的接口是否为目标语言开发的接口包括:拆分链接地址,得到链接地址中的特定字符串;以及在特定字符串满足目标语言开发的接口的接口名称正则表达的情况下,确定请求信息所针对的接口为目标语言开发的接口。
根据本公开的实施例,上述链接地址中具有接口名称;获取与请求信息对应的目标语言脚本包括:根据接口名称与目标语言脚本路径的映射关系表,获取与链接地址中的接口名称具有映射关系的目标语言脚本路径;以及根据目标语言脚本路径,获取与请求信息对应的目标语言脚本。
根据本公开的实施例,上述基于Java Web框架的信息处理方法还包括:获取接口注册信息,该接口注册信息包括接口名称及目标语言脚本路径;构建接口注册信息中接口名称与目标语言脚本路径的映射关系;以及将映射关系存储至预定存储空间。
根据本公开的实施例,上述请求信息还包括参数信息;运行目标语言脚本,得到针对请求信息的反馈信息包括:将参数信息作为目标语言脚本的输入参数运行目标语言脚本,得到针对请求信息的反馈信息。
根据本公开的实施例,上述基于Java Web框架的信息处理方法还包括:向客户端发送反馈信息,以使得客户端展示反馈信息。
本公开的另一方面提供了一种基于Java Web框架的信息处理装置,包括:信息获取模块,用于获取客户端发送的请求信息,该请求信息包括链接地址;接口确定模块,用于根据链接地址,确定请求信息所针对的接口是否为目标语言开发的接口;脚本获取模块,用于在请求信息所针对的接口为目标语言开发的接口的情况下,获取与请求信息对应的目标语言脚本;以及脚本运行模块,用于运行目标语言脚本,得到针对请求信息的反馈信息,其中,目标语言包括脚本语言。
根据本公开的实施例,上述接口确定模块包括:地址拆分子模块,用于拆分链接地址,得到链接地址中的特定字符串;接口确定子模块,用于在特定字符串满足目标语言开发的接口的接口名称正则表达的情况下,确定请求信息所针对的接口为目标语言开发的接口。
根据本公开的实施例,上述链接地址中具有接口名称;脚本获取模块包括:路径获取子模块,用于根据接口名称与目标语言脚本路径的映射关系表,获取与链接地址中的接口名称具有映射关系的目标语言脚本路径;以及脚本获取子模块,用于根据目标语言脚本路径,获取与请求信息对应的目标语言脚本。
本公开的另一方面提供了一种电子设备,包括:一个或多个处理器;以及存储装置,用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器执行上述的基于Java Web框架的信息处理方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被处理器执行时用于执行如上所述的基于Java Web框架的信息处理方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的基于Java Web框架的信息处理方法。
根据本公开的实施例,至少可以部分地解决相关技术中采用Java Web框架新增API接口所存在的流程复杂,需要重启Web服务器从而导致的可能给生产部署带来性能压力风险的技术问题。本公开实施例通过在Java Web框架下根据链接地址获取响应请求信息的目标语言脚本,可以将Java语言形式的请求信息转换为目标语言脚本,从而实现在JavaWeb框架下对目标语言开发的API接口的调用,便于开发者在开发新功能时使用简洁的目标语言开发新的API接口,以此简化API接口开发的流程,降低API接口开发门槛。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的基于Java Web框架的信息处理方法、装置、设备和介质的应用场景;
图2示意性示出了根据本公开实施例的基于Java Web框架的信息处理方法的流程图;
图3示意性示出了根据本公开实施例的根据链接地址确定接口请求信息所针对的接口是否为目标语言开发的接口的流程图;
图4示意性示出了根据本公开实施例的获取与接口请求信息对应的目标语言脚本的流程图;
图5示意性示出了根据本公开另一实施例的基于Java Web框架的信息处理方法的流程图;
图6示意性示出了根据本公开又一实施例的基于Java Web框架的信息处理方法的流程图;
图7示意性示出了根据本公开实施例的基于Java Web框架的信息处理装置的结构框图;以及
图8示意性示出了本公开实施例的适于执行基于Java Web框架的信息处理方法的电子设备的结构框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释 (例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和 C、和/或具有A、B、C的系统等)。
本公开的实施例提供了一种基于Java Web框架的信息处理方法,该方法可以先获取客户端发送的请求信息,该请求信息包括链接地址,然后根据链接地址,确定请求信息所针对的接口是否为目标语言开发的接口。随后在请求信息所针对的接口为目标语言开发的接口的情况下,获取与请求信息对应的目标语言脚本;最后运行目标语言脚本,得到针对请求信息的反馈信息。其中,目标语言包括脚本语言。
图1示意性示出了根据本公开实施例的基于Java Web框架的信息处理方法、装置、设备和介质的应用场景。需要注意的是,图1所示仅为可以应用本公开实施例的应用场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,该实施例的应用场景100例如可以包括终端设备101、 102、103,网络104和Web服务器105。其中,网络104用以在终端设备101、102、103和Web服务器105之间提供通信链路的介质。网络 104可以包括各种连接类型,例如有线、无线通信链路等等。
终端设备101、102、103可以响应于用户操作通过网络104向Web 服务器105发送请求信息,以通过Web服务器105的响应得到需要观看或查阅的信息。在一实施例中,终端设备101、102、103例如可以是具有处理功能且安装有客户端应用的各种电子设备。其中,电子设备包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机等等。安装的客户端应用包括但不限于:网络通信类应用、网页浏览类应用、线上支付平台等。向Web服务器发送的请求信息例如可以通过客户端应用提供的接口发送。
在一实施例中,终端设备101、102、103例如可以响应于用户通过网页浏览器输入的关键字“风景图片”,向Web服务器105发送请求风景图片的信息。Web服务器105可以响应于该请求风景图片的信息,调用与网页浏览器对应的接口访问网页浏览器的应用服务器,以获取得到风景图片。Web服务器105在获取到风景图片后即可将该风景图片反馈给终端设备,以供终端设备将该风景图片展示给用户。
其中,Web服务器105例如可以为基于Java Web框架构建的服务器,该Web服务器105中安装有用于实现Web服务器与终端设备交互功能的Servlet服务程序,以实现Web服务器交互式地浏览和修改数据的功能,生成动态Web内容(反馈给终端设备的内容)。
根据本公开的实施例,为了便于开发者在Web服务器端开发新的 API接口,Web服务器可以设置有与目标语言脚本对应的Servlet服务程序,以通过该对应的Servlet服务程序及目标语言开发的接口来运行目标语言脚本,并通过运行与请求信息对应的目标语言脚本来达到响应请求信息的目的。其中,目标语言可以为Python语言、Shell语言、Perl语言等相较于Java语言更为简洁的语言,该些语言可以作为脚本语言。
需要说明的是,本公开实施例的基于Java Web框架的信息处理方法一般可以由该Web服务器105执行。相应地,本公开实施例的基于Java Web框架的信息处理装置一般可以设置于该Web服务器105中。
应该理解,图1中的终端设备、网络和Web服务器的类型仅仅是示意性的。根据实现需要,可以具有任意类型的终端设备、网络和Web服务器。
以下将结合图1的应用场景,通过图2~图6对本公开实施例的基于 Java Web框架的信息处理方法进行详细描述。
图2示意性示出了本公开实施例的基于Java Web框架的信息处理方法的流程图。
如图2所示,该实施例的基于Java Web框架的信息处理方法例如可以包括操作S210~操作S240。
在操作S210,获取客户端发送的请求信息,该请求信息包括链接地址。
根据本公开的实施例,客户端例如为前述图1中的终端设备。请求信息为客户端响应于用户操作发送的。用户操作例如可以为用户通过输入设备选择终端设备显示的控件的操作,或者可以为响应于用户的语音输入得到的操作。该请求信息中的链接地址为响应于用户操作终端设备需要显示的信息的存储地址。
示例性地,该请求信息包括的链接地址例如可以为URL(Uniform ResourceLocator,统一资源定位符)地址。
示例性地,Web服务器为基于Java Web框架构建的服务器。操作 S210获取客户端发送的请求信息的流程可以包括:客户端发送请求信息至Web服务器端。该Web服务器将请求信息发送至其安装的Servlet服务程序,最终由该Servlet服务程序通过获取URL地址的命令(getRquest Url)拿到客户端发送的请求信息中的链接地址。
在操作S220,根据链接地址,确定请求信息所针对的接口是否为目标语言开发的接口。
根据本公开的实施例,为了便于对该请求信息进行处理,客户端发送的请求信息例如可以符合其所针对的接口的接口要求。请求信息所针对的接口例如可以为与发送该请求信息的客户端应用对应的HTTP API 接口。接口要求例如可以规定有请求信息的格式、请求信息需包括的输入参数、接口的调用方式等。为了便于确定请求信息所针对的接口,链接地址中例如可以包括有该请求信息所针对的接口的相关信息,通过该相关信息能够确定请求信息所针对的接口是否为目标语言开发的接口。相关信息例如可以为接口的接口名称、接口的标识符等。
根据本公开的实施例,目标语言开发的接口为使用目标语言编写的接口。其中,目标语言为相较于Java更为简洁的语言,例如可以包括 Python语言、Shell语言、Perl语言等可以作为脚本语言的语言。本公开对该目标语言不作限定,只要该目标语言相较于Java语言简洁、简单易学即可。
根据本公开的实施例,该操作S220例如可以通过后续图3描述的流程来实现,在此不再赘述。
在操作S230,在请求信息所针对的接口为目标语言开发的接口的情况下,获取与请求信息对应的目标语言脚本。
根据本公开的实施例,与请求信息对应的目标语言脚本例如可以为采用目标语言编译请求信息所得到的脚本。
示例性地,考虑到Web服务器为采用Java Web框架构建的服务器,因此,客户端发送的请求信息应该为符合Java语言要求的请求信息。该实施例的Web服务器例如可以预先存储有Java语言与目标语言的转换关系表。相应地,该操作S230可以在请求信息所针对的接口为目标语言开发的接口的情况下,根据Java语言与目标语言的转换关系表,将符合Java语言要求的请求信息编译为符合目标语言要求的请求信息,从而得到与请求信息对应的目标语言脚本。
示例性地,为了提高Web服务器的响应效率,该实施例的Web服务器(或该Web服务器可以访问的数据库,或其他服务器)可以预先存储有各客户端应用能生成的请求信息与对应的目标语言脚本的对应关系表。该实施例S230可以在请求信息所针对的接口为目标语言开发的接口的情况下,自预先存储的对应关系表中查找得到与请求信息对应的目标语言脚本。
示例性地,链接地址中包括的请求信息所针对的接口的相关信息例如可以为接口的接口名称。本公开实施例可以通过图5描述的流程预先构建有接口名称与目标语言脚本路径的映射关系表。该操作S230可以通过后续图4描述的流程来实现,在此不再详述。
在操作S240,运行目标语言脚本,得到针对请求信息的反馈信息。
根据本公开的实施例,请求信息中除了链接地址外,例如还可以包括有参数信息,该参数信息例如可以为客户端响应于用户操作得到的参数。示例性地,该参数可以为用户输入的关键字。
操作S240例如可以包括:将参数信息作为目标语言脚本的输入参数运行目标语言脚本,得到针对请求信息的反馈信息。其中,运行目标语言脚本时,通过调用请求信息所针对的接口,使用与目标语言脚本对应的Servlet服务程序来运行该请求信息对应的目标语言脚本。
示例性地,在客户端通过post方式发送请求信息时,请求信息中的参数信息例如可以为独立于链接地址的信息。例如,在客户端发送的请求信息为用于提交表单信息、或者登录用户的个人账户时,该参数信息可以为请求信息中由Json字符串表达的信息、或者通过Key-value的形式表达的信息。
示例性地,在客户端通过get方式发送请求信息时,请求信息中的参数信息例如也可以为添加至链接地址后面的传送参数。此时,在通过操作S240运行目标语言脚本之前,可以先通过使用已有的字符串拆分法拆分得到链接地址中的传送参数。然后将该传送参数作为目标语言脚本的输入参数来执行目标语言脚本。
综上可知,由于本公开实施例可以通过操作S230来得到请求信息对应的目标语言脚本,因此可以通过调用使用目标语言编写的接口来实现对请求信息的响应,而不需新增Java语言编写的接口。因此该实施例的方法可以允许开发者使用目标语言进行新API接口的开发,从而简化 API接口开发的流程,降低API接口的开发门槛。
图3示意性示出了根据本公开实施例的根据链接地址确定接口请求信息所针对的接口是否为目标语言开发的接口的流程图。
如图3所示,该实施例的确定请求信息所针对的接口是否为目标语言开发的接口的操作S220例如可以包括操作S321~操作S322。
在操作S321,拆分链接地址,得到链接地址中的特定字符串。
根据本公开的实施例,该操作S321例如可以先从请求信息中提取得到链接地址;然后解析该链接地址,提取得到链接地址中位于特定位置的字符串,该特定位置的字符串即为特定字符串。其中,链接地址的解析例如可以通过已有的字符串拆分法来实现。
示例性地,客户端向Web服务器发送的URL地址的格式一般为:“http://serverip:port/appname/……”。该操作S321拆分得到的特定字符串为“appname/”之后的字符串。例如,若一请求信息中的URL地址为“http://192.168.1.1:9080/netm/general4servlet/pythonAPIName”,其中, netm为appname的具体取值,则通过操作S310拆分得到的特定字符串为“general4servlet/pythonAPIName”。
在操作S322,在特定字符串满足目标语言开发的接口的接口名称正则表达的情况下,确定请求信息所针对的接口为目标语言开发的接口。
示例性地,在通过操作S321得到的特定字符串为“general4servlet/pythonAPIName”,且目标语言为Python语言时,其中的general4servlet 为固定字符串,pythonAPIName为接口名称。该操作S322即为确定该特定字符串是否满足Python脚本开发的API接口的接口名称的正则表达,若满足,则请求信息所针对的接口为Python语言开发的接口。通过该是否满足正则表达的判断,可以将特定字符串中请求信息所针对的接口的接口名称提取出来。
示例性地,操作S321提取得到的特定字符串为“general4servlet/pythonAPIName”时,该操作S322还可以仅确定特定字符串中的固定字符串是否满足接口名称的正则表达,这是由于Pyhton开发的不同的接口,可能具有不同的接口名称,该实施例只要保证链接地址针对的Servlet 服务程序为与目标语言脚本对应的Servlet服务程序即可。
图4示意性示出了根据本公开实施例的获取与接口请求信息对应的目标语言脚本的流程图。
如图4所示,前述获取与请求信息对应的目标语言脚本的操作S230 例如可以包括操作S431~操作S432。
在操作S431,根据接口名称与目标语言脚本路径的映射关系表,获取与链接地址中的接口名称具有映射关系的目标语言脚本路径。
根据本公开的实施例,在请求信息所针对的接口为目标语言开发的接口的情况下,例如可以通过前述图3描述的操作S322将请求信息所针对的接口的接口名称提取出来。该操作S431可以包括:根据提取出的接口名称,查询接口名称与目标语言脚本路径的映射关系表。查询得到与提取出的接口名称具有映射关系的目标语言脚本路径。
根据本公开的实施例,接口名称与目标语言脚本路径的映射关系表包括有多个映射关系,每个映射关系可以通过后续图5描述的流程来得到。该映射关系表例如可以维护于Web服务器本地,或者可以维护于能够被Web服务器访问的数据库或数据服务器中。该操作S431例如可以先获取接口名称与目标语言脚本路径的映射关系表,然后再根据从链接地址中提取的接口名称查询该映射关系表,查询得到与提取出的接口名称具有映射关系的目标语言脚本路径。
在操作S432,根据目标语言脚本路径,获取与请求信息对应的目标语言脚本。
根据本公开的实施例,开发者可以根据业务需求,预先构建有与处理过程中需要调用目标语言开发的接口的请求信息一一对应的目标语言脚本,并将该目标语言脚本存储于Web服务器本地或者Web服务器可以访问的数据库中,将目标语言脚本的存储地址作为目标语言脚本路径。因此,Web服务器根据该目标语言脚本路径即可定位到存储该目标语言脚本的存储空间,以获取该目标语言脚本。
图5示意性示出了根据本公开另一实施例的基于Java Web框架的信息处理方法的流程图。
该实施例的基于Java Web框架的信息处理方法除了操作S210~操作 S240外,如图5所示,还可以包括操作S550~操作S570。该操作S550~操作S570可以在操作S210之前执行,也可以在操作S210~操作S240 执行过程中的任意时机执行。
在操作S550,获取接口注册信息,该接口注册信息包括接口名称及目标语言脚本路径。
根据本公开的实施例,为了便于进行接口注册,Web服务器中例如可以设置有接口注册装置。该接口注册装置用于注册HTTP API接口。则该操作S550可以是获取开发者通过该接口注册装置输入或上传的接口注册信息。该接口注册信息至少包括接口名称和目标语言脚本路径。
示例性地,开发者可以通过Web服务器中的接口注册装置的页面进行登记注册,输入API接口名称、目标语言脚本路径、目标语言脚本名称、接口的输入参数、接口的输出参数、API接口URL链接等接口注册信息。通过输入的接口的输入参数、接口的输出参数,可以便于规定新注册的API接口的输入参数、输出参数的类型、格式等。通过输入API 接口URL链接,可以实现对能够调用该API接口的URL地址的限定。
根据本公开的实施例,Web服务器中的接口注册装置可以根据上述操作S550获取的输入信息,来实现目标语言开发的HTTPAPI接口的注册,得到使用目标语言开发的接口。
在操作S560,构建接口注册信息中接口名称与目标语言脚本路径的映射关系。根据本公开的实施例,在获取到接口注册信息后,可以将接口名称及目标语言脚本路径进行绑定,从而建立起两者之间的映射关系。可以理解的是,该操作S560例如可以不仅建立接口名称与目标语言脚本路径之间的映射关系,还可以建立输入的任意两种接口注册信息之间的映射关系。例如还可以建立输入的API接口URL链接与目标语言脚本之间的映射关系等。
在操作S570,将映射关系存储至预定存储空间。在注册该HTTP API 接口后,接口注册装置可以将输入的接口注册信息存储至预定存储空间,以便于Web服务器查询和调用。
根据本公开的实施例,预定存储空间中可以维护有接口名称与目标语言脚本路径的映射关系表,该操作S570可以是将新构建的映射关系添加至该映射关系表中。
本公开实施例通过上述操作S550~操作S570构建接口名称与目标语言脚本路径的映射关系,可以根据链接地址中的接口名称来获取与请求信息对应的目标语言脚本。因此,在运行目标语言脚本时,通过调用与接口名称对应的接口即可直接运行。在API的注册过程中,仅涉及接口注册信息的获取及映射关系的构建,相较于传统的API接口的新增中需要修改web.xml的技术方案,无需对针对目标语言脚本的Servlet进行新增和修改。因此,开发者在使用目标语言开发新的API接口后,无需重启Web服务器,可以实现API接口的快速开发部署和发布。
根据本公开的实施例,在存在需要调用目标语言开发的接口的多种请求信息时,为了便于获取与请求信息对应的目标语言脚本。在操作 S560建立映射关系时,还可以建立有链接地址(前述的API接口URL 链接)与目标语言脚本之间的映射关系。从而在Web服务器响应请求信息时,可以查询得到与链接地址具有映射关系的目标语言脚本。然后,根据与该目标语言脚本具有映射关系的接口名称来确定调用的接口。
图6示意性示出了本公开又一实施例的基于Java Web框架的信息处理方法的流程图。
根据本公开的实施例,Web服务器在响应于请求信息,通过运行目标语言脚本而从应用服务器获取到信息后,例如还可以将该获取到的信息作为反馈信息发送给客户端,以使得客户端的用户能够得到需要阅读或查看的信息。因此,如图6所示,该实施例的基于Java Web框架的信息处理方法除了操作S210~操作S240外,还可以包括操作S650,该操作S650可以在操作S240之后执行。
在操作S650,向客户端发送反馈信息,以使得客户端展示反馈信息。
根据本公开的实施例,反馈信息具体可以为通过执行操作S240得到的信息。该信息例如可以为通过运行目标语言脚本而从应用服务器中获取的信息。在通过执行操作S240得到信息后,例如可以先将该信息进行封装,再发给客户端。客户端在收到该反馈信息后可以进行该反馈信息的展示。使得客户端的用户能够查看到其想要查看的信息。
示例性地,该反馈信息例如可以为风景图片等。
综上可知,本通过本公开提供的基于Java Web框架的信息处理方法,在开发API接口,以使得企业级应用增加新的功能时,可以即兼顾JavaWeb框架的可靠性,还可以兼顾目标语言开发部署API接口的简单快速的优势。因此,通过本公开提供的基于Java Web框架的信息处理方法,可以有效地降低企业级应用项目的开发门槛,具有较好的普适性和推广性。
图7示意性示出了根据本公开实施例的基于Java Web框架的信息处理装置的结构框图。
如图7所示,该实施例的基于Java Web框架的信息处理装置700例如可以包括信息获取模块710、接口确定模块720、脚本获取模块730 和脚本运行模块740。
信息获取模块710用于获取客户端发送的请求信息,该请求信息包括链接地址。在一实施例中,该信息获取模块710例如可以用于执行图 2描述的操作S210,在此不再赘述。
接口确定模块720用于根据链接地址,确定请求信息所针对的接口是否为目标语言开发的接口。其中,目标语言包括脚本语言。在一实施例中,该接口确定模块720例如可以用于执行图2描述的操作S220,在此不再赘述。
脚本获取模块730用于在请求信息所针对的接口为目标语言开发的接口的情况下,获取与请求信息对应的目标语言脚本。在一实施例中,该脚本获取模块730例如可以用于执行图2描述的操作S230,在此不再赘述。
脚本运行模块740用于运行目标语言脚本,得到针对请求信息的反馈信息。在一实施例中,该脚本运行模块740例如可以用于执行图2描述的操作S240,在此不再赘述。
根据本公开的实施例,如图7所示,接口确定模块720例如可以包括地址拆分子模块721和接口确定子模块722。地址拆分子模块721用于拆分链接地址,得到链接地址中的特定字符串。接口确定子模块722 用于在特定字符串满足目标语言开发的接口的接口名称正则表达的情况下,确定请求信息所针对的接口为目标语言开发的接口。在一实施例中,地址拆分子模块721和接口确定子模块722例如可以分别用于执行图3 描述的操作S321~操作S322,在此不再赘述。
根据本公开的实施例,如图7所示,脚本获取模块730例如可以包括路径获取子模块731和脚本获取子模块732。路径获取子模块731用于根据接口名称与目标语言脚本路径的映射关系表,获取与链接地址中的接口名称具有映射关系的目标语言脚本路径。脚本获取子模块732用于根据目标语言脚本路径,获取与请求信息对应的目标语言脚本。在一实施例中,路径获取子模块731和脚本获取子模块732例如可以分别用于执行图4描述的操作S431~操作S432,在此不再赘述。
根据本公开的实施例,上述基于Java Web框架的信息处理装置700 例如还可以包括:注册信息获取模块、映射关系构建模块和存储处理模块。注册信息获取模块用于获取接口注册信息,该接口注册信息包括接口名称及目标语言脚本路径。映射关系构建模块用于构建接口注册信息中接口名称与目标语言脚本路径的映射关系。存储处理模块用于将映射关系存储至预定存储空间。在一实施例中,注册信息获取模块、映射关系构建模块和存储处理模块例如可以分别用于执行图5描述的操作 S550~操作S570,在此不再赘述。
根据本公开的实施例,请求信息还可以包括参数信息,上述脚本运行模块740具体可以用于执行以下操作:将参数信息作为目标语言脚本的输入参数运行目标语言脚本,得到针对请求信息的反馈信息。
根据本公开的实施例,上述基于Java Web框架的信息处理装置700 例如还可以包括反馈信息发送模块,用于向客户端发送反馈信息,以使得客户端展示反馈信息。在一实施例中,该反馈信息发送模块例如可以用于执行图6描述的操作S650,在此不再赘述。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任伺其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图8示意性示出了根据本公开实施例的适于执行基于Java Web框架的信息处理方法的电子设备的结构框图。
如图8所示,根据本公开实施例的电子设备800包括处理器801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分 808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。处理器801例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器801还可以包括用于缓存用途的板载存储器。处理器801可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 803中,存储有电子设备800操作所需的各种程序和数据。处理器801、ROM802以及RAM 803通过总线804彼此相连。处理器801通过执行ROM 802和/或RAM 803中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 802和RAM 803以外的一个或多个存储器中。处理器801 也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备800还可以包括输入/输出(I/O) 接口805,输入/输出(I/O)接口805也连接至总线804。电子设备 800还可以包括连接至I/O接口805的以下部件中的一项或多项:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810 上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被处理器801执行时,执行本公开实施例的电子设备中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器 (CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 802和/或RAM 803和/或ROM 802和RAM 803 以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (8)
1.一种基于Java Web框架的信息处理方法,包括:
获取客户端发送的请求信息,所述请求信息包括链接地址;
根据所述链接地址,确定所述请求信息所针对的接口是否为目标语言开发的接口;
在所述请求信息所针对的接口为目标语言开发的接口的情况下,获取与所述请求信息对应的目标语言脚本;以及
运行所述目标语言脚本,得到针对所述请求信息的反馈信息,
其中,所述目标语言包括脚本语言;
所述根据所述链接地址,确定所述请求信息所针对的接口是否为目标语言开发的接口包括:
拆分所述链接地址,得到所述链接地址中的特定字符串;以及
在所述特定字符串满足所述目标语言开发的接口的接口名称正则表达的情况下,确定所述请求信息所针对的接口为所述目标语言开发的接口;
所述链接地址中具有接口名称;获取与所述请求信息对应的目标语言脚本包括:
根据接口名称与目标语言脚本路径的映射关系表,获取与所述链接地址中的接口名称具有映射关系的目标语言脚本路径;以及
根据所述目标语言脚本路径,获取与所述请求信息对应的目标语言脚本;
其中,所述请求信息还包括参数信息;所述运行所述目标语言脚本,得到针对所述请求信息的反馈信息包括:
将所述参数信息作为所述目标语言脚本的输入参数运行所述目标语言脚本,得到针对所述请求信息的反馈信息。
2.根据权利要求1所述的方法,还包括:
获取接口注册信息,所述接口注册信息包括接口名称及目标语言脚本路径;
构建所述接口注册信息中所述接口名称与所述目标语言脚本路径的映射关系;以及
将所述映射关系存储至预定存储空间。
3.根据权利要求1所述的方法,包括:
向所述客户端发送所述反馈信息,以使得所述客户端展示所述反馈信息。
4.一种基于Java Web框架的信息处理装置,包括:
信息获取模块,用于获取客户端发送的请求信息,所述请求信息包括链接地址;
接口确定模块,用于根据所述链接地址,确定所述请求信息所针对的接口是否为目标语言开发的接口;
脚本获取模块,用于在所述请求信息所针对的接口为目标语言开发的接口的情况下,获取与所述请求信息对应的目标语言脚本;以及
脚本运行模块,用于运行所述目标语言脚本,得到针对所述请求信息的反馈信息,
其中,所述目标语言包括脚本语言;
所述根据所述链接地址,确定所述请求信息所针对的接口是否为目标语言开发的接口包括:
拆分所述链接地址,得到所述链接地址中的特定字符串;以及
在所述特定字符串满足所述目标语言开发的接口的接口名称正则表达的情况下,确定所述请求信息所针对的接口为所述目标语言开发的接口;
所述链接地址中具有接口名称;获取与所述请求信息对应的目标语言脚本包括:
根据接口名称与目标语言脚本路径的映射关系表,获取与所述链接地址中的接口名称具有映射关系的目标语言脚本路径;以及
根据所述目标语言脚本路径,获取与所述请求信息对应的目标语言脚本;
其中,所述请求信息还包括参数信息;所述运行所述目标语言脚本,得到针对所述请求信息的反馈信息包括:
将所述参数信息作为所述目标语言脚本的输入参数运行所述目标语言脚本,得到针对所述请求信息的反馈信息。
5.根据权利要求4所述的装置,其中,所述接口确定模块包括:
地址拆分子模块,用于拆分所述链接地址,得到所述链接地址中的特定字符串;
接口确定子模块,用于在所述特定字符串满足所述目标语言开发的接口的接口名称正则表达的情况下,确定所述请求信息所针对的接口为所述目标语言开发的接口。
6.根据权利要求4所述的装置,其中,所述链接地址中具有接口名称;所述脚本获取模块包括:
路径获取子模块,用于根据接口名称与目标语言脚本路径的映射关系表,获取与所述链接地址中的接口名称具有映射关系的目标语言脚本路径;以及
脚本获取子模块,用于根据所述目标语言脚本路径,获取与所述请求信息对应的目标语言脚本。
7.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~3中任一项所述的方法。
8.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~3中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010594334.1A CN111782420B (zh) | 2020-06-24 | 2020-06-24 | 基于Java Web框架的信息处理方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010594334.1A CN111782420B (zh) | 2020-06-24 | 2020-06-24 | 基于Java Web框架的信息处理方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111782420A CN111782420A (zh) | 2020-10-16 |
CN111782420B true CN111782420B (zh) | 2023-09-05 |
Family
ID=72760447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010594334.1A Active CN111782420B (zh) | 2020-06-24 | 2020-06-24 | 基于Java Web框架的信息处理方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111782420B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109799980A (zh) * | 2018-12-13 | 2019-05-24 | 平安普惠企业管理有限公司 | 基于数据处理多编程语言互连的方法、装置及计算机设备 |
CN110032451A (zh) * | 2019-04-18 | 2019-07-19 | 成都四方伟业软件股份有限公司 | 分布式多语言消息实现方法、装置及服务器 |
CN110704200A (zh) * | 2018-07-09 | 2020-01-17 | 北京京东尚科信息技术有限公司 | 转换调用接口的方法和装置 |
-
2020
- 2020-06-24 CN CN202010594334.1A patent/CN111782420B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704200A (zh) * | 2018-07-09 | 2020-01-17 | 北京京东尚科信息技术有限公司 | 转换调用接口的方法和装置 |
CN109799980A (zh) * | 2018-12-13 | 2019-05-24 | 平安普惠企业管理有限公司 | 基于数据处理多编程语言互连的方法、装置及计算机设备 |
CN110032451A (zh) * | 2019-04-18 | 2019-07-19 | 成都四方伟业软件股份有限公司 | 分布式多语言消息实现方法、装置及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN111782420A (zh) | 2020-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107133180B (zh) | 动态页面的测试方法、测试装置及存储介质 | |
CN109542427B (zh) | 一种系统定制方法、装置及电子设备和存储介质 | |
CN111290806B (zh) | 应用程序接口的调用方法、装置、计算机设备及存储介质 | |
CN107105336B (zh) | 数据处理方法及数据处理装置 | |
US8073887B2 (en) | Representational state transfer (REST) service import editor | |
CN110365724B (zh) | 任务处理方法、装置及电子设备 | |
CN110011875B (zh) | 拨测方法、装置、设备及计算机可读存储介质 | |
CN110069308A (zh) | 页面启动方法、装置、电子设备和存储介质 | |
CN111586097A (zh) | 一种网络请求处理方法、计算设备及存储介质 | |
CN112068880A (zh) | 导引页面的生成和控制方法、以及生成和控制装置 | |
CN111010438A (zh) | 远程过程调用方法、装置、服务器及存储介质 | |
CN112688915A (zh) | 跨协议通信方法、装置及服务器 | |
CN113127361A (zh) | 应用程序的开发方法、装置、电子设备和存储介质 | |
CN110717992B (zh) | 调度模型的方法、装置、计算机系统和可读存储介质 | |
CN113191889A (zh) | 风控配置方法、配置系统、电子设备及可读存储介质 | |
CN112732547B (zh) | 业务测试方法、装置、存储介质及电子设备 | |
CN111782420B (zh) | 基于Java Web框架的信息处理方法、装置、设备和介质 | |
CN114610446B (zh) | 一种自动注入探针的方法、装置及系统 | |
CN114285859B (zh) | 中间层区块链服务的数据处理方法、装置、设备及存储介质 | |
CN113691618B (zh) | 消息通知方法、装置、消息中心及存储介质 | |
CN115374207A (zh) | 业务处理方法及装置、电子设备和计算机可读存储介质 | |
CN115633073A (zh) | 微服务调用方法、电子设备、系统及可读存储介质 | |
CN114301970A (zh) | 服务调用方法、装置、电子设备及存储介质 | |
CN114546370A (zh) | 一种数据对接方法及相关装置 | |
CN112559213B (zh) | 应用通信方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |