*
一、配置文件:
*
1.boa配置文件通常在哪里?
/etc/boa/boa.conf
2.boa工作的根目录:
DocumentRoot /var/www
VHostRoot /var/www
3. cgi程序存放的路径:
CGIPath /bin:/usr/bin:/usr/local/bin:/var/www/cgi-bin
各路径之间用冒号分隔。
4.虚拟路径:
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
客户端在浏览器输入http://192.168.204.135/cgi-bin/mytest.cgi时所访问的服务器端cgi程序是: /var/www/cgi-bin/mytest.cgi
5.错误日志的存储路径:
ErrorLog /var/log/boa/error_log
如果没有以/开始,则表示从服务器的根路径开始;如果不需要错误日志,
则用#/dev/null。
二、首页(请求页):
1.实例A:
<html>
<head>
<title>CGI Output</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<h1>HELLO,WORLD.xxgui1992 </h1>
<FORM ACTION="/cgi-bin/mytest2.cgi">
请在下面填入乘数和被乘数,按下确定后可以看到结果。
</br>
</br>
<INPUT NAME="m" SIZE="5">
</br>
</br>
<INPUT NAME="n" SIZE="5" >
</br>
</br>
<INPUT TYPE="SUBMIT" VALUE="确定" >
</FORM>
<body>
</html>
2.实例B:
<html>
<head><title>CGI Output</title></head>
<body>
<h1>HELLO,WORLD.xxgui1992 </h1>
<form METHOD="GET" action="/cgi-bin/mytest.cgi">
usrname:
<input type="text" name="usrname" >
</br>
passwd:
<input type="text"
name="pw" >
</br>
</br>
<input type="RESET" name="reset" value="clearn all" >
</br>
</br>
<input type="SUBMIT"" name="submit" value="submit" >
</br>
</br>
<a href="/cgi-bin/mytest1.cgi">to cgi page</a>
</form>
<body>
</html>
三、CGI程序(响应页):
1.实例A:
int main(int argc, const char *argv[])
{
char *data;
long m,n;
printf("%s%c%c\n","Content-Type:text/html;charset=utf-8",13,10);
// printf("<meta http-equiv=i\"Content-Type\" content=\"text/html; charset=utf-8\">\n");
printf("<TITLE>乘法结果</TITLE> ");
printf("<H3>乘法结果</H3> ");
data = getenv("QUERY_STRING");
if(data == NULL)
printf("<P>错误!数据没有被输入或者数据传输有问题");
else if(sscanf(data,"m=%ld&n=%ld",&m,&n)!=2)
printf("<P>错误!输入数据非法。表单中输入的必须是数字。");
else
printf("<P>%ld和%ld的成绩是:%ld。",m,n,m*n);
return 0;
return 0;
}
2.实例B:
int main(void)
{
int k=0;
char *buf = getenv("QUERY_STRING");
if(buf !=NULL)
{
int size = strlen(buf);
FILE *fp = fopen("./11111.txt","w+");
fwrite(buf,size,1,fp);
fclose(fp);
}
printf("Content-type:text/html\n\n"); //这句一定要加上
printf("<html><body>");
printf("</br>\n");
printf("<input type=\"RESET\" name=\"reset\" value=\" %s\" >",buf);
printf("</br>\n");
printf("</body></html>");
exit(0);
}