CN110543310B - 一种jsp编译方法、装置、设备及存储介质 - Google Patents

一种jsp编译方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN110543310B
CN110543310B CN201910729921.4A CN201910729921A CN110543310B CN 110543310 B CN110543310 B CN 110543310B CN 201910729921 A CN201910729921 A CN 201910729921A CN 110543310 B CN110543310 B CN 110543310B
Authority
CN
China
Prior art keywords
jsp
statement
compiling
page
tag
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
Application number
CN201910729921.4A
Other languages
English (en)
Other versions
CN110543310A (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.)
Shandong Civic Se Commercial Middleware Co ltd
Original Assignee
Shandong Civic Se Commercial Middleware 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 Shandong Civic Se Commercial Middleware Co ltd filed Critical Shandong Civic Se Commercial Middleware Co ltd
Priority to CN201910729921.4A priority Critical patent/CN110543310B/zh
Publication of CN110543310A publication Critical patent/CN110543310A/zh
Application granted granted Critical
Publication of CN110543310B publication Critical patent/CN110543310B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请公开了一种JSP编译方法、装置、设备及存储介质。该方法的步骤包括:获取JSP页面文件;检索JSP页面文件中的页面标签;判断页面标签中是否包含有iterate标签;如果页面标签中包含有iterate标签,则检索iterate标签内的JAVA语句;判断JAVA语句中是否包含有continue语句;如果JAVA语句中包含有continue语句,则将处理iterate标签的while语句的执行条件设置为while语句内部的break语句的执行条件;对JSP页面文件进行编译。本方法相对确保了JSP页面编译过程的稳定性。此外,本申请还提供一种JSP编译装置、设备及存储介质,有益效果同上所述。

Description

