goAhead_webServer应用开发文档.pdf
文本预览下载声明
GoAhead webServer 应用开发文档
完成WebServer 移植后,则需要在此基础上完成系统运行所需要的页面文件,透过页面
文件来实现web 对终端的管理。
页面操作方式有:
一、 首先为静态页面,此页面可在 http 编辑工具中完成,完成直接下载至相应的
web 存放目录即可,此种方式可完成诸如说明文档、终端信息等固定内容,无
法进行用户交互操作。设计上可使用Javascript 。
二、 Cgi 页面,可用 c 语言编辑的页面,可操作方式可参考
GoAhead2.18\web\cgi-bin\cgitest.c 文件,使用时需要将此文件加入项目中一起
编辑完成, webServer 任务启动后,在地址栏中直接输入
6\cgi-bin\cgitest 就可以观察到结果了。作者并没有实现Cgi 上的表单
控制。本文不提供如何通过Cgi Script 来实现表单控制,很多网站和图书已经
提供的该操作,需要说明的是,Goahead 中的Cgi 入口处理中,在地址栏内如
果带有cgientry=name 的字样时,则处理器会寻找name 函数来处理该请求,没有此请求
字样时,Goahead 搜索名称为name_cgientry 的函数,即请求的名称增加后缀_cgientry ,
在保证请求完整时需要注意此点;另外需要注意的时 Cgi 任务的退出要使用 return,而不
是使用任务删除,return 退出后,系统会重新定位stdin、stdout 等,否则由Cgi 重定位的
输入输出会保持,会影响后续的其他类型的web 请求。
三、 嵌入式Javascript ,此为Goahead webServer 提供的一种的方式,采用form 提
交的方式,提供了完善的输入输出流程控制,同样可采用c 语言进行设计,可
很好地与系统其他部分实现代码共享。如h1Today is % write(Hello
World); %/h1,此句代码即可在网页上输出“Hello World”字样,下面主
要讲述此种用法。
嵌入式Javascript 采用表单提交的方式,通过特殊的标记印记,嵌入已经实现的C 函数
至页面文件中,在提交时,由已经在系统定义并注册的函数来接收处理,通过代码写 web
页面来实现输出。其设计过程主要涉及以下几个方面:
1、 页面设计。嵌入式Javascript 文件为 asp 文件,其内容可按照标准的javascript
来设计,在创建页面过程中,如需要从原系统中动态生成页面,如当前终端的
参数配置,此时需要使用嵌入式Javascript 的独立定义,在需要嵌入创建函数的
地方用如下格式加入:% CreateCurrentUser (); %,此函数需要事先定义好并
在系统启动向webServer 注册完成。
2、 创建函数定义:一个标准的创建函数int aspCreateHomeAsp(int eid, webs_t wp, int
argc, char_t **argv),前面两个参数为页面参数,不能改动,
3、 注册创建函数:websAspDefine(T(CreateCurrentUser), aspCreateCurrentUser);使
用此函数注册后,如果asp 页面中出现% CreateCurrentUser (); % ,则webServer
会调用aspCreateHomeAsp ()来输出页面。
4 、 Form 提交函数;要达到交互使用,则必须响应用户提交,要做到这一点,很简
单,在页面中加入form action=/goform/AddGroup method=P
显示全部