首页> 中国专利> 基于嵌入式WEB服务器动态生成菜单栏的方法及系统

基于嵌入式WEB服务器动态生成菜单栏的方法及系统

摘要

本发明提供一种基于嵌入式WEB服务器动态生成菜单栏的方法及系统,用于在浏览器上生成菜单栏,所述方法包括:将用于生成菜单栏的信息存放在指定文件内;为待生成的菜单栏预设位置并在index.html文件内添加生成菜单栏的函数接口,同时向WEB服务器发送菜单栏生成请求;WEB服务器解析请求的报文,获取指定文件的文件名称和index.html文件;将用于生成菜单栏的信息按照HTML语言添加到所述index.html文件内形成新的index.html文件并返回给浏览器。本发明在更改链接或者菜单栏名称,只需要更改外部文件即可,解析外部文件,由嵌入式WEB服务器内部完成,生成和调试菜单栏方便、高效。

著录项

  • 公开/公告号CN104750866A

    专利类型发明专利

  • 公开/公告日2015-07-01

    原文格式PDF

  • 申请/专利权人 上海斐讯数据通信技术有限公司;

    申请/专利号CN201510182101.X

  • 发明设计人 牟小欢;

    申请日2015-04-17

  • 分类号G06F17/30(20060101);G06F9/44(20060101);

  • 代理机构31219 上海光华专利事务所;

  • 代理人余明伟

  • 地址 201616 上海市松江区思贤路3666号

  • 入库时间 2023-12-18 09:38:21

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-01-06

    专利权的转移 IPC(主分类):G06F16/958 专利号:ZL201510182101X 登记生效日:20221226 变更事项:专利权人 变更前权利人:杭州吉吉知识产权运营有限公司 变更后权利人:福建跃凯科技有限公司 变更事项:地址 变更前权利人:310000 浙江省杭州市滨江区西兴街道江淑路260号10242室 变更后权利人:350100 福建省福州市闽侯县上街镇高新大道1-1号中海寰宇天下43#楼7层730办公-2

    专利申请权、专利权的转移

  • 2019-06-14

    授权

    授权

  • 2015-09-02

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20150417

    实质审查的生效

  • 2015-07-01

    公开

    公开

说明书

技术领域

本发明涉及通信技术领域,特别是浏览器通信的技术领域,具体为一种基于嵌入式WEB服务器动态生成菜单栏的方法及系统。

背景技术

近年来,随着通信行业的飞速发展,对通信设备的运行速度要求是越来越高,当然作为通信设备上层配置速度快慢也是必不可少的,在上层开发时候,超文本传送协议(HTTP-Hypertext transfer protocol)是必不可少的通信协议。是万维网(world wide web)交换信息的基础。它允许将超文本标记语言(HTML)文件从WEB服务器传送到WEB浏览器。HTML是一种用于创建文件的标记语言,这些文件包含到相关信息的链接。可以单击一个链接来访问其它文件、图像或多媒体对象,并获得关于链接项的附加信息。

HTTP工作在TCP/IP协议体系中的TCP协议上。客户机和服务器必须都支持HTTP,才能在万维网上发送和接收HTML文件并进行交互。现在WWW中使用的是HTTP/1.1,它是由RFCs(Requests for comments)在1990年6月制定。目前交由IETF(Internet EngineeringTask Force)和W3C(World Wide Web)负责修改。但最终还是由RFCs对外发布。

基于这个协议的基础,在HTTP这层组建HTTP报文内容时候,可以按照需求,随意的修改HTTP Body内容。目前,制作菜单栏大多数的开发者都是通过Javascript函数或者直接写在HTML文件里面,通过服务器按源码解析过去,剩下的移交给浏览器解决,当然涉及到导航牵扯到文件名和文件链接也只能全部交给浏览器,通常只能让代码和菜单栏混为一体,这样在更改时候很容易出现错误。也就是说,现有的生成菜单栏的方法比较原始,还是按照以前的套路,在HTML文件里面去添加或者让Javascript函数去生成,总之这一切对于一个不是很懂这几种语言的人来说,在更换菜单栏时候,或多或少有一定的难度,而且往往会出现一些错位现象,而且调试时候,想更换里面的菜单内容,也只能通过从新烧录镜像文件才能够更换。

发明内容

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于嵌入式WEB服务器动态生成菜单栏的方法及系统,用于解决现有技术中生成或更换菜单栏时复杂、容易出错的问题。

