IP电话机、视频可视电话通信产品及组网方案

CGI+JAVA协议

时间:2021-08-20 11:54 作者:admin 分享到:
2.4.5 CGI
       上面讨论的HTML只提供单向通信能力,客户可以点击请求服务器提供所需的页面,但是反过来服务器向客户请求信息就难以做到。随着Web的广泛使用,越来越多的应用需要客户和服务器之间进行交互式通信,例如电子购物、数据库访问、免费软件散发等都要求客户填登记表、给出搜索关键词、键入个人信息等。为此,HTML2.0版本引入了登记表(Form)这一重要的结构。
       表定义了多种类型输入框(box),用户可在这些框中写入文字或作出选择,HTML用INPUT标记进行描述,其一般格式为:
       <INPUTTYPE="···"NAME="…“VALUE="…“SIEE=…〉其中,
       NAME指示变量名,用户输入该框的数据就赋值给该变量;VALUE指示该框输人数据的缺省值;SIZE指示该框所占的列数。
       登记表已定义的输入框类型有:
.文本(TEXT)框:为输入框的缺省类型,用户需在此类框中键入字符串。
.无线电(RADIO)按钮:单选按钮,用户需在所列的几个选择钮中选择一个。
.开关按钮(CHECKBOX):多选按钮,用户可在所列儿个选择按钮中任选若干个。
.门令(PASSWORD)框:同文本框,只是用户键入字符串不显示。
.文本域(TEXTAREA)框:同文本框,只是可包含多行文字。
.发送(SUBMIT)按钮:点击此钮,将登记表所有信息送往服务器。
.复位(RESET)按钮:点击此钮,登记表各框回复初态。
.隐形(HIDDEN)框:该框可显示文字,但不能点击或修改。其用途是用户需在多个页面中进行登记选择,某些选项已在前面的页面中选定,在当前页面不允许再作变动。
.图形(IMAGE):用于活性地图和其它可点击图像。用户在地图上点击后,选定像素的座标值赋给指定变量,登记表立即自动返回给服务器。
        如果单选或多选项较多,HTML还可提供菜单式选择形式,此时所有选择项列千标记对<SELECT〉和</SELECT〉之间。
        登记表信息的发送有3种方式:点击发送按钮;点击活性地图;在只有一个文本框的登记表中,只要简单地回车即可。
        整个登记表的内容列于标记对<FORM〉和</FORM〉之间,FORM带有2个必备参数,其格式为:
                <FORMACTION="…“METI-10D=…〉
       其中,ACTION指示发送目的地的URL,ME'IlIOD指示发送采用的方法。HfML定义了两种发送方法:GET和POST,也就是登记表的各项信息如何以紧凑的文本形式表示,回送给服务器。
       登记表信息送达后,服务器必须据此进行操作和处理,例如检查口令、核对信用卡、检索数据、回送页面等,这些处理和具体应用有关,并需和数据库等交互,因此必须在服务器机器中设置后台处理程序。由于Web服务器程序可由各单位自行开发,类型各不相同,要使后台程序在任何服务器上都能运行,就需要定义一个服务器和登记表后台处理程序之间的标准接口,通过这个接口,服务器将登记表信息传递给后台程序,后台程序则将处理后的输出信息返回服务器。  这一标准接口就称之为CGI。它是WWW实现交互功能的主要工具。通常称遵守CGl标准的服务器侧后台可执行程序为CGl程序,规定放在站点的cgi-bin目录下。可以用任何编程语言书写。
 
