选择显示字体大小

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
        .jspjsp标签库;
        .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协议,而htmlwebweb应用程序使用的通用语言。
        在进行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;
(待续……)


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons