七.在服务器端处理表单
& ^( x" {! j' q2 W要在服务器端处理你的表单,你必须要编写能够处理表单的CGI程序。因此,为了在编写CGI程序的过程中可以调试和修改你的CGI程序,你通常需要将你的个人计算机系统设置成一个Web服务器,这也使得你可以直观的看到这个CGI程序在你真正要上传的服务器上是否会以你希望的方式工作。- w' i9 k, K/ E( Q- R+ |
1、在Windows系统上安装Web服务器并调试CGI程序# `2 u6 K& Y4 @* m
CGI的主要的功能是在WWW环境下,通过从客户端传递一些数据给WEB服务器,再由Web服务器去启动所指定的程序代码来完成特定的工作。CGI只能运行在WEB服务器上,它的工作就是对数据执行特定的控制并且产生并传回所需的文件。+ o, ^: E( C( K* A% s
要想编写和调试CGI程序(在这里我只讨论在Windows 9x系统下的情况),你需要两样东西:一种用于编写CGI程序的语言以及一个WEB服务器软件。也许你还会需要其它的东西(比如充满食物的冰箱、泡泡糖、CD、拖鞋,以及一个吻),但大多数人有这两样就够了。& W( e, Z( q8 A
关于编写CGI程序的语言的选择:
* W$ k4 s% D9 g5 `0 h你可以用你喜欢的任何一种语言来编写CGI程序。VB、VFP、VBScript、AppleScript、javascript、Jscript、Java、C\ C++、UNIX Shell、TCL、PHP/FI以及Perl,只要这种语言具有标准的输入、输出和环境变量。
# W5 p# F% T" h: Y. b然而遗憾的是并不是所有的语言写的CGI都被所有服务器上的操作系统所支持。通过这张表你可以很清楚的看到何种语言编写的CGI的生存能力。
u: h; h v9 \0 O2 m Q* g不同语言编写的CGI程序对各种不同操作系统的兼容性列表。
1 m1 h9 q. y1 o( ?) T很显然C++、C、Perl三种语言更胜一筹,但当要处理的数据是大量的字符和字符串时,Perl较C++/C的优越性就显露无遗。而CGI程序除了处理字符串几乎不干别的。Perl是什么?Perl就是Practical Extraction and Reporting Language(实际抽取和报告语言),专门抽取字符串、专门打报告的语言。
6 j8 c3 O: a: {+ ~8 }+ G% C, j. B7 ^话说到这份上,我相信没有人会不选择用Perl来开发CGI程序,而令人振奋的是Perl是免费的。
. g0 Y- y# c9 w, y. A \" @6 b你可以在http://www.activestate.com/ActivePerl/download.htm上得到Perl for Win32的版本ActivePerl。
# }! \( p/ X5 @( P- R, e9 |) V( |关于ActivePerl的安装没有任何可说的,你听了一定觉得这是个好消息。; ]! T. _- J( d8 |( f9 ~" H4 P
关于这个WEB服务器软件:, M! p7 S1 e+ g2 k& z, d, `& L1 d+ y/ |
9 u' Z: T" P# |4 d4 ^, C5 A这个WEB服务器软件的作用是将你的PC变成一个Web服务器。这样,无需连接Internet,你就可以在你的机器上轻松的调试CGI程序。当然,你可以拒绝使用它,但那样的话,你就不得不事先申请一个允许运行你的CGI程序的WEB服务器,并为调通某个魔鬼般的CGI程序而不得不一遍遍的拨号、登陆、上传、测试、失败、断线、修改、再拨号、…………,直到你完全崩溃。 |