Java编程思想第4版[中文版](PDF格式)-第148部分
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
务器对CGI 请求进行控制时,它的开销会将这种隐患减轻到最低程度。
这种设计的另一个好处是由于 Pair 和 CGI_vector 都得到了定义,大多数工作都帮我们自动完成了,所以只
需修改main()即可轻松创建自己的CGI 程序。尽管小服务程序(Servlet)最终会变得越来越流行,但为了
创建快速的 CGI 程序,C++仍然显得非常方便。
15。6。4 POST 的概念
在许多应用程序中使用 GET 都没有问题。但是,GET 要求通过一个环境变量将自己的数据传递给 CGI 程序。
但假如GET 字串过长,有些Web 服务器可能用光自己的环境空间(若字串长度超过 200 字符,就应开始关心
这方面的问题)。CGI 为此提供了一个解决方案:POST 。通过POST,数据可以编码,并按与GET 相同的方法
连结起来。但POST 利用标准输入将编码过后的查询字串传递给CGI 程序。我们要做的全部事情就是判断查询
字串的长度,而这个长度已在环境变量CONTENT_LENGTH 中保存好了。一旦知道了长度,就可自由分配存储空
间,并从标准输入中读入指定数量的字符。
对一个用来控制POST 的CGI 程序,由CGITools。h 提供的Pair 和 CGI_vector 均可不加丝毫改变地使用。下
面这段程序揭示了写这样的一个CGI 程序有多么简单。这个例子将采用“纯”C++,所以 studio。h 库被
iostream (IO数据流)代替。对于 iostream ,我们可以使用两个预先定义好的对象:cin,用于同标准输入
连接;以及 cout,用于同标准输出连接。有几个办法可从cin 中读入数据以及向cout 中写入。但下面这个
程序准备采用标准方法:用“