随着计算机和互联网技术的发展,固定不变的网页已不能满足人们的需求,在这种情况下实现人机交互的动态网页就显的尤为迫切。但由于Web服务器不具有产生动态的HTML文件的能力,只好借助于外部应用程序的帮助,Web服务器与外部应用程序的接口被称为CGI(Common Gateway Interface)通用网关接口,而外部应用程序又称为CGI程序。这种人机交互的动态网页具有以下优点: (1)读者可与Web服务器进行交互; (2)可实现数据库的查询; (3)可以与HTML以外的文件进行交互; (4)可缩短查询时间,提高浏览效率。 1、生成动态网页的步骤 CGI网关接口接口是HTML文件与Web服务器之间的接口程序,它的主要作用是负责处理HTML文件与运行在Web服务器中的程序之间的接口。CGI程序是集成与HTTPD之中的,通常情况下,当安装了HTTPD之后CGI程序就存在于Web服务器中了。产生动态网页的过程大致是这样的: (1) 用户在浏览器中提出数据或查询条件的请求,并执行“提交”后,便将请求信息发送到网上相应的Web服务器上; (2) Web服务器收到这一请求便激活一个CGI程序(程序是驻留在Web服务器上的一个程序); (3) CGI程序调用该服务器下的所有程序或数据库,并完成读者需要的任务,同时将处理结果送回CGI网关接口; (4) 网关接口程序又将其结果转换成该服务器能识别的HTML 文件格式,并确定CGI返回文档的类型; (5) Web服务器将其结果送回浏览器中,浏览器进行数据处理并显示结果。
2、使用表单技术实现人机交互 在Web中实现人机交互主要使用表单(FORM)来标识,FORM与CGI程序一起共同完成用户与Web服务器之间的交互,它主要完成两个功能:一是指定CGI的路径和名称;二是将读者从浏览器中输入的信息送给CGI。表单中经常使用的HTML标记包括:FORM(在文档中产生表单,指明表单的开始和结束)、INPUT(在文档中输入多种类型的字段,其类型由TYPE属性设置,常见的类型包括单选按钮.复选框和文本等)、SELECT(定义用于选择的项目,它可以产生我们经常使用的列表框)、OPTION(SELECT标记内包含的选项)、TEXTAREA(允许用户输入多行内容的字段)。 我们通过<FORM>…</FORM>标识建立一个信息输入提示区。该标识有两个属性:一个属性指明其CGI的路径和程序名;另一个说明读者输入信息给Web服务器的数据传输方式。前者使用<FORM ACTION=‘…’>格式,后者使用<FORM METHOD=‘POST/GET’>格式,其中POST指明将FORM输入的信息进行包装,CGI程序中通过CONTENT-LENGTH环境变量决定输入信息的长度,再从标准输入中将其读出。GET指明将FORM输入信息作为字符串附加在ACTION所设定的URL后面,中间用“?”隔开。CGI程序可以用QUERY-STRING环境变量去取得FORM传送的输入信息。 使用<INPUT>标识就可完成一般的信息输入,在INPUT中一共有七种类型,它们分别是TYPE、PASSWORD、RADIO、CHECKBOX、SUBMIT、RESET、HIDDEN类型。TYPE类型允许用户在窗口中手动输入信息;PASSWORD方式用于口令输入,不显示输入数据;RADIO通常称为“无线按钮”,当使用该类型时,在屏上出现了多个按钮供选择使用;CHECKBOX可使得输入信息可以具有多选钮的方式进行数据传送;SUBMIT可在屏幕上产生一个具有“提交”功能的按钮,它是FORM中必不可少的;RESET可使用户输入的数据被清除,以重新输入数据;HIDDEN类型使FORM窗口隐藏。 也可通过<SELECT>…</SELECT>标识设置一个下拉菜单或带有滚动条的菜单项。在SELECT标识中,一共有三个属性:NAME(提交时的名字)、SIZE(同时显示菜单中的选项条数)、MALTIPLE(允许使用者一次选多个选项)。其基本格式为: <Form …> <Select size=number multiple> <Option>第一项 <Option>第二项 <Option>第三项 </Select> 使用<TEXAREA>…</TEXTAREA>标识可使的交互的窗口可以出现多行多列进行数据输入,同样该标识也有三个属性:NAME(提交用的名字)、ROWS(行数)、COLS(列数)。 3、使用举例 以下程序是一个使用表单进行用户信息调查的例子: <HTML> <Head> <Title>西安博通公司招聘广告 </Title> <Body> <Center>西安博通公司招聘广告</Center> <Form Method=post Action=“http://www.xabt.com/getmail”> 本公司是一家从事通讯工程软件开发的高科技公司,现根据业务 发展需要,招聘软件设计人员两名、系统工程师三名,有意者请 在表单内填写你的基本情况。<P> 姓名:<Input Type=“Text” Name=“name” size=8> 年龄:<Input Type=“Text” Name=“age” size=8> 专业:<Input Type=“Text” Name=“speciality” size=8> 学历:<Select Name=“education”> <Option selected>大学 <Option>硕士 <Option>博士 <Option>大专 <Option>中专 <Option>高中 </select> 性别:<Input Type=“radio” Name=“sex”checked>男 <Input Type=“radio” Name=“sex”>女 <p> 婚姻状况:<Input Type=“radio” Name=“MRY” checked > 未婚 <Input Type=“radio” Name=“MRY”> 已婚 <p> 联系电话:<Input Type=“Text” Name=“call” Size=12> E-mail:<Input Type=“Text” Name=“email” maxlength=20> </Form> <Form Enctype=“multipartform-date”Action=“http://www.xabt. com/getmail”> 您的特长及工作经历:<Input Type=“file” Name=“file”> <P> 为了保密请设置您的个人密码:<Input Type=“password” Name=“t1”> <P> <Input Type=“Submit” Value=“提交”> <Input Type=“Reset” Value=“重置”> </P> </Form> </Body> </HTML> 4、结束语 本文简要介绍了在Web网页中进行人机交互的方法和步骤,给出了交互网页设计时所使用的HTML语句规则和使用示例,对人机交互的网页设计有一定的帮助。 |