为实现上述目的及其他相关目的,本发明提供一种基于嵌入式WEB服务器动态生成菜单栏的方法,用于在浏览器上生成菜单栏,所述方法包括:将用于生成菜单栏的信息存放在指定文件内;在浏览器中为待生成的菜单栏预设位置并在index.html文件里面添加生成菜单栏的函数接口,同时浏览器向WEB服务器发送菜单栏生成请求;WEB服务器解析所述浏览器发送的请求的报文,获取所述指定文件的文件名称和所述index.html文件;根据所述指定文件和index.html文件内的函数接口将用于生成菜单栏的信息按照HTML语言添加到所述index.html文件内形成新的index.html文件;所述WEB服务器将所述新的index.html文件返回给浏览器,以使得所述浏览器根据所述新的index.html文件在预设位置生成菜单栏。

优选地,用于生成菜单栏的信息包括菜单栏名称和URL链接地址。

优选地,在串口模式下,修改所述指定文件内的用于生成菜单栏的信息。

优选地,所述指定文件为TXT格式的文件。

优选地,所述WEB服务器通过open函数按照所述指定文件的文件名称获取到指定文件。

为实现上述目的,本发明还提供一种动态生成菜单栏的浏览器,所述浏览器包括:菜单栏文件模块,用于将用于生成菜单栏的信息存放在指定文件内;位置预设布置模块,用于在浏览器中为待生成的菜单栏预设位置;函数接口模块,用于在index.html文件里面添加生成菜单栏的函数接口;请求发送模块,与所述菜单栏文件模块、所述位置预设布置模块以及所述函数接口模块相连,用于向WEB服务器发送菜单栏生成请求;菜单栏生成模块,与所述WEB服务器相连,根据所述WEB服务器返回的新的index.html文件在预设位置生成菜单栏。

优选地,所述用于生成菜单栏的信息包括菜单栏名称和URL链接地址。

优选地,在串口模式下,修改所述指定文件内的用于生成菜单栏的信息;所述指定文件为TXT格式的文件。

为实现上述目的,本发明还提供一种动态生成菜单栏的WEB服务器,用于在浏览器上生成菜单栏,所述WEB服务器包括:报文解析模块,用于解析所述浏览器发送的请求的报文;信息获取模块,与所述报文解析模块相连,用于获取所述报文内指定文件的文件名称和index.html文件;信息处理模块,与所述信息获取模块相连,用于根据所述指定文件和所述index.html文件内的函数接口将用于生成菜单栏的信息按照HTML语言添加到所述index.html文件内形成新的index.html文件;信息返回模块,与所述信息处理模块相连,用于将所述新的index.html文件返回给浏览器,以使得所述浏览器根据所述新的index.html文件在预设位置生成菜单栏。

为实现上述目的,本发明还提供一种基于嵌入式WEB服务器动态生成菜单栏的系统,所述系统包括如上所述的浏览器和如上所述的WEB服务器。

如上所述,本发明的一种基于嵌入式WEB服务器动态生成菜单栏的方法及系统,具有以下有益效果:

1、在本发明中,将菜单栏和URL链接保存在外部文件,使得菜单栏独立出来,在更改链接或者菜单栏名称,只需要更改外部文件即可,让不是很懂HTML语言的人也可以自行修改,用不着每次去打开对应的HTML文件,降低差错率。

2、在本发明中,可以在无需编译和烧录镜像文件的情况下,只需要通过串口方式即可进行随意的修改和调试,也可以在通信设备运行状时候去更改菜单栏,免去了每次只能通过烧录镜像文件的方法去更改菜单栏,调试起来更方便,大大提高了调试效率。

3、在本发明中,解析外部文件,在嵌入式WEB服务器内部完成,使得本发明具有较强的通用性和实用性。

附图说明

图1显示为本发明的基于嵌入式WEB服务器动态生成菜单栏的方法的流程示意图。

图2显示为本发明的基于嵌入式WEB服务器动态生成菜单栏的系统的结构示意图。

图3显示为本发明的基于嵌入式WEB服务器动态生成菜单栏的系统内浏览器的结构示意图。

图4显示为本发明的基于嵌入式WEB服务器动态生成菜单栏的系统内WEB服务器的结构示意图。

元件标号说明

1         动态生成菜单栏的系统

11        浏览器

111       菜单栏文件模块

112       位置预设布置模块

