荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Peter (小飞侠), 信区: Program
标  题: 利用JavaScript开发Web应用
发信站: BBS 荔园晨风站 (Thu Jan 21 22:42:59 1999), 转信


WWW(World Wide Web)是全球范围内可共享访问的信息空间。随着We
b技术的发展,使用要求的提高,传统的静态Web页面已满足不了用户的
需求。建立Web站点时应着重考虑动态、交互式Web页面、Web与数据
库集成等问题。Web动态页面的制作,传统方法采用CGI编程,而a va及
JavaScript是目前流行的方法;Web信息与数据库的关联,可采用Java
、JavaScript、SA PI、ISAPI等方法来实现。
    本文介绍如何利用JavaScript完成上述工作。
    JavaScript简介
    JavaScript是Netscape公司推出的一种跨平台、基于对象的脚本
语言。它既适用于客户端应用,又可用于服务器端应用开发。

    1、客户端JavaScript
    当客户端,如Navigator,通过网络请求服务器发送页面时,包括HT
ML文档和JavaScript语句,Navigator解释嵌入在HTML中的JavaScript
语句,然后显示HTML页面,并执行JavaScript语句。客户端嵌入HTML页
面的JavaScript语句响应用户的事件。不需任何网络传输,嵌有JavS
cript的HTML页面能够检查输入的数据,并能通过对话框与用户交互。
    2、服务器端JavaScript
    Nestcape公司的LiveWire是一应用开发环境,可用于服务器端Jav
aScript开发。LiveWr eJavaScript应用被编译成可执行文件字节码,
这些可执行的应用在与LiveWire的服务器关联时执行。LiveWire是服
务器扩展,可动态生成HTML页面。服务器然后通过网络将这一HTM页面
(包括客户端JavaScript)语句发送给浏览器来显示结果。如图1所示
。图1
    与标准CGI程序相比,LiveWire JavaScript直接与HTML页面集成,
开发方便、快捷,而且易于维护。LiveWire包含一对象框架,用户使用
它可以处理多个客户和多个应用,而且提供数据库访问的对象和方法,
使之成为与SQL数据库服务器的接口。
    客户端应用开发
    客户端应用指的是JavaScript语句在客户端浏览器解释执行。利
用JavaScript可以增强HTML,在Web页面上加入动态交互信息。进行客
户端应用开发,首先要了解浏览器内置对象及其层次关系,如图2所示

图2
    JavaScript语句可嵌入HTML文件中的任何地方,用标记括起来。
使用JavaScript处理静态HTML页面只需引用Document对象,而动态交
互处理通过内置对象来建立新对象编程。下面以通过Web页面提交数
据为例,介绍JavaScript的应用。本例利用Navigator的内置Form对象
编程处理。若将一组数据回显给用户,可如下实现:
    function initArray(n){this.length=n;
    for(var i=1;i<=this.length;i++)this[i]=0;
    return this;}function send(FormObject){msg=open("","Disp
laywindows","toolbr =yes,directories=no,menubar=yes,scrollba
rs=yes,status=yes,location=yes");
    msg.document.write("<head><TITLE>Your address</TITLE></h
ead>");
    msg.document.write("<body>");
    var yourAddress=new init Array(6);
    your Addreess[1]="Name";
    yourAddress[2]="Email";
    your Address[3]="Tel";
    your Address[4]="FAX";
    yourAddress[5]="Address";
    yourAddress[6]="Post";
    msg.document.write("<center><h2>Your Address</h2></cente
r><br><p>");
    msg.document.write("<address><font size=+2>");
    for(var i=1;i<=7;i++)msg.document.write(your Address[i]+
":"+FormObject.elee nts[i-1].value);
    msg.document.write("</address></font><p><br>");
    msg.document.write("Return to<A HREF=‘Your URL/’>homep
age</A>");
    msg.document.write("<p><br></body>");

    服务器应用开发
    Netscape的Enterprise Server支持服务器端JavaScript。服务
器端JavaScript是在服务器端解释执行;与客户端区别,用<Server>和
</Server>标出服务器端JavaScript语句的开始和结束。服务器端Jav
aScript应用开发是利用大量服务器端的对象,例如File、Blob、Dt e
、Connection、Cursor等。在Enterprsie Server 3.0中又加入了新
的对象,如SendMail、Lock、DbPool、Stproc、Resultset等。例如在
服务器端使用SendMail对象:
    mailObj=new SendMail();
    mailObj.To="smith@sei.xidian.edu.cn";
    mailObj.From="Server@sei.xidian.edu.cn";
    mailObj.Subject="Say Hello";
    mailObj.Body="Hello World!";
    mailObj.send();
    if(mailObj.errorcode()!=0){erroMsg=mailObj.errorMessage(
);}下面仍以客户通过Web页面进行Form数据提交为例,说明在服务器
端如何使用JavaScript来将Form中输入的信息作为一个记录添加到数
据库中。
    <html><head><title>Alumni Add</title></head><body><serve
r>var error=0;
    var alumni=database.cursor("select * from Alumni",true);
    alumni.aluName=request.Name;
    alumni.aluEmail=request.Email;
    alumni.aluPhone=request.Phone;
    alumni.aluFax=request.Fax;
    alumni.aluAddress=request.Address;
    alumni.aluPostcode=parseInt(request.Postcode);
    error=alumni.insertRow("alumni");
    write("<p>New Alumni succefully added");
    </server><p><a href="homepage.html">Return to Homepage</
a></body></html>按下提交按钮,该程序在数据库中输入信息,并给用
户传回数据区已成功加入的答复信息,用户可由此返回主页

--
※ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 192.168.1.3]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店