0. 前言:关键技术
0.1 基本要求
该用户向导是为熟练的web程序开发者而写,并假定你对java web应用程序开发有一定的了解。开始下面的内容之前,你需要了解以下几个方面的关键技术:
· http, html,用户代理
· http request/respons循环
· java语言和应用程序框架
· javabeans
· 属性文件和资源包
· java servlets
· javaserver pages 和jsp标签库
· extensible markup language(xml)
本章对以上的各种技术进行了简洁的说明,但不给出详细的叙述。如果你想要学习到更多的相关知识的话,可以查看知识的详细细节。
如果你对java非常熟悉,而其他知识很生疏,最好的起点就是sun公司的the java web services tutorial . 此文档还有 pdf 格式.
如果你以前在其他的平台下开发过web程序, 你可以试着看下去,别获取一些你需要的其他信息.struts中用到的关键技术在其他的java web开发产品中也被使用,所以本章的知识对其他的开发也会有帮助。
如果你对java语言不熟悉,那最好的起点就是 the java tutorial . 这与 java web services tutorial 在某一些地方有重叠,不过它们对你的开发是殊途同归.
想得到更多的开发信息,请看 new to java tutorial.
0.2 http, html 和 用户代理
国际互联网是建立在超文本传输协议(http)和超文本定义语言(html)基础上的. 用户代理,比喻说你的一个浏览器,用http去请求一个html文档. 然后浏览器格式化这个文档并显示给用户. http 被用来传输不仅仅是html,但html在web应用程序中应用最多.
在建立一个web应用程序的时候, 一些 java 开发者会去写他们自己的html. 而其他的一些人会把这工作留给页面设计师.
想得到http,html和用户代理的知识,请看:
· getting started with html 作者 dave raggett
· http overview 在 java web services tutorial.
· http/1.1 规格说明书
· http basic and digest authentication 规格说明书
· state management mechanism 规格说书 (cookies)
0.3 http请求/应答 循环
对web开发者来说,http很重要的一部分就是请求/应答 循环。为了使用http,你必须发出一个请求。一个http服务器,比方说一个web服务器,会被强迫应答。当你构建一个web应用程序的时候,你设计它为了得到一个应答而发起一个请求。像struts这样的框架抽象了很多其中的细节,不过让你了解其中的背景也是很有意义的。
如果你对 http 请求/应答循环不是很了解,我们强烈的建议你去看 http overview 在 java web services tutorial.
0.4 java语言和应用程序框架
struts是用流行和通用的java语言编写。( java programming language.) java是一种面向对象的语言,同时 struts使用了很多面向对象的技术。 并且, java 天生地就支持可以让多余一个任务在同一时间执行的线程的概念。对java,特别是对面向对象编程和线程的理解,会帮助你很好的理解struts和此用户向导.
要得到更多的java和thread的知识,请查看:
· learning the java language 在 java tutorial 里
· threads: doing two or more tasks at once 在 java language tutorial 里
即使你在以前使用过java和oop(面向对象编程),意识到要创建和使用应用程序框架的挑战也是很有好处的。
想要得到更多的关于应用程序框架的知识,请查看
designing reusable classes 作者 ralph e. johnson & brian foote
object-oriented application frameworks 作者mohamed fayad and douglas c. schmidt
0.5 javabeans
像其他的许多java应用程序一样,大部分struts对象都被设计为 javabeans. 遵循javabeans的设计规则使得struts类无论是被java开发者还是java开发环境使用都很容易.
虽然javabeans 最初是为了可视化元素设计,但是那些对象设计方式已经被证明对任何的可复用组件都有用处,像那些在struts框架中使用的一样。
想获得更多的关于javabeans的知识,请查看:
· the javabeans component architecture documentation
· the javabean trail 在 java tutorial里
· javabeans components in jsp pages 在 java web services tutorial里
0.5.1 反射和内省
反射是判断哪个成员和方法对一个对象是有效的过程。内省是被javabean使用的反射的一个特定表格。使用内省,我们可以知道一个javabean的哪个方法被另一个对象所期望调用。(例如getter和setter方法)
struts 框架使用内省来把http 参数转换成javabean属性和从javabean属性文件变成html字段。这项技术使从html 表单到javabean的变换变的很简单。
想得到更多的知识,请参看:
· the reflection trail
chapter 8 of the javabeans api specification