一种JSP编译方法、装置、设备及存储介质
技术领域
本申请涉及服务器领域,特别是涉及一种JSP编译方法、装置、设备及存储介质。
背景技术
对于应用服务器而言,JSP编译功能的重要性是不言而喻的,能够兼容各种JSP写法格式是应用服务器发展的趋势。JSP编译技术优化处理可以更好的提高应用适配的兼容性。
当应用发布在应用服务器上时,访问JSP页面时,会对其进行编译为JAVA文件,编译过程中会对JSP页面中的各种标签进行检测,并将JSP中的标签转化为相应的JAVA语句进行编译。当JSP中存在iterate标签时,对iterate标签中的内容进行编译可能会出现应用服务器编译的内容死循环的情况,进而引发内存溢出问题以及JSP页面无法正常访问等一系列问题,难以确保应用服务器对JSP页面编译过程的稳定性。因此需要完善应用服务器JSP编译功能,使其支持灵活多变的JSP页面标签。
由此可见,提供一种JSP编译方法,以相对确保JSP页面编译过程的稳定性,是本领域技术人员需要解决的问题。
发明内容
本申请的目的是提供一种JSP编译方法、装置、设备及存储介质,以相对确保JSP页面编译过程的稳定性。
为解决上述技术问题,本申请提供一种JSP编译方法,包括:
获取JSP页面文件;
检索JSP页面文件中的页面标签;
判断页面标签中是否包含有iterate标签;
如果页面标签中包含有iterate标签,则检索iterate标签内的JAVA语句;
判断JAVA语句中是否包含有continue语句;
如果JAVA语句中包含有continue语句,则将处理iterate标签的while语句的执行条件设置为while语句内部的break语句的执行条件;
对JSP页面文件进行编译。
优选的,在判断页面标签中是否包含有iterate标签之后,方法还包括:
如果页面标签中未包含有iterate标签,则对JSP页面文件进行编译。
优选的,在检索JSP页面文件中的页面标签之前,方法还包括:
判断是否存在与JSP页面文件对应的已编译文件;
如果未存在与JSP页面文件对应的已编译文件,则执行检索JSP页面文件中的页面标签的操作。
优选的,在判断是否存在与JSP页面文件对应的已编译文件之后,方法还包括:
如果存在与JSP页面文件对应的已编译文件,则将已编译文件输出为编译结果。
此外,本申请还提供一种JSP编译装置,包括:
获取模块,用于获取JSP页面文件;
第一检索模块,并检索JSP页面文件中的页面标签;
第一判断模块,用于判断页面标签中是否包含有iterate标签,如果页面标签中包含有iterate标签,则调用第二检索模块;
第二检索模块,用于检索iterate标签内的JAVA语句;
第二判断模块,用于判断JAVA语句中是否包含有continue语句,如果JAVA语句中包含有continue语句,则调用语句设置模块;
语句设置模块,用于将处理iterate标签的while语句的执行条件设置为while语句内部的break语句的执行条件;
设置后编译模块,用于对JSP页面文件进行编译。
优选的,装置还包括:
编译模块,用于当页面标签中未包含有iterate标签时,对JSP页面文件进行编译。
优选的,装置还包括:
编译判断模块,用于判断是否存在与JSP页面文件对应的已编译文件,如果未存在与JSP页面文件对应的已编译文件,则调用第一检索模块。
优选的,装置还包括:
已编译文件输出模块,用于当存在与JSP页面文件对应的已编译文件时,将已编译文件输出为编译结果。
此外,本申请还提供一种JSP编译设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的JSP编译方法的步骤。
此外,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的JSP编译方法的步骤。
本申请所提供的JSP编译方法,首先获取JSP页面文件,进而对JSP页面文件中的页面标签进行检索,判断页面标签中是否包含iterate标签,如果存在iterate标签,则进一步检索iterate标签内的JAVA语句,进而判断JAVA语句中是否包含continue语句,如果存在,则将iterate标签中while语句的执行条件设置为iterate标签中break语句的执行条件,进而再对JSP页面文件进行编译。由于JSP页面文件中的iterate标签表征代码循环执行,对JSP页面文件编译时执行的是iterate标签对应的while语句,因此在iterate标签中包含有continue语句时,编译时会循环执行continue语句,由于continue语句的作用是跳过本次循环并执行下一次循环,因此会不断循环执行iterate标签中的代码内容。本方法将iterate标签的while语句的执行条件设置为该iterate标签中break语句的执行条件后,由于break语句的作用是跳出整个循环,因此在编译过程中,执行iterate标签while语句时也同样执行break语句,进而能够跳出iterate标签对应的循环,避免了应用服务器编译出现死循环的情况,进而避免内存溢出问题以及JSP页面无法正常访问等一系列问题,相对确保了JSP页面编译过程的稳定性。此外,本申请还提供一种JSP编译装置、设备及存储介质,有益效果同上所述。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种JSP编译方法的流程图;
图2为本申请实施例提供的一种JSP编译方法的流程图;
图3为本申请实施例提供的一种JSP编译装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
当应用发布在应用服务器上时,访问JSP页面时,会对其进行编译为JAVA文件,编译过程中会对JSP页面中的各种标签进行检测,并将JSP中的标签转化为相应的JAVA语句进行编译。当JSP中存在iterate标签时,对iterate标签中的内容进行编译可能会出现应用服务器编译的内容死循环的情况,进而引发内存溢出问题以及JSP页面无法正常访问等一系列问题,难以确保应用服务器对JSP页面编译过程的稳定性。因此需要完善应用服务器JSP编译功能,使其支持灵活多变的JSP页面标签。
本申请的核心是提供一种JSP编译方法,以相对确保JSP页面编译过程的稳定性。本申请的另一核心是提供一种JSP编译装置、设备及存储介质。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
图1为本申请实施例提供的一种JSP编译方法的流程图。请参考图1,JSP编译方法的具体步骤包括:
步骤S10:获取JSP页面文件。
本步骤中获取的JSP页面文件即为需要由服务器进行编译并显示的JSP文件,JSP的全称为Java Server Pages,中文名为JAVA服务器页面,其根本上是一个简化的Servlet设计,与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只需要有浏览器即可浏览。
步骤S11:检索JSP页面文件中的页面标签。
需要说明的是,JSP页面文件中的页面标签,即为JSP标准标签库(JSTL)中记录的能够在JSP文件中使用的标签,封装了JSP应用的通用核心功能,比如迭代,条件判断,XML文档操作等。本步骤中在JSP页面文件中检索的页面标签即为在JSP页面文件中查找JSP标准标签库中记录的标签。
步骤S12:判断页面标签中是否包含有iterate标签。
本步骤中的iterate标签,即<logic:iterate>,是JSP的Logic标签库中最复杂的标签,也是用途最广的一个标签,它能够在一个循环中遍历数组、Collection、Enumeration、Iterator或Map中的所有元素,iterate标签中的代码在编译过程中是循环执行的。
步骤S13:如果页面标签中包含有iterate标签,则检索iterate标签内的JAVA语句。
步骤S14:判断JAVA语句中是否包含有continue语句。
当页面标签中包含有iterate标签时,进一步在iterate标签内检索包含的JAVA语句,进而在检索到的JAVA语句中查找是否包含continue语句,continue语句表示结束本次循环,但不终止整个循环的执行,而是进行下一次循环。当iterate标签中存在continue语句时,在JSP页面文件的编译过程中,将不断地重复执行iterate标签中的内容,成为死循环,并不断占用应用服务器的内存资源,因此在iterate标签中查找continue语句的目的是为了避免iterate标签编译过程中因continue语句不断循环执行iterate标签。
步骤S15:如果JAVA语句中包含有continue语句,则将处理iterate标签的while语句的执行条件设置为while语句内部的break语句的执行条件。
当JAVA语句中包含有continue语句时,本实施例为了避免编译iterate标签时形成死循环,将iterate标签中while语句的执行条件设置为iterate标签中break语句的执行条件,由于对于iterate标签进行编译本质上是对iterate标签的while语句进行编译执行,while是计算机的一种基本循环模式。当满足条件时进入循环,进入循环后,当条件不满足时,跳出循环。while语句的一般表达式为:while(条件表达式){循环体},while语句表达式中的循环体即等价于iterate标签中的内容,该循环体中包含有continue语句以及break语句。将iterate标签中while语句的执行条件设置为iterate标签中break语句的执行条件,目的是确保编译iterate标签时,在该iterate标签对应的while语句执行时,其循环体中的break语句也能够执行,以此正常跳出while语句的循环。
步骤S16:对JSP页面文件进行编译。
本步骤在对JSP页面文件进行修改后进行编译,能够相对确保编译过程的正常执行,确保应用服务器的整体稳定性。
本申请所提供的JSP编译方法,首先获取JSP页面文件,进而对JSP页面文件中的页面标签进行检索,判断页面标签中是否包含iterate标签,如果存在iterate标签,则进一步检索iterate标签内的JAVA语句,进而判断JAVA语句中是否包含continue语句,如果存在,则将处理iterate标签的while语句的执行条件设置为while语句内部的break语句的执行条件,进而再对JSP页面文件进行编译。由于JSP页面文件中的iterate标签表征代码循环执行,对JSP页面文件编译时执行的是iterate标签对应的while语句,因此在iterate标签中包含有continue语句时,编译时会循环执行continue语句,由于continue语句的作用是跳过本次循环并执行下一次循环,因此会不断循环执行iterate标签中的代码内容。本方法将iterate标签的while语句的执行条件设置为该iterate标签中break语句的执行条件后,由于break语句的作用是跳出整个循环,因此在编译过程中,执行iterate标签while语句时也同样执行break语句,进而能够跳出iterate标签对应的循环,避免了应用服务器编译出现死循环的情况,进而避免内存溢出问题以及JSP页面无法正常访问等一系列问题,相对确保了JSP页面编译过程的稳定性。
在上述实施例的基础上,作为一种优选的实施方式,判断页面标签中是否包含有iterate标签之后,方法还包括:
如果页面标签中未包含有iterate标签,则对JSP页面文件进行编译。
需要说明的是,当JSP页面文件中的页面标签未包含有iterate标签时,则说明JSP页面文件在编译过程中不会存在死循环的情况,因此可以直接对JSP页面文件进行编译,以此相对确保了对JSP页面文件的编译效率。
在上述实施例的基础上,作为一种优选的实施方式,判断JAVA语句中是否包含有continue语句之后,方法还包括:
如果JAVA语句中未包含有continue语句,则对JSP页面文件进行编译。
需要说明的是,当JAVA语句中未包含有continue语句时,则说明iterate标签中的循环体能够在编译过程中正常执行到break语句,进而跳出循环,因此JSP页面文件在编译过程中不会存在死循环的情况,进而可以直接对JSP页面文件进行编译,以此相对确保了对JSP页面文件的编译效率。
图2为本申请实施例提供的一种JSP编译方法的流程图。请参考图2,JSP编译方法的具体步骤包括:
步骤S20:获取JSP页面文件。
步骤S21:判断是否存在与JSP页面文件对应的已编译文件。
步骤S22:如果未存在与JSP页面文件对应的已编译文件,检索JSP页面文件中的页面标签。
步骤S23:判断页面标签中是否包含有iterate标签。
步骤S24:如果页面标签中包含有iterate标签,则检索iterate标签内的JAVA语句。
步骤S25:判断JAVA语句中是否包含有continue语句。
步骤S26:如果JAVA语句中包含有continue语句,则将处理iterate标签的while语句的执行条件设置为while语句内部的break语句的执行条件。
步骤S27:对JSP页面文件进行编译。
本实施例的重点在于,在获取到JSP页面文件后,先判断是否存在与JSP页面文件对应的已编译文件,已编译文件即为对JSP页面文件进行编译后生成的可执行文件,如果未存在与JSP页面文件对应的已编译文件,则说明当前接收到的JSP页面文件尚未被编译过,进而再对JSP页面文件进行后续的编译处理,能够在一定程度上避免对相同JSP页面文件的多次编译,相对避免了重复编译相同JSP页面文件所造成的应用服务器资源开销,进一步确保应用服务器对JSP页面编译过程的稳定性,此外降低了编译过程的时间开销。
在编译处理后,可以对生成的已编译文件进行缓存,以用于在下次接收到该JSP页面文件时,能够无需再次编译即可快速生成相应的已编译文件。
更进一步的,在判断是否存在与JSP页面文件对应的已编译文件之后,如果存在与JSP页面文件对应的已编译文件,则将已编译文件输出为编译结果。
需要说明的是,如果预先已经存在与JSP页面文件对应的已编译文件,则可以通过运行该已编译文件显示JSP页面文件对应的JSP页面,无需再次对获取到的JSP页面文件进行编译,而直接将已编译文件作为输出的编译结果,因此相对避免了重复编译相同JSP页面文件所造成的应用服务器资源开销,进一步确保应用服务器对JSP页面编译过程的稳定性,此外降低了编译过程的时间开销。
图3为本申请实施例提供的一种JSP编译装置的结构图。本申请实施例提供的JSP编译装置,包括:
获取模块10,用于获取JSP页面文件;
第一检索模块11,并检索JSP页面文件中的页面标签;
第一判断模块12,用于判断页面标签中是否包含有iterate标签,如果页面标签中包含有iterate标签,则调用第二检索模块13;
第二检索模块13,用于检索iterate标签内的JAVA语句;
第二判断模块14,用于判断JAVA语句中是否包含有continue语句,如果JAVA语句中包含有continue语句,则调用语句设置模块15;
语句设置模块15,用于如果JAVA语句中包含有continue语句,则将处理iterate标签的while语句的执行条件设置为while语句内部的break语句的执行条件;
设置后编译模块16,用于对JSP页面文件进行编译。
在上述JSP编译装置的基础上,本申请还提供如下一系列优选的实施方式。
作为一种优选的实施方式,装置还包括:
编译模块,用于当页面标签中未包含有iterate标签时,对JSP页面文件进行编译。
作为一种优选的实施方式,装置还包括:
编译判断模块,用于判断是否存在与JSP页面文件对应的已编译文件,如果未存在与JSP页面文件对应的已编译文件,则调用第一检索模块。
作为一种优选的实施方式,装置还包括:
已编译文件输出模块,用于当存在与JSP页面文件对应的已编译文件时,将已编译文件输出为编译结果。
本申请所提供的JSP编译装置,首先获取JSP页面文件,进而对JSP页面文件中的页面标签进行检索,判断页面标签中是否包含iterate标签,如果存在iterate标签,则进一步检索iterate标签内的JAVA语句,进而判断JAVA语句中是否包含continue语句,如果存在,则将处理iterate标签的while语句的执行条件设置为while语句内部的break语句的执行条件,进而再对JSP页面文件进行编译。由于JSP页面文件中的iterate标签表征代码循环执行,对JSP页面文件编译时执行的是iterate标签对应的while语句,因此在iterate标签中包含有continue语句时,编译时会循环执行continue语句,由于continue语句的作用是跳过本次循环并执行下一次循环,因此会不断循环执行iterate标签中的代码内容。本装置将iterate标签的while语句的执行条件设置为该iterate标签中break语句的执行条件后,由于break语句的作用是跳出整个循环,因此在编译过程中,执行iterate标签while语句时也同样执行break语句,进而能够跳出iterate标签对应的循环,避免了应用服务器编译出现死循环的情况,进而避免内存溢出问题以及JSP页面无法正常访问等一系列问题,相对确保了JSP页面编译过程的稳定性。
此外,本申请还提供一种JSP编译设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的JSP编译方法的步骤。
本申请所提供的JSP编译设备,首先获取JSP页面文件,进而对JSP页面文件中的页面标签进行检索,判断页面标签中是否包含iterate标签,如果存在iterate标签,则进一步检索iterate标签内的JAVA语句,进而判断JAVA语句中是否包含continue语句,如果存在,则将处理iterate标签的while语句的执行条件设置为while语句内部的break语句的执行条件,进而再对JSP页面文件进行编译。由于JSP页面文件中的iterate标签表征代码循环执行,对JSP页面文件编译时执行的是iterate标签对应的while语句,因此在iterate标签中包含有continue语句时,编译时会循环执行continue语句,由于continue语句的作用是跳过本次循环并执行下一次循环,因此会不断循环执行iterate标签中的代码内容。本设备将iterate标签的while语句的执行条件设置为该iterate标签中break语句的执行条件后,由于break语句的作用是跳出整个循环,因此在编译过程中,执行iterate标签while语句时也同样执行break语句,进而能够跳出iterate标签对应的循环,避免了应用服务器编译出现死循环的情况,进而避免内存溢出问题以及JSP页面无法正常访问等一系列问题,相对确保了JSP页面编译过程的稳定性。
此外,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的JSP编译方法的步骤。
本申请所提供的计算机可读存储介质,首先获取JSP页面文件,进而对JSP页面文件中的页面标签进行检索,判断页面标签中是否包含iterate标签,如果存在iterate标签,则进一步检索iterate标签内的JAVA语句,进而判断JAVA语句中是否包含continue语句,如果存在,则将处理iterate标签的while语句的执行条件设置为while语句内部的break语句的执行条件,进而再对JSP页面文件进行编译。由于JSP页面文件中的iterate标签表征代码循环执行,对JSP页面文件编译时执行的是iterate标签对应的while语句,因此在iterate标签中包含有continue语句时,编译时会循环执行continue语句,由于continue语句的作用是跳过本次循环并执行下一次循环,因此会不断循环执行iterate标签中的代码内容。本计算机可读存储介质将iterate标签的while语句的执行条件设置为该iterate标签中break语句的执行条件后,由于break语句的作用是跳出整个循环,因此在编译过程中,执行iterate标签while语句时也同样执行break语句,进而能够跳出iterate标签对应的循环,避免了应用服务器编译出现死循环的情况,进而避免内存溢出问题以及JSP页面无法正常访问等一系列问题,相对确保了JSP页面编译过程的稳定性。
以上对本申请所提供的一种JSP编译方法、装置、设备及存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种JSP编译方法,其特征在于,包括:
获取JSP页面文件;
检索所述JSP页面文件中的页面标签;
判断所述页面标签中是否包含有iterate标签;
如果所述页面标签中包含有所述iterate标签,则检索所述iterate标签内的JAVA语句;
判断所述JAVA语句中是否包含有continue语句;
如果所述JAVA语句中包含有所述continue语句,则将处理所述iterate标签的while语句的执行条件设置为所述while语句内部的break语句的执行条件;
对所述JSP页面文件进行编译。
2.根据权利要求1所述的JSP编译方法,其特征在于,在所述判断所述页面标签中是否包含有iterate标签之后,所述方法还包括:
如果所述页面标签中未包含有所述iterate标签,则对所述JSP页面文件进行编译。
3.根据权利要求1或2所述的JSP编译方法,其特征在于,在所述检索所述JSP页面文件中的页面标签之前,所述方法还包括:
判断是否存在与所述JSP页面文件对应的已编译文件;
如果未存在与所述JSP页面文件对应的已编译文件,则执行所述检索所述JSP页面文件中的页面标签的操作。
4.根据权利要求3所述的JSP编译方法,其特征在于,在所述判断是否存在与所述JSP页面文件对应的已编译文件之后,所述方法还包括:
如果存在与所述JSP页面文件对应的已编译文件,则将所述已编译文件输出为编译结果。
5.一种JSP编译装置,其特征在于,包括:
获取模块,用于获取JSP页面文件;
第一检索模块,并检索所述JSP页面文件中的页面标签;
第一判断模块,用于判断所述页面标签中是否包含有iterate标签,如果所述页面标签中包含有所述iterate标签,则调用第二检索模块;
所述第二检索模块,用于检索所述iterate标签内的JAVA语句;
第二判断模块,用于判断所述JAVA语句中是否包含有continue语句,如果所述JAVA语句中包含有所述continue语句,则调用语句设置模块;
所述语句设置模块,用于将处理所述iterate标签的while语句的执行条件设置为所述while语句内部的break语句的执行条件;
设置后编译模块,用于对所述JSP页面文件进行编译。
6.根据权利要求5所述的JSP编译装置,其特征在于,所述装置还包括:
编译模块,用于当所述页面标签中未包含有所述iterate标签时,对所述JSP页面文件进行编译。
7.根据权利要求5或6所述的JSP编译装置,其特征在于,所述装置还包括:
编译判断模块,用于判断是否存在与所述JSP页面文件对应的已编译文件,如果未存在与所述JSP页面文件对应的已编译文件,则调用所述第一检索模块。
8.根据权利要求7所述的JSP编译装置,其特征在于,所述装置还包括:
已编译文件输出模块,用于当存在与所述JSP页面文件对应的已编译文件时,将所述已编译文件输出为编译结果。
9.一种JSP编译设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述的JSP编译方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的JSP编译方法的步骤。
CN201910729921.4A 2019-08-08 2019-08-08 一种jsp编译方法、装置、设备及存储介质 Active CN110543310B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910729921.4A CN110543310B (zh) 2019-08-08 2019-08-08 一种jsp编译方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910729921.4A CN110543310B (zh) 2019-08-08 2019-08-08 一种jsp编译方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN110543310A CN110543310A (zh) 2019-12-06
CN110543310B true CN110543310B (zh) 2023-05-05

