一个简单的CGI脚本Web编程v11.docx
《一个简单的CGI脚本Web编程v11.docx》由会员分享,可在线阅读,更多相关《一个简单的CGI脚本Web编程v11.docx(13页珍藏版)》请在冰豆网上搜索。
一个简单的CGI脚本Web编程v11
一个简单的CGI脚本Web编程
1前言
现在Web开发语言非常多。
在PHP和JavaScript在网页开发上大行其道的同时,还有另一种形式开发Web,就是利用C、C++语言进行编写CGI脚本开发网页。
从项目应用来看,用Perl、C++等语言开发网页是比较费事的事情,编写自定义CGI脚本需要相当多的编程技巧。
开发周期非常漫长,很难满足快速多变的用户需求,往往完成一个项目需要很长的周期,显然与当今的速度至上的时代有很大差距。
如果有读者是从事或者欲将从事CGI开发,建议还是一开始就使用C++或perl语言进行开发,虽然用C语言编写的CGI程序具有执行速度快、安全性高(因为C语言程序是编译执行且不可被修改)等特点,但是C语言缺乏强有力的字符串处理能力,这个会影响网页处理速度。
在执行过程中,由于每一次对于动态内容的请求都需要启动一个新的CGI程序,因而会增加Web服务器的负担,所以CGI的一个很大缺陷是容易影响Web服务器的运行速度。
用此方式建立的网站,当多个用户去访问Web方式的时候,它的处理能力确实不尽人意。
但是如果您是一位专门从事设备控制,操作配置开发的工程师,这个方式是最好的选择,因为该形式,多数情况下只是几个管理员进行操作。
不需要处理多用户并发操作。
另一个特点就是不受客户端限制,只要有浏览器,就可以配置操作。
本文主要是讲解在window环境下,安装Apache服务器和使用CGI脚本进行Web开发。
通过一个简单获取本地时间的程序,来演示CGI脚本开发的特点。
示例效果如下:
点击“提交”后,会显示本地时间。
这是一个简单CGIWeb开发。
2安装Apache服务器
1,下载并安装apache服务器,步骤如下所示:
2,点选“Iacceptthetermsinthelicenseagereement”
3,设置服务器信息,依次填写域名,服务器名,管理员邮箱,选择forAllUsers,onPort80,asaService.
4,选择第二个按钮“Custom”,点击“下一步”。
服务器安装目录可以进行调整,此处使用的是默认安装目录。
5,开始安装;
6,安装完成后,打开浏览器,查看服务器是否运行。
在地址栏里边输入http:
//localhost/或http:
//serverIP/.
出现Itworkstation!
证明服务器安装成功。
此时在,在屏幕右下角系统托盘处出现
图标,双击该图标
该状态证明Apache服务器运行正常。
3配置Apache服务器
1、打开编辑httpd.conf文件
用编辑器打开文件httpd.conf,该文件位于默认安装目录下。
C:
\ProgramFiles\ApacheSoftwareFoundation\Apache2.2\conf
建议大家使用带有行标号的记事本软件,例如Notepad++、UE等。
2、修改Directory分项,增加OptionsExecCGI,大约在342行处;
3、修改IfModulemime_module分项,增加AddHandlercgi-script.exe.pl.cgi,大约在395行处;
ScriptAlias/cgi-bin/"C:
/ProgramFiles/ApacheSoftwareFoundation/Apache2.2/cgi-bin/"
/ProgramFiles/ApacheSoftwareFoundation/Apache2.2/cgi-bin">
AllowOverrideNone
OptionsNone
OptionsExecCGI
Orderallow,deny
Allowfromall
#
#AddHandlerallowsyoutomapcertainfileextensionsto"handlers":
#actionsunrelatedtofiletype.Thesecanbeeitherbuiltintotheserver
#oraddedwiththeActiondirective(seebelow)
#
#TouseCGIscriptsoutsideofScriptAliaseddirectories:
#(Youwillalsoneedtoadd"ExecCGI"tothe"Options"directive.)
#
#AddHandlercgi-script.cgi
AddHandlercgi-script.exe.pl.cgi
4创建一个简单的应用
1,创建一个简单的html文件。
命名为testcgi.html。
将其存放到htdocs目录下。
C:
\ProgramFiles\ApacheSoftwareFoundation\Apache2.2\htdocs
内容如下:
localtime.cgisuccessfulClickButtonToTestCGI
2,编写localtime.cpp程序。
该程序的功能是获取本地电脑时间。
内容如下:
//localtime.cpp
//DisplaysthecurrentdateandtimeinaWebbrowser.
#include
usingstd:
:
cout;
#include
intmain()
{
time_tcurrentTime;//variableforstoringtimes
//outputheader
cout<<"Content-Type:
text/html\n\n";
//outputXMLdeclarationandDOCTYPE
cout<<"
xmlversion=\"1.0\"?
>"
<<"
DOCTYPEhtmlPUBLIC\"-//W3C//DTDXHTML1.0"
<<"Transitional//EN\"\"http:
//www.w3.org/TR/xhtml1"
<<"/DTD/xhtml1-transitional.dtd";
time(¤tTime);//storetimeincurrentTime
//outputhtmlelementandsomeofitscontents
cout<<"//www.w3.org/1999/xhtml\">"
<<"
Currentdateandtime"
<<"
"<<<"