当前页面位置: » 丰搜网 » 文档中心 » 详细内容
struts用户和开发指南(前言之一)
标题: struts用户和开发指南(前言之一)
原文: http://jakarta.apache.org/struts/userguide/preface.html
译者: javaduke
email: javaduke@263.net
qq:658155
msn: javaduke@hotmail.com
0. 前言:核心技术0.1概述 本用户指南为那些热衷于
web开发的人们和想用
java开发
web应用程序的人们而写。在开始阅读之前,你应该对以下这些核心技术的基础知识有所了解:
.http,
html和user agent;
.http请求响应周期;
.java语言和应用程序
框架;
.javabeans;
.属性文件和资源绑定;
.java servlet;
.jsp和
jsp标签库;
.xml语言;
本章只对这些核心技术做扼要的介绍而不做详尽的描述。为了大家的方便,我们提供给大家一些可以进一步了解它们的有用链接。
如果你已熟悉
java语言本身,而不了解这些技术,我们建议你应好好看看这本指南the
java web services tutorial。 这里可以下载到它的pdf版本。
如果你已经有开发其它平台的
web应用程序的经验,在这里你也可以找到你需要的资料。因为
struts用到的技术在其他的
java web产品也可能要用到,这些背景知识对任何一个
java项目都是有用的。
如果你对
java语言还是不太了解,那么我们建议你看看另一本指南
the
java tutorial。the
java tutorial和the
java web services tutarial内容可能有重叠的部分,最好结合起来看。
如果你想了解如何开发一般的
java应用程序,那么你可以去这里看看new to
java ,可能会给你很大帮助。
0.2 http,html和user agents 众所周知,互联网是建立在http协议和
html语言基础之上的。user agent就像
web浏览器一样使用http协议请求
html文档,然后浏览器负责把其格式化并显示给用户。传输使用的http协议,而
html是
web和
web应用程序使用的通用语言。
在进行
web应用程序开发时,一些
java程序员可能自己编写
html语言,而有的则会交给专门的页面设计人员来编写。
关于http,
html和user agents更多知识可参考以下资源:
.getting started with
htmldave raggett著;
.在
java web services tutorial中的http overview ;
.http/1.1规范;
.http basic and digest authentication 规范;
.state management mechanism规范(cookies);
0.3 http请求响应周期对于
web开发人员来说,对http的最关心的就是http的请求响应周期,使用http
提交一个请求,然后http
服务器(如
web服务器)返回一个响应。当我们进行
web开发设计时,我们设计成一个http请求对应返回一个http响应。
struts框架就是对这一周期进行抽象,而对我们来说更重要的是应该知道这一幕后发生的事情。
如果你对http请求响应周期并不熟悉,那么我们强烈推荐你去读一读
java web services tutorial中的http overviewhttp://
java.sun.com/
webservices/docs/1.0/tutorial/doc/http.
html#63796
0.4 java语言和应用程序框架struts框架是用时下最流行的万能编程语言(译者注:这么形容
java语言我觉得一点也
不为过)
java写成的。
java是面向对象的编程语言,
struts正是利用了它的面向对象这一技术。另外还有,
java自身对
线程的良好支持,可以在同一时刻执行多项任务。很好的理解
java语言,面向对象编程和
线程,对我们掌握
struts和使用本用户指南大有裨益。
学习
java语言和
线程可以参考以下资料:
.the
java tutorial之 learning the
java language ;
.the
java language tutorial之learning the threads之doing two or more tasks at once ;
即使你已经使用过
java和面向对象的编程,创建和使用应用程序
框架对你编程也是大
有帮助的。有关应用程序
框架的更多知识,可以参考下面两本白皮书:
. designing reusable classes ralph e. johnson 和brian foote著;
.object-oriented application frameworks mohamed fayad和douglas c. schmidt著;
如果你正在找一个
服务器端
框架那么这两页可能对你有些帮助:1和2
0.5 javabeans正像许多
java应用程序一样,大多
struts对象也被设计为
javabean。使用
javabean设
计
模式使
struts类更易被
java开发人员和
java部署工具使用。
javaban最初只是为可视化元素编程而创建的,现在这种对象设计
模式已经被广泛地应
用到更多可重用组件的基础设计中,如
struts框架。
关于
javabean更多知识,可参考:
.java.sun.com中的the
javabeans component architecture documentation和
javabeans 1.01 specification;
.the
java tutorial中的 the
javabean trail ;
.the
java web services tutorial中的
javabeans components in
jsp pages ;
0.5.1 反射和内省机制 反射就是确定对象的哪个成员变量或方法是可用的一种处理机制。内省是
javabean api使用的一种特殊形式的反射。使用内省我们可以知道
javabean的哪些方法是可以被其他对象访问的。
struts框架使用内省机制把http参数转换为
javabean属性和使用
javabean属性组装
html表单域。这项技术使在
javabean和
html表单域之间进行“双向访问”属性更加简单。
关于反射和内省更多,请参考:
. the reflection trail ;
.chapter 8 of the
javabeans api specification ;
0.5.2 映射(maps) javabean通过使用属性来存储数据而在其他方法中操作这些数据。
javabean是一个便捷而有强大的对象,但它不是编程人员用来存储数据的对象唯一选择。另外一个流行的对象就是映射(map)[
java.util.map]。一个映射就是一个简单的名称值对集合。映射常在“幕后”作为存储动态数据的一种便捷方法。
0.5.3 动态bean(dynabeans) 动态bean集
javabean的可扩展性和map的灵活性于一身。我们知道即使要定义一个简单的
javabean,也要新建一个类,定义一个属性变量,还有编写每个属性对应的两个访问方法(setxxx和getxxx)。而动态bean则可以通过
xml配置文件来定义属性,动态bean的虚拟属性并不能像普通的
java方法一样来调用,而是要通过组件使用反射(reflection)和内省(introspection)机制来进行访问。
在
struts框架中,你可以使用动态bean来描述一个
html表单。这一个策略避免了我们要为一些简单的表单域创建正式
javabean子类。
关于动态bean更多,请参考:
.jakarta commons项目的beanutils的package descriptionhttp://jakarta.apache.org/commons/beanutils/api/org/apache/commons/beanutils/package-summary.
html#package_description和
javadocs;
(待续……)