一种Web组件的调试方法及装置的制造方法
【技术领域】
[0001]本发明实施例涉及软件技术领域,尤其涉及一种Web组件的调试方法及装置。
【背景技术】
[0002]OSGi (Open Service Gateway Initiative)是业界知名的 Java 模块化规范,得到了主流的应用服务器提供商如Oracle (甲骨文公司)、IBM (Internat1nal BusinessMachines Corporat1n,国际商业机器公司)等公司的支持,已经成为事实上的Java模块化标准。
[0003]在OSGi开发环境中,由于是组件化的开发方式,每个组件都是独立打包且互相之间通过服务的形式进行交互。如图1所示为OSGi的开发模式下服务的部署。在该部署环境里,每个Web组件(即后缀为.jar的文件)均被应用服务器加载而不再被解压。在这种情况下,进行应用程序的调试时,需要将Web组件中修改的文件保存后,重新打包所述Web组件,并重新启动应用服务器,再继续进行调试,在每次调试之后都需要重新启动应用服务器,并对Web组件进行加载,这种调试方式存在导致调试周期长、效率低的问题。
【发明内容】
[0004]本发明提供一种Web组件的调试方法及装置,以实现Web组件开发的热调试,进而缩短开发周期的目的。
[0005]第一方面,本发明实施例提供了一种Web组件的调试方法,包括:
[0006]在OSGi开发环境下,当检测到用户对正在调试的Web组件内的文件进行修改后,将所述正在调试的Web组件中的所有文件保存至文件夹中;
[0007]将所述文件夹的名称以及所述文件夹中文件的名称发送至资源访问目录中;
[0008]当接收到用户的访问请求后,对所述访问请求所要访问的文件是否为所述正在调试的Web组件中的文件进行判断;
[0009]若是,则在所述资源访问目录中对所述要访问的文件进行搜索并返回搜索结果;
[0010]若否,则对所述正在调试的Web组件之外的Web组件中的文件进行搜索并返回搜索结果。
[0011]进一步的,在将所述正在调试的Web组件中的所有文件保存至文件夹中之前,还包括:
[0012]当接收到对Web组件中任一文件的文件更新指示时,如果判断出所述Web组件已经存储至所述文件夹,则在所述文件夹中根据所述文件更新指示进行文件更新。
[0013]进一步的,所述访问请求为用户从浏览器发出的访问请求。
[0014]第二方面,本发明实施例还提供了一种Web组件的调试装置,包括:
[0015]文件保存模块,用于在OSGi开发环境下,当检测到用户对正在调试的Web组件内的文件进行修改后,将所述正在调试的Web组件中的所有文件保存至文件夹中;
[0016]名称发送模块,用于将所述文件夹的名称以及所述文件夹中文件的名称发送至资源访问目录中;
[0017]文件判断模块,用于当接收到用户的访问请求后,对所述访问请求所要访问的文件是否为所述正在调试的Web组件中的文件进行判断;
[0018]第一文件搜索模块,用于当所要访问的文件是所述正在调试的Web组件中的文件时,在所述资源访问目录中对所述要访问的文件进行搜索并返回搜索结果;
[0019]第二文件搜索模块,用于当所要访问的文件不是所述正在调试的Web组件中的文件时,对所述正在调试的Web组件之外的Web组件中的文件进行搜索并返回搜索结果。
[0020]进一步的,还包括:
[0021]文件更新模块,用于在将所述正在调试的Web组件中的所有文件保存至文件夹中之前,当接收到对Web组件中任一文件的文件更新指示时,如果判断出所述Web组件已经存储至所述文件夹,则在所述文件夹中根据所述文件更新指示进行文件更新。
[0022]进一步的,所述访问请求为用户从浏览器发出的访问请求。
[0023]本发明实施例通过在OSGi开发环境下对Web组件进行调试时,当检测到用户对Web组件内的文件进行修改后,将所述正在调试的Web组件中的所有文件保存至文件夹中,并将文件夹的名称以及文件夹中文件的名称发送至资源访问目录中,当接收到的来自用户的访问请求中所要访问的文件为所述正在调试的Web组件中的文件时,则在所述资源访问目录中对所述要访问的文件进行搜索并返回搜索结果,使得在调试模式下对正在调试的Web组件中文件的访问变成了文件夹中文件的访问,实现了 Web组件开发的热调试,也就是说,在对Web组件中文件进行修改后,不需要对所述Web组件重新打包即可实现及时调试,极大的缩短了开发周期,提升了开发效率。
【附图说明】
[0024]图1为现有技术中OSGi的开发模式下服务的部署的示意图;
[0025]图2为本发明实施例一提供的一种Web组件的调试方法的流程示意图;
[0026]图3为本发明实施例二提供的一种Web组件的调试装置的结构示意图。
【具体实施方式】
[0027]下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0028]实施例一
[0029]图2为本发明实施例一提供的一种Web组件的调试方法的流程示意图,本实施例可适用于在OSGi开发环境下进行热调试的情况,该方法可以由应用服务器来执行,具体包括如下操作:
[0030]S110、在OSGi开发环境下,当检测到用户对正在调试的Web组件内的文件进行修改后,将所述正在调试的Web组件中的所有文件保存至文件夹中。
[0031 ] 优选的,在本操作中还可以包括对所述文件夹进行命名。示例性的,可以将所述文件夹命名为folder_example,这样设置的好处是,当有多个Web组件进行调试时,可以方便区分。
[0032]S120、将所述文件夹的名称以及所述文件夹中文件的名称发送至资源访问目录中。
[0033]通过本操作可以使得在后续操作中,对正在调试的Web组件中的文件进行访问时,可以通过所述资源访问目录对与正在调试的Web组件对应的所述文件夹中的文件进行搜索。
[0034]S130、当接收到用户的访问请求后,对所述访问请求所要访问的文件是否为所述正在调试的Web组件中的文件进行判断。若是,则进行S140 ;若否,则进行S150。
[0035]可选的,所述访问请求可以是指用户从浏览器发出的访问请求。通过本操作中的判断可以为后续对所要访问的文件的位置提供依据。示例性的,所述所要访问的文件可以是例如index, jsp等后缀为.jsp的文件。
[0036]S140、在所述资源访问目录中对所述要访问的文件进行搜索并返回搜索结果。
[0037]通过本操作使得当所述要访问的文件为所述正在调试的Web组件内的文件时,所获得的搜索结果是调试后即修改之后的最新版本的文件。所述返回搜索结果具体可以是指将搜索结果得到的文件的地址或内容返回给用户。
[0038]S150、对所述正在调试的Web组件之外的Web组件中的文件进行搜索并返回搜索结果。
[0039]具体的,当所访问的文件不是正在调试的Web组件中的文件时,才会对其他Web组件中的文件进行搜索。
[0040]本发明实施例通过在OSGi开发环境下对Web组件进行调试时,当检测到用户对Web组件内的文件进行修改后,将所述正在调试的Web组件中的所有文件保存至文件夹中,并将文件夹的名称以及文件夹中文件的名称发送至资源访问目录中,当接收到的来自用户的访问请求中所要访问的文件为所述正在调试的Web组件中的文件时,则在所述资