113       函数接口模块

114       请求发送模块

115       菜单栏生成模块

12        WEB服务器

121       报文解析模块

122       信息获取模块

123       信息处理模块

124       信息返回模块

S11~S15  步骤

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。

本发明的目的在于提供一种基于嵌入式WEB服务器动态生成菜单栏的方法及系统,用于解决现有技术中生成或更换菜单栏时复杂、容易出错的问题。以下将详细阐述本发明的一种基于嵌入式WEB服务器动态生成菜单栏的方法及系统的原理及实施方式,使本领域技术人员不需要创造性劳动即可理解本发明的一种基于嵌入式WEB服务器动态生成菜单栏的方法及系统。

第一实施例

本实施例提供一种基于嵌入式WEB服务器动态生成菜单栏的方法,本实施例解决传统的只靠页面自己本身去解析生成菜单栏的方法,本实施例将生成菜单的函数止于WEB服务器中,页面只需要提供一个存放菜单栏位置,在对应的根目录,如TMP文件夹下面添加导航栏名称和链接地址的TXT文件,WEB服务器收到浏览器发送过来的请求,在解析数据时,检查是否是index.html,从中找到到需要解析菜单栏的接口,将TXT文件里面的内容按照HTML语言的格式添加到HTML文件中,并返回给浏览器,这样减少浏览器与web服务器交互数据量,提高了交互效率,开发者更改起来更快捷方便。

如图1所述,所述基于嵌入式WEB服务器动态生成菜单栏的方法包括以下步骤。

步骤S11,将用于生成菜单栏的信息存放在指定文件内。

步骤S12,在浏览器中为待生成的菜单栏预设位置并在index.html文件里面添加生成菜单栏的函数接口,同时浏览器向WEB服务器发送菜单栏生成请求。

步骤S13,WEB服务器解析所述浏览器发送的请求的报文,获取所述指定文件的文件名称和所述index.html文件。

步骤S14,根据所述指定文件和index.html文件内的函数接口将用于生成菜单栏的信息按照HTML语言添加到所述index.html文件内形成新的index.html文件。

步骤S15,所述WEB服务器将所述新的index.html文件返回给浏览器,以使得所述浏览器根据所述新的index.html文件在预设位置生成菜单栏。

以下对步骤S11和步骤S15进行详细说明。

在步骤S11中,将用于生成菜单栏的信息存放在指定文件内。具体地,在本实施例中,所述指定文件为TXT格式的文件,用于生成菜单栏的信息包括菜单栏名称和URL链接地址。

URL即统一资源定位符,是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。

此外,在本实施例中,同时这个TXT格式的文件保存在浏览器的根目录,如TMP目录下,例如在TMP文件夹下面添加包含导航栏名称和URL链接地址的TXT文件,TMP文件夹的权限为可读可写,方便临时去更改。

在本实施例中,将菜单栏和URL链接保存在指定文件(外部文件),使得菜单栏独立出来,在更改URL链接或者菜单栏名称时,只需要更改外部文件即可,让不是很懂HTML语言的人也可以自行修改,用不着每次去打开对应的HTML文件,降低差错率。

此外,可以在串口模式下,修改所述指定文件内的用于生成菜单栏的信息。所以本发明的方法可以在无需编译和烧录镜像文件的情况下,只需要通过串口方式即可进行随意的修改和调试,也可以在通信设备运行状时候去更改菜单栏,免去了每次只能通过烧录镜像文件的方法去更改菜单栏,调试起来更方便,大大提高了调试效率。

步骤S12,在浏览器中为待生成的菜单栏预设位置并在index.html文件里面添加生成菜单栏的函数接口,同时浏览器向WEB服务器发送菜单栏生成请求。其中,index.html是首页,大部分网站的首页都是index.html。

采用CSS与HTML技术先将页面布局好,在合适的部位(即预设位置)布置好菜单栏。其中,CSS(层叠样式表)是一种用来表现HTML(标准通用标记语言)或XML(标准通用标记语言)等文件样式的计算机语言。CSS是能够真正做到网页表现与内容分离的一种样式设计语言。相对于传统HTML的表现而言,CSS能够对网页中的对象的位置排版进行像素级的精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力,并能够进行初步交互设计,是目前基于文本展示最优秀的表现设计语言。CSS能够根据不同使用者的理解能力,简化或者优化写法,针对各类人群,有较强的易读性。

