搜尋
首頁Javajava教程Struts使用者與開髮指南(前言之一)


  0.1概述
  本使用者指南為那些熱衷於Web開發的人們和想用java開發Web應用程式的人們而寫。在開始閱讀之前,你應該對以下這些核心技術的基礎知識有所了解:
  .HTTP,Html和User Agent;
  .HTTP請求響應週期;
  .Java語言和應用程式框架;屬性檔案與資源綁定;
  .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應用程序,那麼你可以去這裡看看http://developer.java.sun.com/developer/onlineTraining/new2java/divelog/part1/toc.jsp' TARGET=_blank> New to Java ,可能會給你很大幫助。
  
  0.2 HTTP,HTML和User Agents
  眾所周知,互聯網是建立在HTTP協定和HTML語言基礎之上的。 User Agent就像Web瀏覽器一樣使用HTTP協定請求HTML文檔,然後瀏覽器負責格式化並顯示給使用者。傳輸使用的HTTP協議,而HTML是Web和Web應用程式使用的通用語言。
  在進行網頁應用程式開發時,有些Java程式設計師可能會自己寫HTML語言,而有的則會交給專門的頁面設計人員來撰寫。
  關於HTTP,HTML和User Agents更多知識可參考以下資源:
  .Getting started with HTMLDave Raggett著;
  .在Java Web Services Tutorial中的HTTP Over ;
  .在Java Web Services Tutorial中的HTTP Over ;
  .在Java Web Services.HT.HTTP -HTTPSTP 外TP 1.HT.HTTHT.HTTPP.HTTP(HHT); Authentication 規範;
  .State Management Mechanism規範(Cookies);
  0.3 HTTP請求響應週期
  對於Web開發人員來說,對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框架是用時下最流行的萬能程式語言(譯者註:這麼形容JavaJava我覺得一點也寫的。 Java是物件導向的程式語言,Struts正是利用了它的物件導向這項技術。另外還有,Java自身對執行緒的良好支持,可以在同一時刻執行多項任務。很好的理解Java語言,物件導向程式設計和線程,對我們掌握Struts和使用本使用者指南大有裨益。
  學習Java語言和執行緒可以參考以下資料:
  .The Java Tutorial之Learning the Java Language ;
  .The Java Language Tutorial之Learning the ThreadsDoing Two or Moreasks Atnces Tutorial之Learning the Threads〕 Two or Moreasks Atdor Moreask?物件的編程,創建和使用應用程式框架對你編程也是大有幫助的。有關應用程式框架的更多知識,可以參考下面兩本白皮書:
  . Designing Reusable Classes Ralph E. Johnson 和Brian Foote著;
  .Object-Oriented lication Frameworksworksd和Amidt一個伺服器端框架那麼這兩頁可能對你有些幫助:1和2
  
  0.5 JavaBeans
  正像許多Java應用程式一樣,大多Struts物件也被設計為JavaBean。使用JavaBean設計模式使Struts類別更易被Java開發人員和Java部署工具使用。
  JavaBan最初只是為視覺化元素程式設計而創建的,現在這種物件設計模式已經被廣泛地應用到更多可重用元件的基礎設計中,如Struts框架。
  關於JavaBean更多知識,可參考:
  .java.sun.com中的The JavaBeans Component Architecture document. tion和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 ;
 〔〜.5.2 映射資料來使用其他方法(Mapo〜 〜〜」屬性(Maps)來儲存資料(Maps)則透過其他方法來儲存資料操作這些數據。 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子類別。 

 以上就是Struts使用者和開髮指南(前言之一)的內容,更多相關文章請關注PHP中文網(www.php.cn)!


陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
如何將Maven或Gradle用於高級Java項目管理,構建自動化和依賴性解決方案?如何將Maven或Gradle用於高級Java項目管理,構建自動化和依賴性解決方案?Mar 17, 2025 pm 05:46 PM

本文討論了使用Maven和Gradle進行Java項目管理,構建自動化和依賴性解決方案,以比較其方法和優化策略。

如何使用適當的版本控制和依賴項管理創建和使用自定義Java庫(JAR文件)?如何使用適當的版本控制和依賴項管理創建和使用自定義Java庫(JAR文件)?Mar 17, 2025 pm 05:45 PM

本文使用Maven和Gradle之類的工具討論了具有適當的版本控制和依賴關係管理的自定義Java庫(JAR文件)的創建和使用。

如何使用咖啡因或Guava Cache等庫在Java應用程序中實現多層緩存?如何使用咖啡因或Guava Cache等庫在Java應用程序中實現多層緩存?Mar 17, 2025 pm 05:44 PM

本文討論了使用咖啡因和Guava緩存在Java中實施多層緩存以提高應用程序性能。它涵蓋設置,集成和績效優勢,以及配置和驅逐政策管理最佳PRA

如何將JPA(Java持久性API)用於具有高級功能(例如緩存和懶惰加載)的對象相關映射?如何將JPA(Java持久性API)用於具有高級功能(例如緩存和懶惰加載)的對象相關映射?Mar 17, 2025 pm 05:43 PM

本文討論了使用JPA進行對象相關映射,並具有高級功能,例如緩存和懶惰加載。它涵蓋了設置,實體映射和優化性能的最佳實踐,同時突出潛在的陷阱。[159個字符]

Java的類負載機制如何起作用,包括不同的類載荷及其委託模型?Java的類負載機制如何起作用,包括不同的類載荷及其委託模型?Mar 17, 2025 pm 05:35 PM

Java的類上載涉及使用帶有引導,擴展程序和應用程序類負載器的分層系統加載,鏈接和初始化類。父代授權模型確保首先加載核心類別,從而影響自定義類LOA

如何將Java的RMI(遠程方法調用)用於分佈式計算?如何將Java的RMI(遠程方法調用)用於分佈式計算?Mar 11, 2025 pm 05:53 PM

本文解釋了用於構建分佈式應用程序的Java的遠程方法調用(RMI)。 它詳細介紹了接口定義,實現,註冊表設置和客戶端調用,以解決網絡問題和安全性等挑戰。

如何使用Java的插座API進行網絡通信?如何使用Java的插座API進行網絡通信?Mar 11, 2025 pm 05:53 PM

本文詳細介紹了用於網絡通信的Java的套接字API,涵蓋了客戶服務器設置,數據處理和關鍵考慮因素,例如資源管理,錯誤處理和安全性。 它還探索了性能優化技術,我

如何在Java中創建自定義網絡協議?如何在Java中創建自定義網絡協議?Mar 11, 2025 pm 05:52 PM

本文詳細介紹了創建自定義Java網絡協議。 它涵蓋協議定義(數據結構,框架,錯誤處理,版本控制),實現(使用插座),數據序列化和最佳實踐(效率,安全性,維護

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具