<pre id="p1pz5"><delect id="p1pz5"></delect></pre>
<output id="p1pz5"><delect id="p1pz5"><listing id="p1pz5"></listing></delect></output>

<p id="p1pz5"></p>

<pre id="p1pz5"></pre>

<p id="p1pz5"></p>
<pre id="p1pz5"><output id="p1pz5"></output></pre>
<pre id="p1pz5"><output id="p1pz5"><delect id="p1pz5"></delect></output></pre><pre id="p1pz5"></pre>

<p id="p1pz5"><output id="p1pz5"></output></p>

<p id="p1pz5"><output id="p1pz5"><menuitem id="p1pz5"></menuitem></output></p>

<output id="p1pz5"></output>
<pre id="p1pz5"><output id="p1pz5"></output></pre>

<p id="p1pz5"><delect id="p1pz5"><menuitem id="p1pz5"></menuitem></delect></p>

<p id="p1pz5"></p>
<p id="p1pz5"><output id="p1pz5"></output></p>
<p id="p1pz5"><output id="p1pz5"></output></p>

<p id="p1pz5"><output id="p1pz5"></output></p>
<p id="p1pz5"></p>

<output id="p1pz5"><delect id="p1pz5"></delect></output>

<p id="p1pz5"></p>

<p id="p1pz5"></p>

<p id="p1pz5"></p>
<p id="p1pz5"><delect id="p1pz5"><address id="p1pz5"></address></delect></p>

<pre id="p1pz5"></pre>

<pre id="p1pz5"><output id="p1pz5"><delect id="p1pz5"></delect></output></pre>

畢業設計網
畢業設計論文 | 畢業設計任務書 | 計算機外文翻譯 | 文獻綜述 | 機械模具類 |

JSP&Struts In Action使用領先的Java框架構建Web應用

本書的目的是幫助Web 應用開發者能夠最好的使用Strutsweb 應用框架。Struts 是一個開源軟件,有助于開發者更加快速和容易地建立Web 應用程序。Struts 依靠絕大多數開發者已熟知的標準技術—比如JavaBeans, Java servlet, 以及 JavaServer Page (JSP)。通過基于標準的技術,“填空式”的軟件開發方法,Struts 可以減輕在創建新項目時那些令人抱怨的極費時間的工作。

1.2. 誰創建了Struts軟件?

Struts 是Apache 軟件基金下Jakarta 項目子項目。除Struts 之外, 還有其他成功的開源產 品,包括Tomcat, Ant, 和 Velocity。 開始的代碼基礎從2000 年5 月開始開發,直到2001 年6 月,1.0 版本發布。有 30 多個開發者參與進來,并有數千人參與到討論組中。Struts 代碼基礎由一個志愿者團隊來管理。

到 2002 年,Struts 小組共有9 個志愿者參與。Struts 框架的主要架構設計和開發者是Craig R. McClanahan。Craig 也是Tomcat 4 的主要架構師,以及Java Web Services Developer Pack 的主要架構師和實現者。他現在是Sun的JavaServer Faces (JSR-127) 以及J2EE 平臺的Web 層架構的規范領導。Struts 在Apache 軟件許可 [ASF, License]下對公眾是免費的。 使用此軟件沒有任何獲得和再現成本。不象其他一些開源許可協議,Apache 軟件許可對商業用途是友好的。你可以在你的商業項目中使用Struts,并自由分發Struts 庫。你也可以將Struts 組件集成到你的框架中,就像他們是你自己編寫的一樣。詳細情況.

1.3 為什么Struts 要開源?

現在有許多非常優秀Java 程序和框架都是開源項目。有許多的開發人員為這些項目工作,他們同時又在諸如 IBM, Sun Microsystems, 以及 Apple 這樣的公司從事其日常工作。這類軟件的開發式協作 利于整個軟件市場。今天,許多開源組件都集成到商業產品之中。公司可以向其客戶出售其專業的文檔,保證支持服務水平,以及其他有價值的售后服務和增值服務。當軟件是自由的時候,對市場來說它更易得到支持。Struts 就是個典型例子。雖然它還只是個很新的產品,也已經有很多文章和教程涉及到它,但卻還沒有什么象樣的書籍。許多開發團隊不喜歡使用不是自己內部開發的軟件。開源組件提供了所有自行開發的軟件的優點,但絕不會將你鎖定在一個只有你們團隊才懂的專有解決方案上。開源軟件對所有人都是雙贏的。

1.4  為什么叫Struts?