步骤S13,WEB服务器解析所述浏览器发送的请求的报文,获取所述指定文件的文件名称和所述index.html文件。

步骤S14,根据所述指定文件和index.html文件内的函数接口将用于生成菜单栏的信息按照HTML语言添加到所述index.html文件内形成新的index.html文件。

步骤S15,所述WEB服务器将所述新的index.html文件返回给浏览器,以使得所述浏览器根据所述新的index.html文件在预设位置生成菜单栏。

具体地,在本实施例中,所述WEB服务器解析报文,从URL中提取出所述指定文件的文件名称,所述WEB服务器通过open函数按照所述指定文件的文件名称获取到指定文件。例如,open("/www/menu.txt",O_RDONLY),即可知道指定文件是否存在。可见,在本实施例中,解析外部文件,在嵌入式WEB服务器内部完成,使得本发明具有较强的通用性和实用性。

为使得本领域技术人员进一步理解本发明的基于嵌入式WEB服务器动态生成菜单栏的方法,以下以具体说明本发明方法的实施过程。

首先把菜单名称和URL以数组的形式添加到menu.txt文件(指定文件)中:

例如:

[快速向导,wizard_iframe.html];

[存储共享,media.html];

[存储共享设置,shares.html];

[用户管理,password.html];

[WAN设置,wanCfg.html];

[LAN设置,lanCfg.html];

[MAC克隆,macClone.html];

[工作模式,opmode.html];

然后在index.html里面添加需要的生成菜单栏的函数接口,例如:“接口函数#”,向WEB服务器发送菜单栏生成请求。

接着在嵌入式WEB服务器里面,解析浏览器发送过来的报文,请求获取index.html,open函数去判断menu.txt(指定文件)是否存在,检查index.html文件里面函数接口是否存在,在menu.txt和函数接口都存在的情况下,按照HTML语言格式添加上对应的菜单和创建相应的链接,组建好HTTP报文,并返回给浏览器,所述浏览器根据所述新的index.html文件在预设位置生成菜单栏。这样一来,使得添加菜单栏从代码中独立出来。

第二实施例

为实现上述基于嵌入式WEB服务器动态生成菜单栏的方法,本实施例对应提供提供一种基于嵌入式WEB服务器动态生成菜单栏的系统,本实施例解决传统的只靠页面自己本身去解析生成菜单栏的方法,本实施例将生成菜单的函数止于WEB服务器中,页面只需要提供一个存放菜单栏位置,在对应的根目录,如TMP文件夹下面添加导航栏名称和链接地址的TXT文件,WEB服务器收到浏览器发送过来的请求,在解析数据时,检查是否是index.html,从中找到到需要解析菜单栏的接口,将TXT文件里面的内容按照HTML语言的格式添加到HTML文件中,并返回给浏览器,这样减少浏览器与web服务器交互数据量,提高了交互效率,开发者更改起来更快捷方便。

具体地,如图2所示,动态生成菜单栏的系统1包括动态生成菜单栏的浏览器11和WEB服务器12。

如图3所示,浏览器11包括:菜单栏文件模块111、位置预设布置模块112、函数接口模块113、请求发送模块114和菜单栏生成模块115。

菜单栏文件模块111用于将用于生成菜单栏的信息存放在指定文件内;具体地,在本实施例中,所述指定文件为TXT格式的文件,用于生成菜单栏的信息包括菜单栏名称和URL链接地址。

URL即统一资源定位符,是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器11应该怎么处理它。

此外,在本实施例中,同时这个TXT格式的文件保存在浏览器11的根目录,如TMP目录下,例如在TMP文件夹下面添加包含导航栏名称和URL链接地址的TXT文件,TMP文件夹的权限为可读可写,方便临时去更改。

在本实施例中,将菜单栏和URL链接保存在指定文件(外部文件),使得菜单栏独立出来,在更改URL链接或者菜单栏名称时,只需要更改外部文件即可,让不是很懂HTML语言的人也可以自行修改,用不着每次去打开对应的HTML文件,降低差错率。

此外,可以在串口模式下,修改所述指定文件内的用于生成菜单栏的信息。所以本发明的方法可以在无需编译和烧录镜像文件的情况下,只需要通过串口方式即可进行随意的修改和调试,也可以在通信设备运行状时候去更改菜单栏,免去了每次只能通过烧录镜像文件的方法去更改菜单栏,调试起来更方便,大大提高了调试效率。