CGI基本原理
图2.46  CGI基本原理
        图2.46示出CGI程序和服务器、客户的关系及相关接口。其基本工作过程可以下述例子予以说明。设某部门建立了一个Web网页的索引数据库,可根据关键字或主题进行检索,并想提供给Web用户使用。为此,必须编写一个CGI程序,能对数据库进行操作,且经CGI与Web服务器接口。该CGI程序的URL设为http://www.njupt.edu/cgi-bin/pagesearch,表示该程序名为pagesearch,位千站点www.njupt.edu的cgi-bin目录下。
       当Web用户需使用该服务时,服务器送出登记表,用户填好表格后点击发送按钮,浏览器按(FORM〉中ACTION参数指明的URL建立TCP连接,然后调用MEIHOD参数规定的方法(通常为POST),将登记表中的各项信息经HTIP传给服务器。服务器识别这是对位于cgi-bin目录中某页面文件的操作,就将该文件解释为可执行程序,启动该程序,并将客户输入的登记表信息传给此程序,同时设置必要的环境变量,如CONTENT-LENGIB说明输入字符串的长度。
        然后,CGI程序调用库程序对输入信息进行语法分析,将其转换为更易使用的形式,并据此对数据库进行相应的操作。
        最后,CGI 根据操作结果生成输出信息,该信息可以是一个HTML页面,并将其返回服务器( 服务器将其送交客户。由此实现Web的交互过程。
        CGI定义了客户至服务器传送登记表数据的两种方法:URL中的查询行(即GET)方法和消息体(即POST)方法;定义了服务器向CGI程序传送数据的三种机制:命令行参数、标准输入(即消息体输入)和环境变量;还定义了CGI程序向服务器返回数据的两种方式:标准输出和透明输出,其中透明输出指的是CCI  程序的输出直接送给客户,尤需服务器作任何处理。
2.4.6Java
       上述CGI机制虽然使Web具有双向交互功能,但是由于CGI程序位于远端,尚不可能提供快速交互能力。Sun 公司提出的面向对象的Java语言用于WWW后,可以在Web页面中嵌入一个小的Java程序,称之为“应用小程序”(applet),其嵌入方法和图像嵌入相同。典型应用情况是在HI'ML描述中插入如下语句:
      〈APPIEfCODE=···WIDTH=…HEIGHT=···〉〈/APP1.Ef〉其中,〈APPLET〉是新定义的HTML标记,参数CODE指明程序名,参数WIDTH和HEIGHT指明该程序缺省窗口的大小。当浏览器读到该语旬后,就从当前页面的网站下载该Java小程序,其后该程序就可在客户机上运行。如果该程序位于其它地点,则可在(APPLET〉标记中增设CODE-BASE参数,指明该程序所在的URL。
        为了防止applet带入病毒,并使其具有适应不同机器的可携带性,applet被编译成字节代码形式。客户机中装有相应的解释器,ap­plet下载后采用解释方式运行,以确保安全。
        采用Java机制有许多好处。首先,可有效地提高Web页面的交互功能。例如,页面可包含游戏画面,如象棋盘,而用Java编写的下棋程序已随该页面下载至客户机,这样用户可调用页面在本地和机器对奕。又如,用户要填写很复杂的所得税报税单,他不需要手工填写或寻找专用软件填写,只需要简单地点击税务局的主页,下载一个报税applet。该程序会询问一些问题,然后和用户的雇主、银行、股票经纪人交互,采集其工资、利息、红利信息,进行计算后填表,最后显示表格内容,用户确认后就可发送。
        其次,在客户机上运行applet可以使Web页面增加动画和声音效果,而用户尤需配备外置阅读程序。声音可以在页面下载时作为背景音乐播放,也可以在点击某画面时作为情景配音播放,播放ap­plet均随页面或点击调用下载。动画处理也与此类似。由千applet在本地运用,因此可以获得相当好的实时效果。
       再次,基于Java的浏览器具有很好的扩展性。通常浏览器的基本功能是HTML解释器,然后通过配备内置模块,可执行规定的协议(如HTIP、ITP等)以及解码规定格式的声音和图像。如果某页面包含一种新的图像格式,如MPEG-2,该浏览器就无法显示该画面,用户必须安装一个合适的外置阅读程序。因此浏览器的功能完全取决 于内置模块的配置,如图2.47(a)所示。采用Java后,浏览器的功能可动态扩展。在启动时,只是一个空的Java虚拟机,只含Java解释器,如图2.47(b)所示。其后,通过下载HTML和1-HTTP applet就能阅读标准Web页面。如果某单位或个人构思一种新的格式设计其页面,浏览器可自动加载解释该格式的applet,甚至尤需对该编码方式予先标准化。同样,如果某些应用需要采用特殊的协议,如银行交易需要专用的保密协议,也可通过applet动态下载该协议。这样,该浏览器运行一段时间后,就装备了各种协议和解码程序,如图2.47(c)所示。随时间推移,其功能不断扩展。
Java的浏览器结构特点
图2.47  基于Java的浏览器结构特点
        由于IP网络电话常常和Web应用结合在一起,用户需要在浏览时点击发出呼叫,或者在浏览时接受来话呼叫,这些都要求浏览器和服务器交换必要的信息,并执行某些判断和操作,因此CGI和Java技术在IP网络电话应用中具有重要的作用。
 
 
版权所有:IP电话:http://www.g3voip.com 转载请注明出处

热销IP电话产品hot products