(1)编写网页文件
(2)生成一个*.c源文件,例如lwip,uip 均是通过fsdata生成,该*.c文件里面内容主要是很多数组,每个数组对应一个网页或图片,并通过链表结构把数组链接起来。
(3)确定入口缺省网页
(4)网页输出--即将嵌入式模块的信息显示到WEB上 (SSI)
方法:收到"GET"命令后,在接受的数据中查找显示信息对应的标签,并用自己的“信息”替换即可
例如WEB源码中有温度标签"TAG:TMP1"
<TD width=166 height=25 align=\"center\">TAG:TMP1℃</TD>
类似代码
itoa(cpu_temperature%100, text+i, 10);
replace_tag(outbuf + 54, "TAG:TMP1", text);
(5)网页输入--即将页面的信息输入到嵌入式模块中 (CGI)
方法:收到"POST"命令后,在接受的数据查找"name=", 再对=后字符串进行解析
例如WEB源码中有"name=switch"
" <INPUT type=radio CHECKED value=1 name=switch>灭 <INPUT type=radio"
类似代码
ptr = strstr(tcp_data, "switch=");
if (*ptr == '1') {CONTROL_LED=0x0;}
else if (*ptr == '0') {CONTROL_LED=0x1;}
SSI简介:
SSI(Server Side Include),通常称为服务器端嵌入,是一种类似于ASP的基于服务器的网页制作技术。大多数(尤其是基于Unix平台)的WEB服务器如Netscape Enterprise Server等均支持SSI命令。
在一个通常以.shtml为扩展名的SSI文件中,标准的HTML编码会被直接送到浏览器上,而内嵌Perl语言形式的SSI命令则先被网络服务器解释执行,如果是标准输出的话,输出信息也将作为标准的HTML而被送至浏览器。
SSI简单应用实例:
〈html〉
〈head〉〈title〉my first SSI page〈/title〉〈/head〉
〈body〉
欢迎您(于〈!--# echo var="date_local" --〉)访问本网站。
〈/html〉
标记在上面文档中的“〈!--# --〉”结构表明了SSI命令会被服务器翻译执行,而不是直接送到客户端。我们可以在浏览器中用“查看→源文件"观察源代码:
〈html〉
〈head〉〈title〉my first SSI page〈/title〉〈/head〉
〈body〉
欢迎您(于dec 06 1999)访问本网站。
〈/html〉
我们发现,文档中的html被直接传到了客户端,而SSI命令得到了执行。SSI代码在客户端是不可见的,客户端只能看到它执行的效果。
CGI简介
Common Gateway Interface,简称CGI。在物理上是一段程序,运行在服务器上,提供同客户端HTML页面的接口。这样说大概还不好理解。那么我们看一个实际例子:现在的个人主页上大部分都有一个留言本。留言本的工作是这样的:先由用户在客户端输入一些信息,如名字之类的东西。接着用户按一下“留言”(到目前为止工作都在客户端),浏览器把这些信息传送到服务器的CGI目录下特定的cgi程序中,于是cgi程序在服务器上按照预定的方法进行处理。
lwip较新代码
void httpd_ssi_init(void)
{
/* configure SSI handlers (ADC page SSI) */
http_set_ssi_handler(ADC_Handler, (char const **)TAGS, 1);
}
/**
* Initialize CGI handlers
*/
void httpd_cgi_init(void)
{
/* configure CGI handlers (LEDs control CGI) */
CGI_TAB[0] = LEDS_CGI;
http_set_cgi_handlers(CGI_TAB, 1);
}