概述 本用戶指南為那些熱衷於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應用程序
那麼你可以去這裡看看
/toc
jsp
TARGET=_blank>New to Java
可能會給你很大幫助
HTTPHTML和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/
規范
HTTP Basic and Digest Authentication 規范
State Management Mechanism規范(Cookies)
HTTP請求響應周期 對於Web開發人員來說
對HTTP的最關心的就是HTTP的請求響應周期
使用HTTP提交一個請求
然後HTTP服務器(如Web服務器)返回一個響應
當我們進行Web開發設計時
我們設計成一個HTTP請求對應返回一個HTTP響應
Struts框架就是對這一周期進行抽象
而對我們來說更重要的是應該知道這一幕後發生的事情
如果你對HTTP請求響應周期並不熟悉
那麼我們強烈推薦你去讀一讀Java Web Services Tutorial中的HTTP Overview#
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著
如果你正在找一個服務器端框架那麼這兩頁可能對你有些幫助
和
JavaBeans 正像許多Java應用程序一樣
大多Struts對象也被設計為JavaBean
使用JavaBean設計模式使Struts類更易被Java開發人員和Java部署工具使用
JavaBan最初只是為可視化元素編程而創建的
現在這種對象設計模式已經被廣泛地應用到更多可重用組件的基礎設計中
如Struts框架
關於JavaBean更多知識
可參考
中的The JavaBeans Component Architecture document.tion和JavaBeans
Specification
The Java Tutorial中的 The JavaBean Trail
The Java Web Services Tutorial中的JavaBeans Components in JSP Pages
反射和內省機制
反射就是確定對象的哪個成員變量或方法是可用的一種處理機制
內省是JavaBean API使用的一種特殊形式的反射
使用內省我們可以知道JavaBean的哪些方法是可以被其他對象訪問的
Struts框架使用內省機制把HTTP參數轉換為JavaBean屬性和使用JavaBean屬性組裝HTML表單域
這項技術使在JavaBean和HTML表單域之間進行
雙向訪問
屬性更加簡單
關於反射和內省更多
請參考
The Reflection Trail
Chapter
of the JavaBeans API Specification
映射(Maps)
JavaBean通過使用屬性來存儲數據而在其他方法中操作這些數據
JavaBean是一個便捷而有強大的對象
但它不是編程人員用來存儲數據的對象唯一選擇
另外一個流行的對象就是映射(Map)[java
util
map]
一個映射就是一個簡單的名稱值對集合
映射常在
幕後
作為存儲動態數據的一種便捷方法
動態Bean(DynaBeans)
動態Bean集JavaBean的可擴展性和Map的靈活性於一身
我們知道即使要定義一個簡單的JavaBean
也要新建一個類
定義一個屬性變量
還有編寫每個屬性對應的兩個訪問方法(setXXX和getXXX)
而動態Bean則可以通過XML配置文件來定義屬性
動態Bean的虛擬屬性並不能像普通的Java方法一樣來調用
而是要通過組件使用反射(Reflection)和內省(introspection)機制來進行訪問
在Struts框架中
你可以使用動態Bean來描述一個HTML表單
這一個策略避免了我們要為一些簡單的表單域創建正式JavaBean子類
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28380.html