CN104424338A - web***的自动生成装置和自动生成方法 - Google Patents

web***的自动生成装置和自动生成方法 Download PDF

Info

Publication number
CN104424338A
CN104424338A CN201310412990.5A CN201310412990A CN104424338A CN 104424338 A CN104424338 A CN 104424338A CN 201310412990 A CN201310412990 A CN 201310412990A CN 104424338 A CN104424338 A CN 104424338A
Authority
CN
China
Prior art keywords
database
web system
javabean
generate
user
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.)
Granted
Application number
CN201310412990.5A
Other languages
English (en)
Other versions
CN104424338B (zh
Inventor
吴春志
邓克毅
黄科
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New Founder Holdings Development Co ltd
Pku Founder Information Industry Group Co ltd
Peking University Founder Group Co Ltd
Founder Apabi Technology Ltd
Original Assignee
Founder Information Industry Holdings Co Ltd
Peking University Founder Group Co Ltd
Beijing Founder Apabi Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Founder Information Industry Holdings Co Ltd, Peking University Founder Group Co Ltd, Beijing Founder Apabi Technology Co Ltd filed Critical Founder Information Industry Holdings Co Ltd
Priority to CN201310412990.5A priority Critical patent/CN104424338B/zh
Publication of CN104424338A publication Critical patent/CN104424338A/zh
Application granted granted Critical
Publication of CN104424338B publication Critical patent/CN104424338B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种web***的自动生成装置,包括:视图层生成单元,用于生成所述web***的视图层的表单界面;模型层生成单元,包括:数据库建立子单元,用于建立数据库,所述数据库中存储有与所述表单界面相对应的数据库表;类创建子单元,用于创建用于对所述数据库进行操作的业务处理类,以完成所述web***的模型层的生成;控制层生成单元,包括:功能配置子单元,用于根据预设的配置文件进行功能配置;策略建立子单元,用于建立控制策略,以完成所述web***的控制层的生成。本发明还提出了对应的web***的自动生成方法。通过本发明的技术方案,可以提高web***开发过程中的自动化过程,减少人工干预,简化开发过程。

Description

web***的自动生成装置和自动生成方法
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种web***的自动生成装置和一种web***的自动生成方法。
背景技术
在web***的开发中,设计者们在面对如何架构web***以达到开发更方便、更简洁的时候,MVC(模型(model)-视图(view)-控制器(controller))架构模式逐渐成为了主流技术。MVC是一种软件构件模式,用一种业务逻辑和数据显示分离的方法组织代码,这个方法的假设前提是如果业务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑。MVC被应用于在一个逻辑的图形化用户界面的结构中,实现映射传统的输入、处理和输出功能。
MVC将M(模型层)和V(视图层)的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。C(控制层)存在的目的则是确保M(模型层)和V(视图层)的同步,一旦M(模型层)改变,V(视图层)应该同步更新。它强制性的使应用程序的输入、处理和输出分开。基于上述原则,web应用程序被分成三个核心部件:模型、视图、控制器,它们各自处理自己的任务。
如今业界也有很多成熟并且被广泛应用的MVC架构方案,比如Struts、Spring、Hibernate等。它们在使用MVC设计模式进行web***架构的时候,完全能够通过配置文件将解耦的C(控制层)和M(模型层)紧密关联起来而又相互独立,并且通过策略模式和面向切面编程的技术,能够智能地自动化生成部分M(模型层)和C(控制层)的代码。
然而,相关技术中所提出的各种MVC的解决方案,仍然停留在部分层次的代码自动化生成,或者某个层次部分自动化,无法提供一整套的技术方案来进行对MVC整个层次进行与业务逻辑无关的代码的自动化生成。
因此,如何提供一种新的web***的开发技术,使得web***的开发更加自动化,让程序开发者更注重于具体的业务逻辑,提高工作效率。
发明内容
本发明正是基于上述问题,提出了一种新的web***的自动生成技术,可以提高web***开发过程中的自动化过程,减少人工干预,简化开发过程。
有鉴于此,本发明提出了一种web***的自动生成装置,包括:视图层生成单元,用于生成所述web***的视图层的表单界面;模型层生成单元,包括:数据库建立子单元,用于建立数据库,所述数据库中存储有与所述表单界面相对应的数据库表,所述数据库表中的字段与所述表单界面中的每个表单控件的属性信息一一对应;类创建子单元,创建用于对所述数据库进行操作的业务处理类,以完成所述web***的模型层的生成;控制层生成单元,包括:功能配置子单元,用于根据预设的配置文件进行功能配置;策略建立子单元,用于建立控制策略,以完成所述web***的控制层的生成。
在该技术方案中,通过对视图层的表单界面的属性进行获取,并建立对应的数据库,使得自动建立起视图层和模型层之间的关联关系,而不必由用户完全手动进行关联配置,提高了***开发的自动化程度,有助于提高工作效率。同时,还通过提供自动生成的业务处理类,完成控制层对模型层的数据库的具体操作,实现了视图层、模型层和控制层之间的紧密关联,有助于降低人工的干预程度。
根据本发明的又一方面,还提出了一种web***的自动生成方法,包括:生成所述web***的视图层的表单界面;建立数据库,所述数据库中存储有与所述表单界面相对应的数据库表,所述数据库表中的字段与所述表单界面中的每个表单控件的属性信息一一对应;创建用于对所述数据库进行操作的业务处理类,以完成所述web***的模型层的生成;根据预设的配置文件进行功能配置,并建立控制策略,以完成所述web***的控制层的生成。
在该技术方案中,通过对视图层的表单界面的属性进行获取,并建立对应的数据库,使得自动建立起视图层和模型层之间的关联关系,而不必由用户完全手动进行关联配置,提高了***开发的自动化程度,有助于提高工作效率。同时,还通过提供自动生成的业务处理类,完成控制层对模型层的数据库的具体操作,实现了视图层、模型层和控制层之间的紧密关联,有助于降低人工的干预程度。
通过以上技术方案,可以提高web***开发过程中的自动化过程,减少人工干预,简化开发过程。
附图说明
图1示出了根据本发明的实施例的web***的自动生成装置的示意框图;
图2示出了根据本发明的实施例的web***的自动生成方法的流程示意图;
图3示出了根据本发明的实施例的自动化生成web***的原理示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。
图1示出了根据本发明的实施例的web***的自动生成装置的示意框图。
如图1所示,根据本发明的实施例的web***的自动生成装置,包括:视图层生成单元,用于生成所述web***的视图层的表单界面;模型层生成单元,包括:数据库建立子单元,用于建立数据库,所述数据库中存储有与所述表单界面相对应的数据库表,所述数据库表中的字段与所述表单界面中的每个表单控件的属性信息一一对应;类创建子单元,创建用于对所述数据库进行操作的业务处理类,以完成所述web***的模型层的生成;控制层生成单元,包括:功能配置子单元,用于根据预设的配置文件进行功能配置;策略建立子单元,用于建立控制策略,以完成所述web***的控制层的生成。
在该技术方案中,通过对视图层的表单界面的属性进行获取,并建立对应的数据库,使得自动建立起视图层和模型层之间的关联关系,而不必由用户完全手动进行关联配置,提高了***开发的自动化程度,有助于提高工作效率。同时,还通过提供自动生成的业务处理类,完成控制层对模型层的数据库的具体操作,实现了视图层、模型层和控制层之间的紧密关联,有助于降低人工的干预程度。
在上述技术方案中,优选地,所述视图层生成单元包括:选择子单元,用于根据接收到的用户的选择指令,选择表单控件和视图类型;表单生成子单元,用于根据获取的键入信息,为每个表单控件添加对应的属性信息和方法信息,以生成所述视图层的表单界面。
在该技术方案中,用于无需执行对具体代码的编写,只需要对视图类型和预先建立的可视化的控件模型进行选择,即可由后台自动生成相应的代码,有助于提高工作效率。通过键入属性信息和方法信息,则针对由预设的控件模型构成的***结构,为每个具体的控件设置对应的实现功能和逻辑关系,但这些操作都无需由用户手动编写代码,只需要关注具体的业务逻辑即可,提升了自动化程度,有助于提高工作效率。
在上述任一技术方案中,优选地,所述数据库建立子单元用于:创建包含所述表单界面中的每个表单控件的属性信息的JavaBean组件;根据所需的数据库的属性特征,生成数据库表,所述数据库表中的字段与所述JavaBean组件中的所有属性信息一一对应;将所述数据库表存储至数据库。
在该技术方案中,利用动态代理技术,由JavaBean对视图层的表单控件的属性进行获取,并建立对应的数据库表,从而在视图层和模型层之间自动建立关联,以及在视图层、模型层与数据库之间自动建立关联,无需用户手动设置,有助于提升***的自动化程度,提高用户的工作效率。
在上述任一技术方案中,优选地,所述JavaBean组件继承用于操作所述数据库的基础类;以及所述业务处理类包括代理组件和所述JavaBean组件,其中,所述代理组件通过调用所述JavaBean组件,实现对所述数据库的操作。
在该技术方案中,通过由JavaBean组件继承基础类,实现对数据库的具体操作,而由代理组件实现对***运行时的具体请求进行响应,从而实现对多个功能的明确划分,有助于具体的调试和控制。
在上述任一技术方案中,优选地,所述模型层生成单元还包括:模板生成子单元,用于生成并存储与所述业务处理类相关联的SQL模板语句;其中,所述业务处理类将从接收到的操作请求中解析出的信息添加至所述SQL模板语句,以生成SQL执行语句,并通过所述SQL执行语句,实现对所述数据库的操作。
在该技术方案中,通过生成SQL模板语句,则当对用户的请求进行响应时,无需每次都重新编写SQL查询语句,而直接将所希望操作的数据的标识(如具体数据库表的ID等)添加至SQL模板语句中的相应位置,即可直接实现对数据库的操作,有助于缩短响应时间,提高运行效率。
在上述任一技术方案中,优选地,所述控制层生成单元还包括:文件生成子单元,用于通过检测用户的操作动作,确定操作对象和操作方式,以生成所述预设的配置文件。
在该技术方案中,控制层的生成过程中,在初始化过程和具体的功能配置过程中,需要使用预先生成的配置文件。配置文件的生成过程无需用户手动编程,只需要由用户执行如路径的创建、对象的选择、操作方式的选择等操作,***就能够自动生成对应的配置文件,使得配置文件的生成过程更加自动化,有助于提高工作效率。
在上述任一技术方案中,优选地,所述策略建立子单元用于:根据用户选择的框架类型,读取所述框架类型对应的预设控制策略;或根据接收到的用户配置指令,建立实时配置的控制策略。
在该技术方案中,用户可以对预先设置的框架类型进行选择,则可以直接读取对应于被选中的框架对应的控制策略,以提高效率;用户也可以根据实际情况,配置新的控制策略,以适用于不同的实际情况。
图2示出了根据本发明的实施例的web***的自动生成方法的流程示意图。
如图2所示,根据本发明的实施例的web***的自动生成方法,包括:生成所述web***的视图层的表单界面;建立数据库,所述数据库中存储有与所述表单界面相对应的数据库表,所述数据库表中的字段与所述表单界面中的每个表单控件的属性信息一一对应;创建用于对所述数据库进行操作的业务处理类,以完成所述web***的模型层的生成;根据预设的配置文件进行功能配置,并建立控制策略,以完成所述web***的控制层的生成。
在该技术方案中,通过对视图层的表单界面的属性进行获取,并建立对应的数据库,使得自动建立起视图层和模型层之间的关联关系,而不必由用户完全手动进行关联配置,提高了***开发的自动化程度,有助于提高工作效率。同时,还通过提供自动生成的业务处理类,完成控制层对模型层的数据库的具体操作,实现了视图层、模型层和控制层之间的紧密关联,有助于降低人工的干预程度。
在上述技术方案中,优选地,生成所述表单界面的过程包括:根据接收到的用户的选择指令,选择表单控件和视图类型,并根据获取的键入信息,为每个表单控件添加对应的属性信息和方法信息,以生成所述视图层的表单界面。
在该技术方案中,用于无需执行对具体代码的编写,只需要对视图类型和预先建立的可视化的控件模型进行选择,即可由后台自动生成相应的代码,有助于提高工作效率。通过键入属性信息和方法信息,则针对由预设的控件模型构成的***结构,为每个具体的控件设置对应的实现功能和逻辑关系,但这些操作都无需由用户手动编写代码,只需要关注具体的业务逻辑即可,提升了自动化程度,有助于提高工作效率。
在上述任一技术方案中,优选地,建立所述数据库的过程包括:创建包含所述表单界面中的每个表单控件的属性信息的JavaBean组件;根据所需的数据库的属性特征,生成数据库表,所述数据库表中的字段与所述JavaBean组件中的所有属性信息一一对应;将所述数据库表存储至数据库。
在该技术方案中,利用动态代理技术,由JavaBean对视图层的表单控件的属性进行获取,并建立对应的数据库表,从而在视图层和模型层之间自动建立关联,以及在视图层、模型层与数据库之间自动建立关联,无需用户手动设置,有助于提升***的自动化程度,提高用户的工作效率。
在上述任一技术方案中,优选地,还包括:所述JavaBean组件继承用于操作所述数据库的基础类;以及所述业务处理类包括代理组件和所述JavaBean组件,其中,所述代理组件通过调用所述JavaBean组件,实现对所述数据库的操作。
在该技术方案中,通过由JavaBean组件继承基础类,实现对数据库的具体操作,而由代理组件实现对***运行时的具体请求进行响应,从而实现对多个功能的明确划分,有助于具体的调试和控制。
在上述任一技术方案中,优选地,还包括:生成并存储与所述业务处理类相关联的SQL模板语句;所述业务处理类将从接收到的操作请求中解析出的信息添加至所述SQL模板语句,以生成SQL执行语句,并通过所述SQL执行语句,实现对所述数据库的操作。
在该技术方案中,通过生成SQL模板语句,则当对用户的请求进行响应时,无需每次都重新编写SQL查询语句,而直接将所希望操作的数据的标识(如具体数据库表的ID等)添加至SQL模板语句中的相应位置,即可直接实现对数据库的操作,有助于缩短响应时间,提高运行效率。
在上述任一技术方案中,优选地,还包括:通过检测用户的操作动作,确定操作对象和操作方式,以生成所述预设的配置文件。
在该技术方案中,控制层的生成过程中,在初始化过程和具体的功能配置过程中,需要使用预先生成的配置文件。配置文件的生成过程无需用户手动编程,只需要由用户执行如路径的创建、对象的选择、操作方式的选择等操作,***就能够自动生成对应的配置文件,使得配置文件的生成过程更加自动化,有助于提高工作效率。
在上述任一技术方案中,优选地,建立控制策略的过程包括:根据用户选择的框架类型,读取所述框架类型对应的预设控制策略;或根据接收到的用户配置指令,建立实时配置的控制策略。
在该技术方案中,用户可以对预先设置的框架类型进行选择,则可以直接读取对应于被选中的框架对应的控制策略,以提高效率;用户也可以根据实际情况,配置新的控制策略,以适用于不同的实际情况。
图3示出了根据本发明的实施例的自动化生成web***的原理示意图。
下面结合图3,对基于本发明的实施例的自动化生成web***的工作原理进行详细说明。
假定本发明的web***开发平台中,包括基础的平台***302,还包括用于其他具体功能的如视图层平台302A、模型层平台302B、控制层平台302C等,以实现具体的web***的开发。
当需要执行web***开发时,需要由平台***302对用户预先进行和完成的设置或配置进行读取,以实现***的初始化和功能配置。
一、视图层的自动生成
在本实施例中,主要由视图层平台302A实现视图层的自动化生成。具体地,可以通过浏览器的方式实现人机交互过程,并且用户仅需要通过鼠标拖拽和键盘操作的方式,即可实现页面的生成。
1、视图类型
用户根据需求,选择所需的视图类型,比如HTML、jsp、freemarker等。
2、设计图
具体地,需要由视图层平台302A提供可视化的视图控件,则用户可以根据自身的需求,使用鼠标选择和拖动视图控件,即可形成相应的设计图。比如,其中的视图控件可以采用W3C(World Wide WebConsortium,万维网联盟)标准里面的控件,只需要了解W3C的相关规范,不需要再花费任何时间和精力去学习新的控件和API。
3、表单
视图层平台302A根据用户选择的视图类型和设计平台上的设计图,即可自动生成相应的表单。
其中,表单上的视图控件之间的关联和交互,可以采用JavaScript和DOM技术来实现。比如,在视图层平台302A中会提供一些基本的DOM操作(方法),以供程序员进行选择;同时,程序员也可以自定义DOM方法,并关联至具体的视图控件。而表单与后台交互则可以采用如ajax方式,或生成临时form标签提交的方式。
4、“登录界面”的实施例
假定用户需要设计一个“登录界面”的web***,则对于视图层的生成过程包括:
1)在视图设计平台302A的控件选择界面上,拖拽一个用户名输入框(input-text标签)和一个密码输入框(input-password标签),并拖拽两个按钮:“登录”(input-button标签)、“重置”(input-button标签)。
2)选择需要生成的表单类型(如JSP、HTML等):jsp;输入表单ID(唯一标示):login.jsp。
3)编辑每个视图控件的属性。比如双击用户名输入框编辑属性,输入ID:userName;双击密码输入框编辑属性,输入ID:userPassword;双击登录按钮编辑属性,输入ID:loginButton、输入提交URL:login.do;输入需要提交的form ID:loginForm;双击重置按钮编辑属性,输入ID:resetButton;输入需要重置的form ID:loginForm。
4)视图层平台302A会自动为每个视图控件生成javaScript方法。比如给loginButton提交:产生一个临时form,ID为:loginForm,内容包含了页面上所有可输入对象(密码输入框、密码输入框);action为:login.do;最后form.submit()。
当然,如果用户需要自己编写javaScript方法进行登录,可以编辑登录按钮的事件属性,并改为自定义的方法。
5)自动化装置在后台根据前面一系列设计步骤生成相应的表单界面。
二、模型层的自动生成
1、JavaBean
模型层平台302B使用动态代理技术,将表单ID作为JavaBean的类名(为每个表单生成一个对应的JavaBean),表单上所有的html可输入标签对应于JavaBean的属性,自动生成所对应的JavaBean。
2、数据库
获取生成的JavaBean中的包含的信息,即视图层中对应表单中的视图控件的属性信息,并根据JavaBean的信息以及所选择使用的数据库类型、版本和框架,自动产生相应的数据库脚本。
通过上述生成的数据库脚本,自动生成与JavaBean对应(比如数据库表的ID与JavaBean的ID、对应表单的ID相同)的数据库表,数据库表里面的字段与Javabean里面的属性一一对应,从而完成了对数据库的创建。
同时,每个JavaBean都继承一个基础类,该基础类主要是将JavaBean与数据库操作关联起来,能够实现对数据库的操作,如增、删、改、查等。
3、Action
实际上,可以由JavaBean直接响应控制层的请求,执行对数据库的操作,但为了对不同功能进行区分,便于***的调试和分工,本***还通过创建Action,从而分担对控制层的请求。
Action为业务处理类,是根据JavaBean的属性和方法生成的一个有着基本数据库操作(增删改查等)的操作类,该Action可以通过调用JavaBean来操作数据库。
4、SQL语句模板
在产生Action的同时,模型层平台302B还会产生一个与该Action对应的SQL配置文件,以辅助支持Action对数据库的操作。具体地,该SQL配置文件包含对数据库操作的SQL语句模板,则无需每次重新生成SQL语句,而只要根据控制层的请求,将关联的数据标识(如数据库表的ID等)添加至SQL语句模板中相应的位置即可,有助于提高工作效率。
当然,程序员可以根据实际情况来对Action进行修改,也可以对SQL配置文件进行修改;而对于数据库的操作功能的修改,也可以自动同步到Action和SQL配置文件中。
在上述技术方案中,通过对视图层表单页面的解析,将表单的各种输入控件作为属性,并生成相应的函数(方法),从而得到JavaBean。上述的动态代理技术可以很好的将前台的视图页面与后台模型层的具体业务逻辑处理类关联起来,让程序员只需要关心具体业务逻辑的处理,不用再去考虑前台与后台的关联、通信,从而提升工作效率。
5、“登录界面”的实施例
1)根据生成的表单,在后台创建一个类,其名称依据表单ID(以便建立关联):Login_jsp.java,各属性与表单的输入控件一致:username、usePassword;相应的方法:getUserName()、setUserName()、getUserPassword()、setUserPassword()。
2)生成SQL脚本。具体代码可以为:
3)生成基础类。具体代码可以为:
4)生成Action类。具体代码可以为:
三、控制层的自动生成
1、用户配置
控制层平台302C初始化***配置之后,进入控制层管理界面304,并根据用户的配置,自动生成控制层。
用户需要事先生成相应的配置文件,以用于控制层的初始化配置和控制过程中的功能配置。用户无需具体地编写配置文件的功能代码,仅需对需要进行操作的对象、方式等进行选择或创建,即可由后台自动生成相应的代码,比如对于路径的指定,只需要直接创建该路径即可;对于操作对象的指定,只需要直接选中该对象即可。
2、处理逻辑
除了上述配置,还需要设置具体的处理逻辑。
1)控制层平台302C提供预先设置的多种框架,用户可以直接对其进行选择,则控制层平台302C可以直接将被选中的框架对应的处理逻辑应用于当前web***中。具体地,通过将上述处理逻辑写入web、xml等类型的配置文件来实现。
2)程序员也可以不选择预定义的框架,而是根据实际情况而重新定义处理逻辑。具体地,比如控制层平台302C会自动生成***类来拦截程序员所配置的某种特定格式结尾的请求URL。
更具体地,如:程序员在控制层管理界面304配置了***URL后缀名为.do,那么平台***302会自动生成控制器,以拦截所有.do为后缀名的请求,并按照设计视图层时所配置的路径和ID,作为请求URL发送给***。***解析得到的URL并派发给所对应的Action(业务处理类)。
3、“登录界面”的实施例
1)登录界面(表单)在视图层设计平台302A上设置为提交到login.do。
2)在控制器管理界面304上配置***拦截所有.do的请求。
3)将配置的相关参数写进自动化生成的***的web.xml文件中。
4)当点击登录按钮时,会发送参数到login.do,web.xml里面的***拦截到这个请求(request),就将该请求解析并发送到loginAction中,然后由loginAction来进行处理具体地数据库操作等处理过程。
以上结合附图详细说明了本发明的技术方案,本发明提供了一种web***的自动生成装置和一种web***的自动生成方法,可以提高web***开发过程中的自动化过程,减少人工干预,简化开发过程。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种web***的自动生成装置,其特征在于,包括:
视图层生成单元,用于生成所述web***的视图层的表单界面;模型层生成单元,包括:
数据库建立子单元,用于建立数据库,所述数据库中存储有与所述表单界面相对应的数据库表,所述数据库表中的字段与所述表单界面中的每个表单控件的属性信息一一对应;
类创建子单元,创建用于对所述数据库进行操作的业务处理类,以完成所述web***的模型层的生成;
控制层生成单元,包括:
功能配置子单元,用于根据预设的配置文件进行功能配置;
策略建立子单元,用于建立控制策略,以完成所述web***的控制层的生成。
2.根据权利要求1所述的web***的自动生成装置,其特征在于,所述视图层生成单元包括:
选择子单元,用于根据接收到的用户的选择指令,选择表单控件和视图类型;
表单生成子单元,用于根据获取的键入信息,为每个表单控件添加对应的属性信息和方法信息,以生成所述视图层的表单界面。
3.根据权利要求1所述的web***的自动生成装置,其特征在于,所述数据库建立子单元用于:
创建包含所述表单界面中的每个表单控件的属性信息的JavaBean组件;
根据所需的数据库的属性特征,生成数据库表,所述数据库表中的字段与所述JavaBean组件中的所有属性信息一一对应;
将所述数据库表存储至数据库。
4.根据权利要求3所述的web***的自动生成装置,其特征在于,
所述JavaBean组件继承用于操作所述数据库的基础类;以及
所述业务处理类包括代理组件和所述JavaBean组件,其中,所述代理组件通过调用所述JavaBean组件,实现对所述数据库的操作。
5.根据权利要求1所述的web***的自动生成装置,其特征在于,所述模型层生成单元还包括:
模板生成子单元,用于生成并存储与所述业务处理类相关联的SQL模板语句;
其中,所述业务处理类将从接收到的操作请求中解析出的信息添加至所述SQL模板语句,以生成SQL执行语句,并通过所述SQL执行语句,实现对所述数据库的操作。
6.根据权利要求1所述的web***的自动生成装置,其特征在于,所述控制层生成单元还包括:
文件生成子单元,用于通过检测用户的操作动作,确定操作对象和操作方式,以生成所述预设的配置文件。
7.根据权利要求1所述的web***的自动生成装置,其特征在于,所述策略建立子单元用于:
根据用户选择的框架类型,读取所述框架类型对应的预设控制策略;
或根据接收到的用户配置指令,建立实时配置的控制策略。
8.一种web***的自动生成方法,其特征在于,包括:
生成所述web***的视图层的表单界面;
建立数据库,所述数据库中存储有与所述表单界面相对应的数据库表,所述数据库表中的字段与所述表单界面中的每个表单控件的属性信息一一对应;
创建用于对所述数据库进行操作的业务处理类,以完成所述web***的模型层的生成;
根据预设的配置文件进行功能配置,并建立控制策略,以完成所述web***的控制层的生成。
9.根据权利要求8所述的web***的自动生成方法,其特征在于,生成所述表单界面的过程包括:
根据接收到的用户的选择指令,选择表单控件和视图类型,并根据获取的键入信息,为每个表单控件添加对应的属性信息和方法信息,以生成所述视图层的表单界面。
10.根据权利要求8所述的web***的自动生成方法,其特征在于,建立所述数据库的过程包括:
创建包含所述表单界面中的每个表单控件的属性信息的JavaBean组件;
根据所需的数据库的属性特征,生成数据库表,所述数据库表中的字段与所述JavaBean组件中的所有属性信息一一对应;
将所述数据库表存储至数据库。
11.根据权利要求10所述的web***的自动生成方法,其特征在于,还包括:
所述JavaBean组件继承用于操作所述数据库的基础类;以及
所述业务处理类包括代理组件和所述JavaBean组件,其中,所述代理组件通过调用所述JavaBean组件,实现对所述数据库的操作。
12.根据权利要求8所述的web***的自动生成方法,其特征在于,还包括:
生成并存储与所述业务处理类相关联的SQL模板语句;
所述业务处理类将从接收到的操作请求中解析出的信息添加至所述SQL模板语句,以生成SQL执行语句,并通过所述SQL执行语句,实现对所述数据库的操作。
13.根据权利要求8所述的web***的自动生成方法,其特征在于,还包括:
通过检测用户的操作动作,确定操作对象和操作方式,以生成所述预设的配置文件。
14.根据权利要求8所述的web***的自动生成方法,其特征在于,建立控制策略的过程包括:
根据用户选择的框架类型,读取所述框架类型对应的预设控制策略;
或根据接收到的用户配置指令,建立实时配置的控制策略。
CN201310412990.5A 2013-09-11 2013-09-11 web***的自动生成装置和自动生成方法 Expired - Fee Related CN104424338B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310412990.5A CN104424338B (zh) 2013-09-11 2013-09-11 web***的自动生成装置和自动生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310412990.5A CN104424338B (zh) 2013-09-11 2013-09-11 web***的自动生成装置和自动生成方法