位置预设布置模块112用于在浏览器11中为待生成的菜单栏预设位置;其中,index.html是首页,大部分网站的首页都是index.html。

采用CSS与HTML技术先将页面布局好,在合适的部位(即预设位置)布置好菜单栏。其中,CSS(层叠样式表)是一种用来表现HTML(标准通用标记语言)或XML(标准通用标记语言)等文件样式的计算机语言。CSS是能够真正做到网页表现与内容分离的一种样式设计语言。相对于传统HTML的表现而言,CSS能够对网页中的对象的位置排版进行像素级的精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力,并能够进行初步交互设计,是目前基于文本展示最优秀的表现设计语言。CSS能够根据不同使用者的理解能力,简化或者优化写法,针对各类人群,有较强的易读性。

函数接口模块113用于在index.html文件里面添加生成菜单栏的函数接口;

请求发送模块114与所述菜单栏文件模块111、所述位置预设布置模块112以及所述函数接口模块113相连,用于向WEB服务器12发送菜单栏生成请求。

菜单栏生成模块115与所述WEB服务器12相连,根据所述WEB服务器12返回的新的index.html文件在预设位置生成菜单栏。

如图4所示,本实施例中的动态生成菜单栏的WEB服务器12,用于在浏览器11上生成菜单栏,所述WEB服务器12包括:报文解析模块121、信息获取模块122、信息处理模块123和信息返回模块124。

报文解析模块121用于解析所述浏览器11发送的请求的报文。

信息获取模块122与所述报文解析模块121相连,用于获取所述报文内指定文件的文件名称和index.html文件。

信息处理模块123与所述信息获取模块122相连,用于根据所述指定文件和所述index.html文件内的函数接口将用于生成菜单栏的信息按照HTML语言添加到所述index.html文件内形成新的index.html文件。

信息返回模块124与所述信息处理模块123相连,用于将所述新的index.html文件返回给浏览器11,以使得所述浏览器11根据所述新的index.html文件在预设位置生成菜单栏。

具体地,在本实施例中,所述WEB服务器12解析报文,从URL中提取出所述指定文件的文件名称,所述WEB服务器12通过open函数按照所述指定文件的文件名称获取到指定文件。例如,open("/www/menu.txt",O_RDONLY),即可知道指定文件是否存在。可见,在本实施例中,解析外部文件,在嵌入式WEB服务器12内部完成,使得本发明具有较强的通用性和实用性。

为使得本领域技术人员进一步理解本发明的基于嵌入式WEB服务器12动态生成菜单栏的系统1,以下以具体说明本发明方法的实施过程。

首先把菜单名称和URL以数组的形式添加到menu.txt文件(指定文件)中:

例如:

[快速向导,wizard_iframe.html];

[存储共享,media.html];

[存储共享设置,shares.html];

[用户管理,password.html];

[WAN设置,wanCfg.html];

[LAN设置,lanCfg.html];

[MAC克隆,macClone.html];

[工作模式,opmode.html];

然后在index.html里面添加需要的生成菜单栏的函数接口,例如:“接口函数#”,向WEB服务器12发送菜单栏生成请求。

接着在嵌入式WEB服务器12里面,解析浏览器11发送过来的报文,请求获取index.html,open函数去判断menu.txt(指定文件)是否存在,检查index.html文件里面函数接口是否存在,在menu.txt和函数接口都存在的情况下,按照HTML语言格式添加上对应的菜单和创建相应的链接,组建好HTTP报文,并返回给浏览器11,所述浏览器11根据所述新的index.html文件在预设位置生成菜单栏。这样一来,使得添加菜单栏从代码中独立出来。

综上所述,在本发明的基于嵌入式WEB服务器动态生成菜单栏的方法及系统中,将菜单栏和URL链接保存在外部文件,使得菜单栏独立出来,在更改链接或者菜单栏名称,只需要更改外部文件即可,让不是很懂HTML语言的人也可以自行修改,用不着每次去打开对应的HTML文件,降低差错率;本发明可以在无需编译和烧录镜像文件的情况下,只需要通过串口方式即可进行随意的修改和调试,也可以在通信设备运行状时候去更改菜单栏,免去了每次只能通过烧录镜像文件的方法去更改菜单栏,调试起来更方便,大大提高了调试效率;此外,在本发明中,解析外部文件,在嵌入式WEB服务器内部完成,使得本发明具有较强的通用性和实用性。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号