GoAhead嵌入式服务器的设计与实现


原文转摘自:

http://wendang.baidu.com/view/c49f131b964bcf84b9d57bd3.html


2.3.2 后台函数处理设计
在使用GoAhead WebServer 时, 需主要进行一下两方面的
工作:
1. GoAhead WebServer 的配置:
ⅰ) 程序所在的根目录
通过在main.c 文件中指定ROOT_DIR 和rootWeb 的值,
#define ROOT_DIR T("/source/")
static char_t *rootWeb = T("web");
这样就定义了GoAhead WebServer 的根目录为/source/web
ⅱ) 缺省主页
在浏览器输入地址时,服务器返回某一页面,该页面通过在
main.c 文件中initWebs 函数进行设定,设定语句为websRedirect
(wp, T("index.htm"));
ⅲ) 缺省目录索引
当浏览器访问某一地址下的目录时, 服务器将返回该目录
下的缺省页面, 通过main.c 文件中的websHomePageHandler 函
数进行设定,
websSetDefaultPage(T("default.asp"));
2. GoAhead WebServer 的用户接口:
这一部分是为了满足特定需求的设计,即前台信息提交给
后台处理,后台处理的信息返回给前台进行显示,为此,有两种
方法可以实现用户的功能模块与GoAhead WebServer 模块的
连接。
ⅰ) 编写用户的asp 函数和表单处理函数, 所有针对特殊
url 的访问(/goform/****)都会产生对url 处理函数websFormHandler()
的调用,该函数查找formSymTab 符号表,寻找匹配的用户
表单处理函数。如图2 所示,点击“ 视频编解码配置”后,转到
VedioEDList 功能函数进行相关的数据处理。
图2 菜单栏选项
在后台中,首先要对VedioEDList 进行函数配置,然后Web-
Server 自动寻找匹配的函数,进行处理,代码参考如下:
websFormDefine(T("VedioEDList"), formVedioEDList);
static void formVedioEDList (webs_t wp, char_t
*path, char_t *query) {…..}
ⅱ) 编写用户的url 处理函数, 所有针对用户指定的url 的
访问都会调用相应的用户url 处理函数来处理。
图3 提交界面
如图3 所示,为某一页面的提交按钮,点击提交按钮,通过<
form>标签转入后台指定程序进行处理。
ⅲ) 当第一次访问页面时, 服务器需要读取配置文件信息,
然后将已保存的信息显示在前台页面中, 这就需要页面直接调
用后台某一特殊函数,前台页面例如:
<input type = "hidden" name = "ListValue1" value = " <%
TimeValue1(); %>">
其中<%>标签内容为调用的后台函数, 该函数在后台进行
如下配置:
websAspDefine(T("TimeValue1"), aspTimeValue1);
static int aspTimeValue1(int eid, webs_t wp, int argc, char_t
**argv)
{
websWrite (wp, T ("% s\n"), HandTimeConfigList.
timearea);
return 0;
}
其中websWrite()函数的主要作用是在网页上显示后台处
理信息。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值