jsp代码语言规范的自动检测方法和装置制造方法及图纸

技术编号:26418158 阅读:24 留言:0更新日期:2020-11-20 14:13
本公开提供一种jsp代码语言规范的自动检测方法和装置。该方法包括:调用转换算法,将jsp代码文件转换成Java文件;调用Java语法分析器执行所述Java文件;根据执行结果确定所述Java文件中不符合代码语言规范的代码行信息。从而解决了现有技术中jsp文件内的Java代码块无法使用上下文语义关联分析代码是否符合代码语言规范的问题。

【技术实现步骤摘要】
jsp代码语言规范的自动检测方法和装置
本公开涉及代码规范检测
,尤其涉及一种jsp代码语言规范的自动检测方法和一种jsp代码语言规范的自动检测装置。
技术介绍
现有的程序代码语言规范分析技术可以通过web语言代码分析插件实现对jsp语言的代码语言规范的检测。其基本原理是将jsp代码内容实用正式表达式,切割成各种代码块,比如注释代码块、Java代码块、html代码块等,然后根据各代码块等内容,检查代码语言的规范。在一些需要联系上下文语义来判断代码语言规范的场景中,应用上述方案时,web语言代码分析插件发现某个代码块的内容不符合代码语言的规范,则会将该代码块内容返回给开发者,由开发者判断这段代码是否符合代码语言规范。但由于开发者无法获取这段代码中的上下文语义,也就无法判断出这段代码是否符合代码语言的规范。
技术实现思路
本公开实施例提供一种jsp代码语言规范的自动检测方法,以解决上述jsp文件内的Java代码块无法使用上下文语义关联分析代码是否符合代码语言规范的问题。根据本公开实施例的第一方面,提供一种jsp代码语言规范的自动检测方法,该方法包括:调用转换算法,将jsp代码文件转换成Java文件;调用Java语法分析器执行所述Java文件;根据执行结果确定所述Java文件中不符合代码语言规范的代码行信息。可选地,其中,所述Java文件中的代码行与所述jsp代码文件中的代码行的位置一致。可选地,其中,所述Java文件中的每个常量、对象和表达式,分别与所述jsp代码文件中的每个常量、对象和表达式的行位置和列位置一致。可选地,其中,所述调用转换算法,将jsp代码文件转换成Java文件之前,所述方法还包括:利用web语言代码分析器对jsp代码内容进行分析,确定出不符合代码语言规范的jsp代码文件。可选地,其中,所述利用web语言代码分析器与jsp代码内容进行分析,包括:将所述jsp代码内容切割成不同类型的代码块;所述不同类型的代码块至少包括注释代码块,Java代码块,html代码块分别对各代码块内容进行分析。根据本公开实施例的第二方面,提供了一种jsp代码语言规范的自动检测装置,所述装置包括:转换模块,用于调用转换算法,将jsp代码文件转换成Java文件;执行模块,用于调用Java语法分析器执行所述Java文件;确定模块,用于根据执行结果确定所述Java文件中不符合代码语言规范的代码行信息。可选地,其中,所述Java文件中的代码行与所述jsp代码文件中的代码行的位置一致。可选地,其中,所述Java文件中的每个常量、对象和表达式,分别与所述jsp代码文件中的每个常量、对象和表达式的行位置和列位置一致。可选地,其中,所述装置还包括:分析模块,用于利用web语言代码分析器对jsp代码内容进行分析,确定出不符合代码语言规范的jsp代码文件。可选地,其中,所述分析模块具体用于:将所述jsp代码内容切割成不同类型的代码块;所述不同类型的代码块至少包括注释代码块,Java代码块,html代码块;分别对各代码块内容进行分析。根据本公开实施例的方法,通过调用转换算法,将jsp代码文件转换成Java文件;调用Java语法分析器执行所述Java文件;根据执行结果确定所述Java文件中不符合代码语言规范的代码行信息。从而解决了现有技术中jsp文件内的Java代码块无法使用上下文语义关联分析代码是否符合代码语言规范的问题。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。图1为本公开实施例的jsp代码语言规范的自动检测方法的示意性流程图;图2为本公开实施例的转换算法的示意图;图3为本公开实施例的jsp代码文件和转换后的Java文件的对比示意图;图4a和图4b是本公开实施例的Java语法分析器中的代码示意图;图5是本公开实施例的Java语法分析器对Java文件的分析结果的示意图;图6是本公开实施例的jsp代码语言规范的自动检测装置的示意性结构图;图7为本公开实施例的电子设备的示意性结构图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。本公开实施例提供一种jsp代码语言规范的自动检测方法。具体的,如图1所示,该方法可以包括如下步骤1100~步骤1300:步骤1100,调用转换算法,将jsp代码文件转换成Java文件。其中,该转换算法例如图2中所示,可以将jsp代码文件中的Java代码块转换成完成的Java文件,即,运行图2中所示的转换算法后,可以根据jsp代码文件生成Java文件。例如,该Java文件可以是E:est2目录下生成TestJSP.java文件。可以理解的是,在本步骤1100之前,可以先利用web语言代码分析器对jsp代码内容进行分析,确定出不符合代码语言规范的jsp代码文件。其中,web语言代码分析器可以将所述jsp代码内容切割成不同类型的代码块;所述不同类型的代码块至少包括注释代码块,Java代码块,html代码块;分别对各代码块内容进行分析。如果利用web语言代码分析器对代码块内容进行分析后发现,Java代码块存在不符合代码语言规范的情况,则执行本步骤1100。其中,所生成的所述Java文件中的代码行与所述jsp代码文件中的代码行的位置一致。具体的,如图3所示,所述Java文件中的每个常量、对象和表达式,分别与所述jsp代码文件中的每个常量、对象和表达式的行位置和列位置一致。步骤1200,调用Java语法分析器执行所述Java文件。其中,Java语法分析器中自定义的代码写书规则例如图4a和图4b中所示,通过调用Java语法分析器对所述Java文件进行执行,得到执行结果。步骤1300,根据执行结果确定所述Java文件中不符合代码语言规范的代码行信息。如图5所示,执行结果中可以包括不符合代码语言规范的代码行信息,例如,第10行代码不符合代码语言规范。本实施例的jsp代码语言规范的自动检测方法,通过调用转换算法,将jsp代码文件转换成Java文件;调用Java语法分析器执行所述Java文件;根据执行结果确定所述Java文件中不符合代码语言规范的代码行信息。从而解决了现有技术中jsp文件内的Java代码块无法使用上下文语义关联分析代码是否符合代码语言规范的问本文档来自技高网...

