随着Internet/Intranet应用普及,越来越多的用户在设计上采用Client/Server结构,建立自己的Internet/Intranet应用。客户端程序负责向Web服务器发送请求,并负责从Web服务器接受和解释显示超文本。如果要生成动态、 交互式Web页面,就必须通过公共网关接口(CGI),CGI程序可采用Perl,C++,JavaScript等编写,而目前流行的方法是采用Java或JavaScript。
一、JavaScript简介
JavaScript是个脚本编程语言,好处在于它既适用于客户端应用,又可用于服务器端应用开发。例如,在客户端它可用于编写Web浏览器程序,而在服务器中,它可用于编写处理Web浏览器提交的信息,并相应地更新浏览器显示的Web服务器程序。尽管JavaScript能满足一些服务器方编程需求,但还需要一些服务器方程序来支持更高级的Web应用程序。例如,访问数据库或进行特殊处理。为此,Netscape公司专门提供了开发JavaScript服务器程序的集成环境Livewire。
二、Livewire简介
Livewire是个WEB应用程序开发环境,在Windows NT4.0系统下安装Netscape Fast track就可使用它。Livewire可用来开发浏览器和服务器方的Web应用程序。从而在服务器方可替代原来需要的CGI程序。Livewire和Netscape服务器可以从Netscape的Web站点http://home.Netscape.com下载(30天免费试用)。
三、服务器方JavaScript编程
服务器方JavaScript程序是用Livewire开发的,具体编程步骤如下:
1、用客户机方JavaScript和服务器方JavaScript嵌入HTML中创建源文件。
2、用Livewire编译器将源文件编译成.WEB文件。
服务器方JavaScript为了和客户机方JavaScript区别,提供了4种对象,request,client,project和server。
下面,我们就可以开发一些程序了,首先,以一个简单的例子向大家介绍开发过程:
学生.htm 提供学生注册登记表,让学生填写。
Process.htm 处理学生在学生.htm注册登记表中输入的数
据,将客户机方与服务器方JavaScript联合起
来显示学生登记表,并提交给display.htm。
display.htm 显示学生.htm和process.htm收集的数据,并
存放在client属性中。
record.htm 将学生登记表计入文件student.txt中。
程序附后:
学生.htm
以下是引用片段:
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=gb_2312-80">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
<title>学生情况登记</title>
</head>
<p align="center"><font size="5">Welcome to computer center</font></p>
<form action="process.htm">
</form>
<p><font color="#00FF40" size="4">请输入学号:</font></p>
<form method="POST">
<p><input type="text" size="13" name="T1"> <input
type="submit" value="Continue"> </p>
</form>
</body>
</html>
Process.htm
以下是引用片段:
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=gb_2312-80">
<title></title>
</head>
<body bgcolor="#808080">
<SERVER>
<p>client.t1=request.t1
write("<script language="javaScript">")
write("</SCRIPT>")
</SERVER>
</body>
</html>
</script></p>
<p align="center"><font color="#FFFF00" size="5">学生情况登记</font></p>
<form action="display.htm">
姓名 <input type="text" size="14" name="Name">
性别 <input type="text" size="7" name="Sex">
出生年月<input type="text" size="30" name="Birth">
家庭住址<input type="text" size="11" name="Address">
邮政编码<input type="text" size="11" name="Zip">
电话号码<input type="text" size="11" name="Tel">
</p>
</form>
</body>
</html>
display.htm
以下是引用片段:
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=gb_2312-80">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
<title>client.</title>
</head>
<body bgcolor="#FFFFFF">
<SERVER>
<p>client.Name=request.Name
client.Sex=request.Sex
client.Birth=request.Birth
client.Address=request.Address
client.Zip=request.Zip
client.Tel=request.Tel </p>
<p>write(client.Name+"
")
write(client.Birth+"
")
write(client.Address+"
")
write(client.Zip+"
")
write(client.Tel+"
")
</SERVER> </p>
<form action="finish.htm">
<p><input type="submit" value="继续"> </p>
</form>
</body>
</html>
record.htm
以下是引用片段:
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=gb_2312-80">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
<title>f=</title>
</head>
<body bgcolor="#FFFFFF">
<SERVER>
<p>f=new file("student.txt")
f.open("a")
f.writeln(client.Name)
f.writeln(client.Sex)
f.writeln(client.Birth)
f.writeln(client.Address)
f.writeln(client.Zip)
f.writeln(client.Tel)
f.close() </p>
</SERVER></body>
</html>