Family

ID=68710522

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910729921.4A Active CN110543310B (zh) 2019-08-08 2019-08-08 一种jsp编译方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN110543310B (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6463578B1 (en) * 1999-11-23 2002-10-08 International Business Machines Corporation Systems, methods and computer program products for debugging java server page files using compiled java class file modifications
US6876997B1 (en) * 2000-05-22 2005-04-05 Overture Services, Inc. Method and apparatus for indentifying related searches in a database search system
CN100383790C (zh) * 2005-09-15 2008-04-23 杭州华三通信技术有限公司 Http网页动态输出的方法和系统
CN109375921A (zh) * 2018-08-15 2019-02-22 中国平安人寿保险股份有限公司 页面文件快速编译方法、装置及存储设备、计算机设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Huiru Deng 等."Agile Development of the Mongolian and Chinese All Media News Teaching System".《Proceedings of 2018 the International Conference on Geoinformatics and Data Analysis (ICGDA 2018)International Academy of Computer Technology(IACT)》.2018,全文. *
申加华."带迭代算子的APLA-JAVA程序转换实验系统的研究探讨".《电子技术与软件工程》.2014,第83-84页. *
飞颉经纬,武寒凝."基于环境影响模拟树的生长".《计算机应用》.2010,第205-207页. *

Also Published As

Publication number Publication date
CN110543310A (zh) 2019-12-06

Similar Documents

Publication Publication Date Title
US9298680B2 (en) Display of hypertext documents grouped according to their affinity
JP5990605B2 (ja) Ajaxウェブページコンテンツを取得する方法およびシステム
CN101593184B (zh) 自适应地定位动态网页元素的系统和方法
US9037636B2 (en) Managing script file dependencies and load times
US8387008B2 (en) Method for sharing a function between web contents
US20120254835A1 (en) Structural search of source code
JP2010530590A (ja) 遅延バインディングのプログラム補助
CN103064720A (zh) 简档导向的jit代码生成
CN108959413B (zh) 一种主题网页爬取方法及主题爬虫系统
CN107015839B (zh) 一种实现前端事件代理的方法及装置
CN111045678A (zh) 页面执行动态代码的方法、装置、设备及存储介质
US20160063062A1 (en) Code searching and ranking
CN110888645A (zh) 一种转换为小程序的方法、装置和存储介质
US11042467B2 (en) Automated searching and identification of software patches
CN105447198A (zh) 页面脚本便捷导入的方法及装置
CN110347390B (zh) 一种快速生成web页面的方法、存储介质、设备及系统
JP2020126641A (ja) Apiマッシュアップ探査及びリコメンデーション
CN111124481A (zh) 网页应用程序的安装包生成方法、装置、存储介质及设备
CN110543310B (zh) 一种jsp编译方法、装置、设备及存储介质
CN111381809A (zh) 一种焦点页面的查找方法及装置
JP2008158589A (ja) 更新情報通知装置及び更新情報通知プログラム
CN102609518B (zh) 多状态ajax网页内容获取方法及系统
CN113868568A (zh) 一种网页关键字高亮方法、装置、设备及存储介质
CN113076501A (zh) 一种页面处理方法、存储介质及设备
CN112612943A (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