【技术保护点】
1.一种jsp代码语言规范的自动检测方法,所述方法包括:/n调用转换算法,将jsp代码文件转换成Java文件;/n调用Java语法分析器执行所述Java文件;/n根据执行结果确定所述Java文件中不符合代码语言规范的代码行信息。/n

【技术特征摘要】
1.一种jsp代码语言规范的自动检测方法,所述方法包括:
调用转换算法,将jsp代码文件转换成Java文件;
调用Java语法分析器执行所述Java文件;
根据执行结果确定所述Java文件中不符合代码语言规范的代码行信息。


2.根据权利要求1所述的方法,其中,所述Java文件中的代码行与所述jsp代码文件中的代码行的位置一致。


3.根据权利要求2所述的方法,其中,所述Java文件中的每个常量、对象和表达式,分别与所述jsp代码文件中的每个常量、对象和表达式的行位置和列位置一致。


4.根据权利要求1所述的方法,其中,所述调用转换算法,将jsp代码文件转换成Java文件之前,所述方法还包括:
利用web语言代码分析器对jsp代码内容进行分析,确定出不符合代码语言规范的jsp代码文件。


5.根据权利要求4所述的方法,其中,所述利用web语言代码分析器与jsp代码内容进行分析,包括:
将所述jsp代码内容切割成不同类型的代码块;所述不同类型的代码块至少包括注释代码块,Java代码块,html代码块;
分别对各代码块内容进...

【专利技术属性】
技术研发人员:李海雲韦利东
申请(专利权)人:上海泛微网络科技股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1