Velocity空间

快速构建JAVA应用
随笔 - 11, 文章 - 15, 评论 - 5, 引用 - 0
数据加载中……

CHAPTER 1 Web 开发基础

 

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

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

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

静态WEB页面

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

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

CGI介绍

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

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

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

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

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

printf(""r"n");

printf("<html><body>");

printf("<h1>Hello World!</h1>");

printf("</body></html>"n");

return(0);

}

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

Scripting: JSP/ASP/PHP

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

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

Listing 1.2 脚本语言示例

<HTML>

<HEAD>

<TITLE>Time Example</TITLE>

</HEAD>

<BODY>

The time is <?php time() ?>

</BODY>

</HTML>

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

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

未来的发展

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

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

<HTML>

<HEAD>

<TITLE>Test</TITLE>

</HEAD>

<%

ResultSet rs;

try {

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

connection = DriverManager.getConnection(

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

statement = connection.createStatement();

%>

<BODY>

</BODY>

</HTML>

Listing 1.3 Using Java in an HTML page.

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

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

本章小节和下章介绍

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

posted on 2008-10-11 22:43 KINGWEE 阅读(427) 评论(0)  编辑  收藏 所属分类: Velocity


只有注册用户登录后才能发表评论。


网站导航: