Java Web基础概述

 

Java提供了专门的工具来建立设计和重用关系:接口,它是对象接口的纯粹抽象。Interface
不仅仅只是达到极致的抽象类,由于它允许你通过创建某个可以向上转型到多个基类的类,
因此它也实现了类似于 C++“多重继承”的变体。

 
首先,内部类看起来似乎是一种简单的程序代码隐藏机制;你只需将类放置到其他类中。不
过,你将会获悉内部类不仅仅只是这些;它可以知晓外围类并能与之通信。你用内部类编写
的这种代码更优雅、更清晰。不过,它是一个全新的概念,需要花费一些时间才能习惯于用
内部类进行设计。

 

插件(Plug-in)

 

客户端编程所迈出的最重要的一步就是插件(plug-in)的开发。通过这种方式,程序员可以
下载一段代码,并将其插入到浏览器中适当的位置,以此来为浏览器添加新功能。它告诉浏
览器:从现在开始,你可以执行这个新行为了(你只需要下载一次插件即可)。某些更快更
强大的行为都是通过插件添加到服务器中的,但是编写插件并不是件轻松的事,也不像你希
望的那样成为构建某特定网站的过程中而作的事情。插件对于客户端编程的价值在于:它允
许专家级的程序员不需经过浏览器生产厂商的许可,就可以开发某种新语言,并将其添加到
服务器中。因此,插件提供了一个“后门(back door)”,使得可以创建新的客户端编程语言
(但是并不是所有的客户端编程语言都是以插件的形式实现的)

 

脚本语言(scripting language)

 

插件引发了脚本语言(scripting language)的大爆炸。通过使用某种脚本语言,你可以将客
户端程序的源代码直接嵌入到 HTML 页面中,解释这种语言的插件在 HTML 页面被显示时
自动激活。脚本语言先天就相当易于理解,因为它们只是作为 HTML 页面一部分的简单文
本,当服务器收到要获取该个页面的请求时,它们可以被快速加载。此方法的缺点是你的代
码会被暴露给任何人去浏览(或窃取)。但是,通常你不会使用脚本语言去做相当复杂的事
情,所以这个缺点并不太严重。

 

Java

 

如果脚本语言可以解决客户端编程百分之八十的问题的话,那么剩下那百分之二十(那才是
真正难啃的硬骨头)又该怎么办呢?Java 是处理它们最流行的解决方案。Java 不仅是一种
功能强大的、被构建为安全的、跨平台的、国际化的编程语言,而且它还在不断地被扩展,
以提供更多的语言功能,以及更多的能够优雅地处理在传统编程语言中很难解决的问题的类
库,例如多线程(multithreading)、数据库访问(database access)、网络编程(network
programming)和分布式计算(distributed computing)。Java 是通过 applet以及使用 Java Web
Start 来进行客户端编程的。MVC思想

 

Java Web Start

 

Java Web Start这个在服务器上理解:前期慢,加载后就变快了。

 

服务器端编程之与客户端编程

 

客户端编程

Web 最初的“服务器-浏览器”设计是为了能够提供交互性的内容,但是其交互性完全由服
务器提供。服务器产生静态页面,提供给只能解释并显示它们的客户端浏览器。基本的HTML
(HyperText Markup Language,超文本标记语言)包含有简单的数据收集机制:文本输入框
(text-entry box)、复选框(check box)、单选框(radio box)、列表(list)和下拉式列表
(drop-down list)等,以及只能被编程用来实现复位(reset)表单上的数据或提交(submit)
表单上的数据给服务器的按钮。这种提交动作传递给所有的 Web 服务器都提供的通用网关
接口(common gateway interface,CGI)。提交内容会告诉 CGI应该如何处理它。最常见的
动作就是运行一个在服务器中通常被命名为“cgi-bin”的目录下的一个程序。(当你点击了
网页上的按钮时,如果你观察你的浏览器窗口顶部的地址,有时你可以看见“cgi-bin”的字
样混迹在一串冗长不知所云的字符中。)几乎所有的语言都可以用来编写这些程序,Perl 已
经成为了最常见的选择,因为它被设计用来处理文本,并且解释型语言,因此无论服务器的
处理器和操作系统如何,它都可以被安装于其上。

 

服务器端编程

前面的讨论没有涉及服务器端编程的话题。当你产生了到服务器的请求后,会发生什么呢?
大部分时候,请求只是要求“给我发送一个文件”,之后浏览器会以某种适当的形式解释这
个文件,例如将其作为 HTML 页面、图片、Java applet 或脚本程序等来解释。更复杂的到
服务器的请求通常涉及数据库事务。常见的情形是复杂的数据库查询请求,然后服务器将结
果组装成为一个 HTML 页面发回给客户端。(当然,如果客户端通过 Java 或脚本程序具备
了更多的智能,那么服务器可以将原始的数据发回,然后在客户端组装,这样会更快,而且
服务器的负载将更小。)另一种常见情形是,当你要加入一个团体或下订单时,可能想在数
据库中注册你的名字,这将涉及对数据库的修改。这些数据库请求必须通过服务器端的某些
代码来处理,这就是所谓的服务器端编程。过去,服务器端编程都是通过使用 Perl、Python、
C++或其它某种语言来编写 CGI程序而实现的,这使得更加复杂的系统出现了。其中包括基
于Java的Web服务器,它让你用Java编写被称为Servlet的程序来实现服务器端编程

Servlet及其衍生物 JSP,是许多开发网站的公司迁移到 Java 上的两个主要的原因,尤其是

因为它们消除了处理具有不同能力的浏览器时所遇到的问题(这些话题在《企业 Java 编程

思想(Thinking in Enterprise Java)》一书中有论述)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值