Publications (2)

Publication Number Publication Date
CN104424338A true CN104424338A (zh) 2015-03-18
CN104424338B CN104424338B (zh) 2018-02-02

Family

ID=52973312

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310412990.5A Expired - Fee Related CN104424338B (zh) 2013-09-11 2013-09-11 web***的自动生成装置和自动生成方法

Country Status (1)

Country Link
CN (1) CN104424338B (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104793961A (zh) * 2015-05-10 2015-07-22 黄伟 使用原生Web代码的快速JavaWeb开发方法及***
CN105262596A (zh) * 2015-11-24 2016-01-20 北京锤子数码科技有限公司 一种网络认证自动登录方法及***
CN105677347A (zh) * 2016-01-05 2016-06-15 浪潮通用软件有限公司 一种数据处理的方法及装置
CN106021211A (zh) * 2016-05-18 2016-10-12 山东达创网络科技股份有限公司 一种智能表单***及其生成方法
CN106648587A (zh) * 2016-09-28 2017-05-10 福州宇嘉软件科技有限公司 一种基于注解的Web应用代码生成方法
CN106648690A (zh) * 2016-12-29 2017-05-10 北京恒华伟业科技股份有限公司 一种代码自动生成方法及装置
CN106951233A (zh) * 2017-03-02 2017-07-14 广州天高软件科技有限公司 混合模式智能手机应用开发框架
CN107249106A (zh) * 2017-04-28 2017-10-13 太仓鸿策拓达科技咨询有限公司 一种影视制作界面切换***
CN107491478A (zh) * 2017-07-03 2017-12-19 广东南方数码科技股份有限公司 基于直观流程图的数据处理方法、电子设备及存储介质
CN108614693A (zh) * 2018-03-21 2018-10-02 阿里巴巴集团控股有限公司 一种针对页面组件的处理方法、装置及设备
CN108984653A (zh) * 2018-06-27 2018-12-11 广州市南方人力资源评价中心有限公司 一种实现多***在线开发管理的方法
CN109284469A (zh) * 2018-10-23 2019-01-29 中山市晋华软件科技有限公司 网页开发框架
CN109783509A (zh) * 2019-01-04 2019-05-21 中国银行股份有限公司 Sql脚本生成方法及装置
CN109783555A (zh) * 2018-12-13 2019-05-21 东软集团股份有限公司 表单模板存储方法、装置、存储介质及电子设备
CN110019307A (zh) * 2017-12-28 2019-07-16 阿里巴巴集团控股有限公司 数据处理方法及装置
CN111026732A (zh) * 2019-12-03 2020-04-17 深圳中科保泰科技有限公司 动态化巡采巡查方法和***
CN111078213A (zh) * 2018-10-18 2020-04-28 马上消费金融股份有限公司 一种代码生成方法及代码生成装置
CN111309316A (zh) * 2020-01-16 2020-06-19 深圳壹账通智能科技有限公司 一种web框架模型建立方法及装置
CN111475143A (zh) * 2020-04-07 2020-07-31 四川虹美智能科技有限公司 定制软件的方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030023953A1 (en) * 2000-12-04 2003-01-30 Lucassen John M. MVC (model-view-conroller) based multi-modal authoring tool and development environment
CN101694618A (zh) * 2009-09-01 2010-04-14 卡斯柯信号有限公司 适用于ajax框架的模型层与视图层数据自动映射方法
CN102117203A (zh) * 2009-12-30 2011-07-06 上海杉达学院 一种基于Struts框架的信息管理***
CN102650952A (zh) * 2011-02-28 2012-08-29 北京航空航天大学 基于mvc框架的建模工具命令调用方法及***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030023953A1 (en) * 2000-12-04 2003-01-30 Lucassen John M. MVC (model-view-conroller) based multi-modal authoring tool and development environment
CN101694618A (zh) * 2009-09-01 2010-04-14 卡斯柯信号有限公司 适用于ajax框架的模型层与视图层数据自动映射方法
CN102117203A (zh) * 2009-12-30 2011-07-06 上海杉达学院 一种基于Struts框架的信息管理***
CN102650952A (zh) * 2011-02-28 2012-08-29 北京航空航天大学 基于mvc框架的建模工具命令调用方法及***

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JOSE CARLOS CASTILLO ETAL.: "A Multisensory Monitoring and Interpretation Framework Based on the Model-View-Controller Paradigm", 《INTERNATIONAL WORK-CONFERENCE ON THE INTERPLAY BETWEEN NATURALAND ARTIFICIAL COMPUTATION 》 *
刘坤彪等: "基于MVC模式的Web应用开发研究", 《浙江交通职业技术学院学报》 *
王斐: "MVC设计模式中视图层的改进", 《科学技术与工程》 *

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104793961A (zh) * 2015-05-10 2015-07-22 黄伟 使用原生Web代码的快速JavaWeb开发方法及***
CN105262596B (zh) * 2015-11-24 2019-03-15 北京字节跳动网络技术有限公司 一种网络认证自动登录方法及***
CN105262596A (zh) * 2015-11-24 2016-01-20 北京锤子数码科技有限公司 一种网络认证自动登录方法及***
CN105677347A (zh) * 2016-01-05 2016-06-15 浪潮通用软件有限公司 一种数据处理的方法及装置
CN106021211A (zh) * 2016-05-18 2016-10-12 山东达创网络科技股份有限公司 一种智能表单***及其生成方法
CN106648587A (zh) * 2016-09-28 2017-05-10 福州宇嘉软件科技有限公司 一种基于注解的Web应用代码生成方法
CN106648690A (zh) * 2016-12-29 2017-05-10 北京恒华伟业科技股份有限公司 一种代码自动生成方法及装置
CN106648690B (zh) * 2016-12-29 2020-04-07 北京恒华伟业科技股份有限公司 一种代码自动生成方法及装置
CN106951233A (zh) * 2017-03-02 2017-07-14 广州天高软件科技有限公司 混合模式智能手机应用开发框架
CN106951233B (zh) * 2017-03-02 2020-04-17 广州天高软件科技有限公司 混合模式智能手机应用开发框架***
CN107249106A (zh) * 2017-04-28 2017-10-13 太仓鸿策拓达科技咨询有限公司 一种影视制作界面切换***
CN107491478A (zh) * 2017-07-03 2017-12-19 广东南方数码科技股份有限公司 基于直观流程图的数据处理方法、电子设备及存储介质
CN110019307A (zh) * 2017-12-28 2019-07-16 阿里巴巴集团控股有限公司 数据处理方法及装置
CN110019307B (zh) * 2017-12-28 2023-09-01 阿里巴巴集团控股有限公司 数据处理方法及装置
CN108614693A (zh) * 2018-03-21 2018-10-02 阿里巴巴集团控股有限公司 一种针对页面组件的处理方法、装置及设备
CN108984653A (zh) * 2018-06-27 2018-12-11 广州市南方人力资源评价中心有限公司 一种实现多***在线开发管理的方法
CN111078213A (zh) * 2018-10-18 2020-04-28 马上消费金融股份有限公司 一种代码生成方法及代码生成装置
CN111078213B (zh) * 2018-10-18 2024-01-19 马上消费金融股份有限公司 一种代码生成方法及代码生成装置
CN109284469A (zh) * 2018-10-23 2019-01-29 中山市晋华软件科技有限公司 网页开发框架
CN109783555B (zh) * 2018-12-13 2021-07-30 东软集团股份有限公司 表单模板存储方法、装置、存储介质及电子设备
CN109783555A (zh) * 2018-12-13 2019-05-21 东软集团股份有限公司 表单模板存储方法、装置、存储介质及电子设备
CN109783509A (zh) * 2019-01-04 2019-05-21 中国银行股份有限公司 Sql脚本生成方法及装置
CN111026732A (zh) * 2019-12-03 2020-04-17 深圳中科保泰科技有限公司 动态化巡采巡查方法和***
CN111026732B (zh) * 2019-12-03 2023-11-17 深圳块织类脑智能科技有限公司 动态化巡采巡查方法和***
CN111309316A (zh) * 2020-01-16 2020-06-19 深圳壹账通智能科技有限公司 一种web框架模型建立方法及装置
CN111475143A (zh) * 2020-04-07 2020-07-31 四川虹美智能科技有限公司 定制软件的方法及装置

Also Published As

Publication number Publication date
CN104424338B (zh) 2018-02-02

Similar Documents

Publication Publication Date Title
CN104424338A (zh) web***的自动生成装置和自动生成方法
US20210034336A1 (en) Executing a process-based software application in a first computing environment and a second computing environment
WO2019109485A1 (zh) 基于eCharts工具的图表制作方法、装置、设备及介质
RU2536390C2 (ru) Способ для автоматизированного создания отчетов
CN103631597B (zh) 基于xml的web表单引擎装置及方法
CN103383645A (zh) 代码生成方法及***
AU2004202329A1 (en) Framework for creating modular web applications
CN103853543A (zh) 一种应用于企业信息***开发过程中快速构建表单的方法
WO2014045826A1 (ja) Webサーバシステム、辞書システム、辞書呼び出し方法、画面コントロール表示方法、およびデモアプリケーション生成方法
CN103631877A (zh) 网页表格的处理方法
US11733973B2 (en) Interactive graphic design system to enable creation and use of variant component sets for interactive objects
CN104598233A (zh) 一种代码生成方法
US20190005228A1 (en) Trusted and untrusted code execution in a workflow
JP2008203912A (ja) 画面作成装置及び方法並びにプログラム
JP2012064207A (ja) ホスト装置及びホスト装置のコンテンツ表示方法
CN104834715A (zh) 一种基于部件和容器的网站生成方法及***
WO2016201813A1 (zh) 一种基于Android的动态布局方法及***
JP2002366352A (ja) Webアプリケーション開発支援装置
TWI714514B (zh) 節點名稱多元化階層群組管理裝置與其設定方法
JP2014059699A (ja) デモアプリケーション生成システムおよびデモアプリケーション生成プログラム
CN109375911A (zh) 一种基于SpringMVC渲染FreeMarker模板的方法
JP7048765B2 (ja) テーブル構造のウィジェットを制御するためのサーバ制御フレームワーク
CN103530122A (zh) 一种基于图形界面的可编程仪器标准命令生成方法
CN118132067A (zh) 一种微模块监控***及其配置界面修改方法、设备及介质
KR20150099279A (ko) 애플리케이션 개발 환경 제공 시스템

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 100871, Beijing, Haidian District Cheng Fu Road 298, founder building, 9 floor

Patentee after: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Patentee after: FOUNDER APABI TECHNOLOGY Ltd.

Patentee after: PKU FOUNDER INFORMATION INDUSTRY GROUP CO.,LTD.

Address before: 100871, Beijing, Haidian District Cheng Fu Road 298, founder building, 9 floor

Patentee before: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Patentee before: FOUNDER APABI TECHNOLOGY Ltd.

Patentee before: FOUNDER INFORMATION INDUSTRY HOLDINGS Co.,Ltd.

CP01 Change in the name or title of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20220916

Address after: 3007, Hengqin international financial center building, No. 58, Huajin street, Hengqin new area, Zhuhai, Guangdong 519031

Patentee after: New founder holdings development Co.,Ltd.

Patentee after: FOUNDER APABI TECHNOLOGY Ltd.

Address before: 100871, Beijing, Haidian District Cheng Fu Road 298, founder building, 9 floor

Patentee before: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Patentee before: FOUNDER APABI TECHNOLOGY Ltd.

Patentee before: PKU FOUNDER INFORMATION INDUSTRY GROUP CO.,LTD.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180202

CF01 Termination of patent right due to non-payment of annual fee