這個框架之所以叫“Struts”,是為了提醒我們記住那些支撐我們房屋,建筑,橋梁,甚至我們踩高蹺時候的支撐。 這也是一個對Struts 在開發Web 應用程序中所扮演的角色的精彩描述。當建立一個物理建筑時,建筑工程師使用支柱為建筑的每一層提供支持。同樣,軟件工程師使用Struts 為業務應用的每一層提供支持。Struts in Action 中文版 Lastest Revised: July 11, 2005

1.5  什么是應用框架?

框架(framework)是可重用的,半成品的應用程序,可以用來產生專門的定制程序[Johnson]。象人一樣,軟件應用的相似性比不同點要多。它們運行在相似的機器上,期望從相同的設備輸入信息,輸出到相同的顯示設備,并且將數據存儲到相同的硬盤設備。開發傳統桌面應用的開發人員習慣于那些可以覆蓋應用開發同一性的工具包和開發環境。構架在這些公共基礎上的應用框架可以為開發人員提供可以為他們的產品提供可重用服務的基礎架構?蚣荛_發人員提供一系列具有以下特征的骨架組件:

􀂆已經知道它們在其它程序上工作的很好;

􀂆它們隨時可以在下一個項目中使用;

􀂆它們可以被組織的其它團隊使用;

對于框架是典型的構建還是購買命題。如果你自己構建它,在你完成時你就會理解它,但是在你被融入之前又將花費多長時間呢?如果要購買,你必須得克服學習曲線,同樣,在你可以用它進行工作之前又得花多長時間?這里沒有所謂正確答案,但許多觀察者都會同意,象Struts 這樣的框架能提供比從頭開始開發更顯著的投資回報,特別是對于大型項目來說。其它類型的框架框架的概念不僅用于應用程序也可用于組件。通過此書,我們也介紹其他可以和Struts 一起使用的框架。這些包括 Lucene 搜索引擎,Scaffold 工具包,Struts 驗證器,以及Tiles標簽庫。與應用框架一樣,這些工具也提供了一些半完成的版本,可以用在用戶的定制組件之中。某些框架被限制于專門的開發環境中。Struts 以及本書中涉及的組件卻不是這樣。你可以在很多環境中來開發Struts: Visual Age for Java, JBuilder, Eclipse, Emacs, 甚至使用Textpad 。對于你的工具,如果你可以用來開發Java, 你就可以用它來開發Struts1。使用Struts 的應用開發使用了大量的其他基礎技術。這些技術并不是專門針對Struts ,而是所有Java web 應用都可以使用的。開發者使用Struts 之類的框架是為了隱藏在諸如HTTP, CGI,以及JSP 之類技術后面的繁瑣的細節。作為一個Struts 開發者,你并不需要知曉所有的相關知識,但是這些基本技術的工作原理可能有助于你針對棘手問題設計出創造性的方案。如果你已經非常熟悉這些技術,你可以跳過這些章節到1.4 節。

以上是一部分介紹,如需要完整的資料或者如不符合您的要求,請聯系技術人員qq:1587620172咨詢 微信:phpvisa66

上一篇:jsp職稱評定管理系統
下一篇:php教務信息發布與管理系統


版權所有 畢業設計網聯系qq:1587620172 © 2007-2022

蝴蝶中文综合娱乐网

<pre id="p1pz5"><delect id="p1pz5"></delect></pre>
<output id="p1pz5"><delect id="p1pz5"><listing id="p1pz5"></listing></delect></output>

<p id="p1pz5"></p>

<pre id="p1pz5"></pre>

<p id="p1pz5"></p>
<pre id="p1pz5"><output id="p1pz5"></output></pre>
<pre id="p1pz5"><output id="p1pz5"><delect id="p1pz5"></delect></output></pre><pre id="p1pz5"></pre>

<p id="p1pz5"><output id="p1pz5"></output></p>

<p id="p1pz5"><output id="p1pz5"><menuitem id="p1pz5"></menuitem></output></p>

<output id="p1pz5"></output>
<pre id="p1pz5"><output id="p1pz5"></output></pre>

<p id="p1pz5"><delect id="p1pz5"><menuitem id="p1pz5"></menuitem></delect></p>

<p id="p1pz5"></p>
<p id="p1pz5"><output id="p1pz5"></output></p>
<p id="p1pz5"><output id="p1pz5"></output></p>

<p id="p1pz5"><output id="p1pz5"></output></p>
<p id="p1pz5"></p>

<output id="p1pz5"><delect id="p1pz5"></delect></output>

<p id="p1pz5"></p>

<p id="p1pz5"></p>

<p id="p1pz5"></p>
<p id="p1pz5"><delect id="p1pz5"><address id="p1pz5"></address></delect></p>

<pre id="p1pz5"></pre>

<pre id="p1pz5"><output id="p1pz5"><delect id="p1pz5"></delect></output></pre>