目前,
国内外信息化建设已经进入基于
Web
应用为核心的阶段,
Java
作为应用于网络的最好语言,前景无限看好。然而,就算用
Java
建造一个不是很烦琐的
web
应用,也不是件轻松的事情。概括一下,实施
Java
的
WEB
项目需要掌握的技术如下:
--Java
语言
--
面向对象分析设计思想
--
设计模式和框架结构
--XML
语言
--
网页脚本语言
--
数据库
--
应用服务器
--
集成开发环境
下面我们具体地看每个技术
.
1、Java语言
Java
语言体系比较庞大,包括多个模块。从
WEB
项目应用角度讲有
JSP
、
Servlet
、
JDBC
、
JavaBean(Application)
四部分技术。
(1)、Java Database Connectivity (JDBC)技术
在
Java Web
应用开发中,数据库管理系统(
RDBMS
)的使用是不可缺少的。
JDBC(Java Database Connectivity)
是一种用于执行
SQL
语句的
Java API
。它由一组用
Java
编程语言编写的类和接口组成。
JDBC
为工具
/
数据库开发人员提供了一个标准的
API
,使他们能够用纯
Java API
来编写数据库应用程序。
简单地说,
JDBC
可做三件事:
--
与数据库建立连接,
--
发送
SQL
语句,
--
处理结果。
(2)、Servlet技术
Servlet
是运行在服务器端的程序,可以被认为是服务器端的
applet
。
servlet
被
Web
服务器(例如
Tomcat
)加载和执行,就如同
applet
被浏览器加载和执行一样。
servlet
从客户端
(
通过
Web
服务器
)
接收请求,执行某种操作,然后返回结果。
Servlet
的主要优点包括
Servlet
是持久的。
servlet
只需
Web
服务器加载一次,而且可以在不同请求之间保持服务
(
例如一次数据库连接
)
。
Servlet
是与平台无关的。如前所述,
servlet
是用
Java
编写的,它自然也继承了
Java
的平台无关性。
Servlet
是可扩展的。由于
servlet
是用
Java
编写的,它就具备了
Java
所能带来的所有优点。
Java
是健壮的、面向对象的编程语言,它很容易扩展以适应你的需求。
servlet
自然也具备了这些特征。
Servlet
是安全的。从外界调用一个
servlet
的惟一方法就是通过
Web
服务器。这提供了高水平的安全性保障,尤其是在你的
Web
服务器有防火墙保护的时候。
Servlet
可以在多种多样的客户机上使用。由于
servlet
是用
Java
编写的,所以你可以很方便地在
HTML
中使用它们。
(3)、JavaServer Pages(JSP) 技术
JSP
是从
Servlet
上分离出来的一小部分,简化了开发,加强了界面设计。
JSP
定位在交互网页的开发。运用
Java
语法,但功能较
Servlet
弱了很多,并且高级开发中只充当用户界面部分。
JSP
容器收到客户端发出的请求时,首先执行其中的程序片段,然后将执行结果以
HTML
格式响应给客户端。其中程序片段可以是:操作数据库、重新定向网页以及发送
E-Mail
等等,这些都是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,与客户端的浏览器无关,因此,
JSP
称为
Server-Side Language
。
JavaServer Pages
的主要优点包括:
●
一次编写,各处执行
(Write Once, Run Anywhere)
特性
作为
Java
平台的一部分,
JavaServer Pages
技术拥有
Java
语言
“
一次编写,各处执行
”
的特点。随着越来越多的供货商将
JavaServer Pages
技术添加到他们的产品中,您可以针对自己公司的需求,做出审慎评估后,选择符合公司成本及规模的服务器,假若未来的需求有所变更时,更换服务器平台并不影响之前所投下的成本、人力所开发的应用程序。
●
搭配可重复使用的组件
JavaServer Pages
技术可依赖于重复使用跨平台的组件(如:
JavaBean
或
Enterprise JavaBean
组件)来执行更复杂的运算、数据处理。开发人员能够共享开发完成的组件,或者能够加强这些组件的功能,让更多用户或是客户团体使用。基于善加利用组件的方法,可以加快整体开发过程,也大大降低公司的开发成本和人力。
●
采用标签化页面开发
Web
网页开发人员不一定都是熟悉
Java
语言的程序员。因此,
JSP
技术能够将许多功能封装起来,成为一个自定义的标签,这些功能是完全根据
XML
的标准来制订的,即
JSP
技术中的标签库
(Tag Library)
。因此,
Web
页面开发人员可以运用自定义好的标签来达成工作需求,而无须再写复杂的
Java
语法,让
Web
页面开发人员亦能快速开发出一动态内容网页。
今后,第三方开发人员和其他人员可以为常用功能建立自己的标签库,让
Web
网页开发人员能够使用熟悉的开发工具,如同
HTML
一样的标签语法来执行特定功能的工作。
● N-tier
企业应用架构的支持
有鉴于网际网络的发展,为因应未来服务越来越繁杂的要求,且不再受地域的限制,因此,
必须放弃以往
Client-Server
的
Two-tier
架构,进而转向更具威力、弹性的分散性对象系统。由于
JavaServer Page
技术是
Java 2 Platform Enterprise Edition (J2EE)
集成中的一部分,它主要是负责前端显示经过复杂运算后之结果内容,而分散性的对象系统则是主要依赖
EJB ( Enterprise JavaBean )
和
JNDI ( Java Naming and Directory Interface )
构建而成。
(4)、JavaBean(Application)应用组件技术
Application是
Java
应用程序,在
WEB
项目和一些开发中主要应用
JavaBean
。它就是
Application
的一部分,逻辑运算能力很强,能极大的发挥
Java
语言的优点。
JavaBean
被称为是
Java
组件技术的核心。
JavaBean
的结构必须满足一定的命名约定。
JavaBean
能提供常用功能并且可以重复使用,这使得开发人员可以把某些关键功能和核心算法提取出来封装成为一个组件对象,这样就增加了代码的重用率和系统的安全性。
高级的
WEB
项目会应用到以上所有技术,它们之间联合使用和协作开发会提高开发的效率和系统的性能。
2、面向对象分析设计思想
Java
语言是完全面向对象的语言,所以在项目设计时会有很大的帮助,在设计时应尽量舍弃以往的面向过程的设计方式。
在分析项目业务关系的时候,应用一些
UML(Unified Modeling Language)
图
,
例如常用的用例图
(use case diagram)
,类图
(class diagram)
,时序图
(sequence diagram)
等等
,
会有很大的帮助,这样能尽快找出业务逻辑主要面对的对象,然后对每个对象进行行为划分,最后再实现对象之间的集成和通信。
3、设计模式和框架结构
Java
从语言角度来讲不是很难,但是从整体设计角度来讲我们还需要了解一些高级应用框架。如果要设计一个良好的框架结构,单单只掌握
Java
语言远远不够。这就涉及到一个设计模式,还有和设计模式相关的一些知识。
设计模式在
Java
项目实施过程更是重中之重。主要在与两层的设计模式、三层的设计模式和N层的设计模式。它直接决定着项目的应用、部署和实际开发设计。
在普通的
WEB
项目中很多采用两层的开发结构。
JSP+Servlet
或
JSP+JavaBean
。当对开发要求高的项目中使用很多的还是
MVC
的三层开发结构,也就是
JSP+Servlet+JavaBean
。它能分有效的分离逻辑开发,使开发人员能专注于各自的开发。同时也能时整个开发结构流程更清晰,但是需要比较高的开发配合度。
在项目中,我们经常使用著名的
Model-View-Controller(MVC)
架构。
MVC
架构是随着
smalltalk language
语言的发展提出的,它是一个著名的用户界面设计架构。经典的
MVC
架构把一个组件(可认为是整个应用程序的一个模块)划分成三部分组
Model
管理这个模块中所用到的数据和业务逻辑。而
View
管理模块如何显示给用户,
Controller
决定如何处理用户和该模块交互式时候产生的事件
如用户点击一个按钮等。
4、XML语言
在服务器和设计模式结构中会应用到自定义文件,而且在应用高级设计时也会定义自用的标签,现在流行的是用
XML
去定义配置,所以
XML
语言应该有一定掌握。
当前,
Java 2
平台企业版(
J2EE
)架构在厂商市场和开发者社区中倍受推崇。作为一种工具,可扩展标记语言(
XML
)简化了数据交换、进程间消息交换这一类的事情,因而对开发者逐渐变得有吸引力,并开始流行起来。自然,在
J2EE
架构中访问或集成
XML
解决方案的想法也很诱人。因为这将是强大系统架构同高度灵活的数据管理方案的结合。
XML
的应用似乎是无穷无尽的,但它们大致上可以分为三大类:
1、简单数据的表示和交换(针对
XML
的简单
API
(
SAX
)和文档对象模型(
DOM
)语法解析,不同的文档类型定义(
DTDs
)和概要(
schemas
))
2、用户界面相关、表示相关的上下文(可扩展样式表语言(
XSL
),可扩展样式表语言转换(
XSLT
))
3、面向消息的计算(
XML-RPC
(远程过程调用),基于
SOAP
协议的
Web
服务(
Web Services
),电子化业务
XML
(
ebXML
))
5、网页脚本语言
为了提高
WEB
项目的整体性能,提高人机交互的友好界面,网页的脚本语言是很有用处的,有的时候可以解决很大的难题或提高程序的性能和应用性。
网页脚本语言的执行都是在客户端执行的,速度很很快,并且大多的操作与服务器没有交互运算,所以在一些应用中非常理想。在设计
WEB
项目的应用中,网页的脚本语言起着不能忽视的作用,所以如果设计
WEB
项目的应用中,对
JavaScript
应有一定的了解。
JavaScript
是一种基于对象
(Object Based)
和事件驱动
(Event Driven)
并具有安全性能(
Secure
)的脚本语言。使用它的目的是与
HTML
超文本标记语言、
Java
脚本语言(
Java
小程序)一起实现在一个
Web
页面中链接多个对象,与
Web
客户交互作用。从而可以开发客户端的应用程序等。它是通过嵌入或调入在标准的
HTML
语言中实现的。它具有以下几个基本特点:
1.
它是一种脚本编写语言
JavaScript是一种脚本语言,它采用小程序段的方式实现编程。像其它脚本语言一样
,JavaScript
同样已是一种解释性语言
,
它提供了一个易的开发过程。
它的基本结构形式与
C
、
C++
、
VB
十分类似。但它不像这些语言一样,需要先编译,而是在程序运行过程中被逐行地解释。它与
HTML
标识结合在一起,从而方便用户的使用操作。
2.
基于对象的语言。
JavaScript
是一种基于对象的语言,同时以可以看作一种面向对象的。这意味着它能运用自己已经创建的对象。因此,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。
3.
简单性
JavaScript的简单性主要体现在:首先它是一种基于
Java
基本语句和控制流之上的简单而紧凑的设计
,
从而对于学习
Java
是一种非常好的过渡。其次它的变量类型是采用弱类型,并未使用严格的数据类型。
4.
安全性
JavaScript
是一种安全性语言,它不允许访问本地的硬盘,并不能将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。从而有效地防止数据的丢失。
5.
动态性
JavaScript是动态的,它可以直接对用户或客户输入做出响应,无须经过
Web
服务程序。它对用户的响应,是采用以事件驱动的方式进行的。所谓事件驱动,就是指在主页
(Home Page)
中执行了某种操作所产生的动作,就称为
“
事件
”(Event)
。比如按下鼠标、移动窗口、选择菜单等都可以视为事件。当事件发生后,可能会引起相应的事件响应。
6、开发工具
(1)、数据库
在主要的应用中,数据库相关的环节应用很多,所以对数据库应该有一定了解。不能单单只了解一种数据库,因为在很多实际开发中会提出很多数据库解决方案,所以只有在了解多种数据库的情况下才能有一个比较方案。
对于数据库应该了解他的性能和一些基本的操作常识,还有该数据库的特点。而针对与
Java
语言
WEB
项目的数据库开发则主要是对
JDBC
的应用,还有数据库事务处理和连接池等高级概念的应用。
(2)、Web服务器
同数据库一样,应该了解该服务器的性能,特点和一些常识。在应用方面,
Web
服务器主要是针对于配置和部署,对目录的配置,调试;对配置文件属性的修改;对访问权限和并发性的控制;
Java
类的部署等。
(3)、集成开发环境(IDE)
“
公欲善其事,
必先利其器
”.
对于
Web
应用开发人员来讲,好的集成开发环境(
IDE
:
Integrated Development Enviroment
)是非常重要的。目前在市场上占主导位置的一个集成开发工具就是
Eclipse.