被禁的好电影:CHAPTER 1 Web 开发基础 - Velocity空间 - BlogJava

来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 14:34:09

如果你还记得大约10年前的时候,或许你已经了解WWW起初是如何工作。Telnet和FTP是最早的沟通方式。虽然这些技术不能直接用于WEB,但他们的确是WWW的先驱。

很快,新的技术不断出现,使WEB开发变得越来越强大,本书主要探索最近几年才出现的WEB技术的一部分:向客户端提供动态数据显示。我们主要关注一个名叫Velocity的新技术。

在这一节里,我们将向你展现WEB开发历史的概览。

静态WEB页面

一切都是从静态页面开始的,静态页面只能呈现一些静态的内容,它不能从数据库或其他应用里提取数据。比较接近于“所见既所得”的表现方式。

静态页面最大的问题是不能提供动态内容,以满足不同用户的需要。随着WEB技术的发展,开始有了用于WEB开发的动态技术。

CGI介绍

CGI (Common Gateway Interface)公共网关接口对WEB开发有着重要的意义。于1993年开发出来, CGI 是第一个通过服务器后端处理后向客户提供动态信息的WEB开发技术。

在使用CGI的时候,应用的动作一般由高级语言书写,比如C,Perl或C++。CGI通过网页窗体的按钮事件获取用户输入,并返回最终结果给用户。

Listing 1.1 CGI示例(C语言书写)

int main(int argc, char* argv[]) {

printf("content-type: text/html"r"n");

printf(""r"n");

printf("");

printf("

Hello World!

");

printf(""n");

return(0);

}

因为CGI应用执行在WEB服务器端,安全性就非常重要。许多服务器需要CGI应用放置到文件夹/cgi-bin下。除此而外,服务器不允许执行任何程序。

Scripting: JSP/ASP/PHP

正如你所了解的一样,使用CGI和Perl或C++进行WEB开发对WEB设计者来说是非常困难的。也就是说WEB设计者只有完全掌握这些高级语言后才能进行WEB开发。

和这些高级语言不同的时,脚本语言通过解释程序执行,他们很容易学习并用于WEB程序开发。解释程序由高级语言编写,在HTTP服务器端加载,丢弃了CGI接口。脚本语言通过在HTML文档中嵌入语句和脚本语言关键字来向客户端递送动态信息。

Listing 1.2 脚本语言示例

Time Example

The time is

In Listing 1.2,我们增加了一些脚本用于显示当前时间。当用户浏览该页的时候,他们将通HTTP服务器得到当前时候。

嵌入脚本的页面虽然看起来像HTML页面。然后,其后缀不能是.html或.htm。只能是对应的后缀,比如:.jsp,.asp,.php等。这些扩展名非常重要,它主要是用于告诉服务器该页面是否需要进行服务器端处理。如果需要进行处理,解释程序将脚本代码进行后台运算,最后将运算结果以标准的HTML形式嵌入HTML文档中返回给客户。

未来的发展

当我们在讨论脚本语言的时候,你应该关注以下可用到的脚本语言——如JavaScript,Java,和ActiveX。Listing 1.3展现了一个用Java脚本写的HTML页面。

<%@ page language='java' import='java.sql.*' %>

Test

<%

ResultSet rs;

try {

Class.forName("com.mysql.jdbc.Driver");

connection = DriverManager.getConnection(

"jdbc:mysql://localhost/products");

statement = connection.createStatement();

%>

Listing 1.3 Using Java in an HTML page.

在HTML页面中嵌入Java脚本是为了让WEB站点具有动态处理的能力。你不仅需要了解Java,同时也需要了解在服务器端执行的Java代码是如何编写的。

我们讨论很多不同类型的动态页面技术,但他们都有一个共同点,就是将显示和商业逻辑混杂在一起。在下一节里,我们将讨论混杂编程是多么的令人头痛。

本章小节和下章介绍

这一章里,我们分析了WEB页面的开发历史。下一节,我们将讨论WEB开发的方法学,并且主要关注MVC模式。