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的变换变的很简单。
想得到更多的知识,请参看: