天天看點

Java Web項目開發需要掌握的技術

        由于項目需要,調到另一個組去做java web項目的開發。本身不是學這個的,是以對這塊幾乎不了解,是以就在網上查找相關資料,熟悉這樣一個開發的流程以及需要掌握的一些技術,進而友善一個個的去學習攻破。這篇文章是轉載梁立新老師的部落格,我覺得寫得很好,可以對java web開發流程有一個清晰的認識。

        内容如下:(原文位址http://blog.csdn.net/lianglx/article/details/1288142)

        目前, 國内外資訊化建設已經進入基于Web應用為核心的階段, Java作為應用于網絡的最好語言,前景無限看好。然而,就算用Java建造一個不是很煩瑣的web應用,也不是件輕松的事情。概括一下,實施Java的WEB項目需要掌握的技術如下:               l         Java 語言               l         面向對象分析設計思想               l         設計模式和架構結構               l         XML 語言               l         網頁腳本語言               l         資料庫               l         應用伺服器               l         內建開發環境   下面我們具體地看每個技術.

1、Java語言

Java 語言體系比較龐大,包括多個子產品。從WEB項目應用角度講有JSP、Servlet、JDBC、JavaBean(Application)四部分技術。   (1)、Java Database Connectivity (JDBC)技術 在Java Web應用開發中,資料庫管理系統(RDBMS)的使用是不可缺少的。JDBC(Java Database Connectivity) 是一種用于執行 SQL 語句的 Java API。它由一組用 Java 程式設計語言編寫的類和接口組成。JDBC 為工具/資料庫開發人員提供了一個标準的API,使他們能夠用純Java API 來編寫資料庫應用程式。 簡單地說,JDBC 可做三件事: l         與資料庫建立連接配接, l         發送 SQL 語句, l         處理結果。    (2)、Servlet技術 Servlet 是運作在伺服器端的程式, 可以被認為是伺服器端的applet。servlet被Web伺服器(例如Tomcat)加載和執行,就如同applet被浏覽器加載和執行一樣。servlet從用戶端(通過Web伺服器)接收請求,執行某種操作,然後傳回結果。   Servlet的主要優點包括 l         Servlet是持久的。servlet隻需Web伺服器加載一次,而且可以在不同請求之間保持服務(例如一次資料庫連接配接)。 l         Servlet是與平台無關的。如前所述,servlet是用Java編寫的,它自然也繼承了Java的平台無關性。 l         Servlet是可擴充的。由于servlet是用Java編寫的,它就具備了Java所能帶來的所有優點。Java是健壯的、面向對象的程式設計語言,它很容易擴充以适應你的需求。servlet自然也具備了這些特征。 l         Servlet是安全的。從外界調用一個servlet的惟一方法就是通過Web伺服器。這提供了高水準的安全性保障,尤其是在你的Web伺服器有防火牆保護的時候。 l         Servlet可以在多種多樣的客戶機上使用。由于servlet是用Java編寫的,是以你可以很友善地在HTML中使用它們。   (3)、JavaServer Pages(JSP) 技術 JSP 是從Servlet上分離出來的一小部分,簡化了開發,加強了界面設計。JSP定位在互動網頁的開發。運用Java文法,但功能較Servlet弱了很多,并且進階開發中隻充當使用者界面部分。 JSP容器收到用戶端發出的請求時,首先執行其中的程式片段,然後将執行結果以HTML格式響應給用戶端。其中程式片段可以是:操作資料庫、重新定向網頁以及發送 E-Mail 等等,這些都是建立動态網站所需要的功能。所有程式操作都在伺服器端執行,網絡上傳送給用戶端的僅是得到的結果,與用戶端的浏覽器無關,是以,JSP 稱為Server-Side Language。   JavaServer Pages的主要優點包括: ● 一次編寫,各處執行(Write Once, Run Anywhere)特性 作為Java 平台的一部分,JavaServer Pages 技術擁有Java語言“一次編寫,各處執行”的特點。随着越來越多的供貨商将JavaServer Pages 技術添加到他們的産品中,您可以針對自己公司的需求,做出審慎評估後,選擇符合公司成本及規模的伺服器,假若未來的需求有所變更時,更換伺服器平台并不影響之前所投下的成本、人力所開發的應用程式。 ● 搭配可重複使用的元件 JavaServer Pages技術可依賴于重複使用跨平台的元件(如:JavaBean或Enterprise JavaBean元件)來執行更複雜的運算、資料處理。開發人員能夠共享開發完成的元件,或者能夠加強這些元件的功能,讓更多使用者或是客戶團體使用。基于善加利用元件的方法,可以加快整體開發過程,也大大降低公司的開發成本和人力。 ● 采用标簽化頁面開發 Web 網頁開發人員不一定都是熟悉Java 語言的程式員。是以,JSP 技術能夠将許多功能封裝起來,成為一個自定義的标簽,這些功能是完全根據XML 的标準來制訂的,即JSP 技術中的标簽庫(Tag Library)。是以,Web 頁面開發人員可以運用自定義好的标簽來達成工作需求,而無須再寫複雜的Java 文法,讓Web 頁面開發人員亦能快速開發出一動态内容網頁。 今後,第三方開發人員和其他人員可以為常用功能建立自己的标簽庫,讓Web 網頁開發人員能夠使用熟悉的開發工具,如同HTML 一樣的标簽文法來執行特定功能的工作。 ● N-tier 企業應用架構的支援 有鑒于網際網絡的發展,為因應未來服務越來越繁雜的要求,且不再受地域的限制,是以, 必須放棄以往Client-Server的Two-tier 架構,進而轉向更具威力、彈性的分散性對象系統。由于JavaServer Page 技術是Java 2 Platform Enterprise Edition (J2EE)內建中的一部分,它主要是負責前端顯示經過複雜運算後之結果内容,而分散性的對象系統則是主要依賴EJB ( Enterprise JavaBean )和JNDI ( Java Naming and Directory Interface )建構而成。  

(4)、JavaBean(Application) 應用元件技術

Application是Java應用程式,在WEB項目和一些開發中主要應用JavaBean。它就是Application的一部分,邏輯運算能力很強,能極大的發揮Java語言的優點。JavaBean 被稱為是Java 元件技術的核心。JavaBean 的結構必須滿足一定的命名約定。JavaBean能提供常用功能并且可以重複使用,這使得開發人員可以把某些關鍵功能和核心算法提取出來封裝成為一個元件對象,這樣就增加了代碼的重用率和系統的安全性。

進階的WEB項目會應用到以上所有技術,它們之間聯合使用和協作開發會提高開發的效率和系統的性能。 

2、面向對象分析設計思想

Java語言是完全面向對象的語言,是以在項目設計時會有很大的幫助,在設計時應盡量舍棄以往的面向過程的設計方式。

在分析項目業務關系的時候,應用一些UML(Unified Modeling Language)圖,例如常用的用例圖(use case diagram),類圖(class diagram),時序圖(sequence diagram)等等,會有很大的幫助,這樣能盡快找出業務邏輯主要面對的對象,然後對每個對象進行行為劃分,最後再實作對象之間的內建和通信。

3、設計模式和架構結構

Java 從語言角度來講不是很難,但是從整體設計角度來講我們還需要了解一些進階應用架構。如果要設計一個良好的架構結構,單單隻掌握Java語言遠遠不夠。這就涉及到一個設計模式,還有和設計模式相關的一些知識。

設計模式在Java項目實施過程更是重中之重。主要在與兩層的設計模式、三層的設計模式和N層的設計模式。它直接決定着項目的應用、部署和實際開發設計。

在普通的WEB項目中很多采用兩層的開發結構。JSP+Servlet或JSP+JavaBean。當對開發要求高的項目中使用很多的還是MVC的三層開發結構,也就是JSP+Servlet+JavaBean。它能分有效的分離邏輯開發,使開發人員能專注于各自的開發。同時也能時整個開發結構流程更清晰,但是需要比較高的開發配合度。

在項目中,我們經常使用著名的Model-View-Controller(MVC)架構。 MVC架構是随着smalltalk language語言的發展提出的,它是一個著名的使用者界面設計架構。經典的MVC架構把一個元件(可認為是整個應用程式的一個子產品)劃分成三部分組 Model管理這個子產品中所用到的資料和業務邏輯。而View 管理子產品如何顯示給使用者,Controller 決定如何處理使用者和該子產品互動式時候産生的事件 如使用者點選一個按鈕等。

4、XML語言

在伺服器和設計模式結構中會應用到自定義檔案,而且在應用進階設計時也會定義自用的标簽,現在流行的是用XML去定義配置,是以XML語言應該有一定掌握。 目前,Java 2平台企業版(J2EE)架構在廠商市場和開發者社群中倍受推崇。作為一種工具,可擴充标記語言(XML)簡化了資料交換、程序間消息交換這一類的事情,因而對開發者逐漸變得有吸引力,并開始流行起來。自然,在J2EE架構中通路或內建XML解決方案的想法也很誘人。因為這将是強大系統架構同高度靈活的資料管理方案的結合。

XML的應用似乎是無窮無盡的,但它們大緻上可以分為三大類:

1、簡單資料的表示和交換(針對XML的簡單API(SAX)和文檔對象模型(DOM)文法解析,不同的文檔類型定義(DTDs)和概要(schemas))

2、使用者界面相關、表示相關的上下文(可擴充樣式表語言(XSL),可擴充樣式表語言轉換(XSLT))

3、面向消息的計算(XML-RPC(遠端過程調用),基于SOAP協定的Web 服務(Web Services),電子化業務XML(ebXML))

5、網頁腳本語言

為了提高WEB項目的整體性能,提高人機互動的友好界面,網頁的腳本語言是很有用處的,有的時候可以解決很大的難題或提高程式的性能和應用性。

網頁腳本語言的執行都是在用戶端執行的,速度很很快,并且大多的操作與伺服器沒有互動運算,是以在一些應用中非常理想。在設計WEB項目的應用中,網頁的腳本語言起着不能忽視的作用,是以如果設計WEB項目的應用中,對JavaScript應有一定的了解。   JavaScript是一種基于對象(Object Based)和事件驅動(Event Driven)并具有安全性能(Secure)的腳本語言。使用它的目的是與HTML超文本标記語言、Java 腳本語言(Java小程式)一起實作在一個Web頁面中連結多個對象,與Web客戶互動作用。進而可以開發用戶端的應用程式等。它是通過嵌入或調入在标準的HTML語言中實作的。它具有以下幾個基本特點: 1.     它是一種腳本編寫語言

JavaScript是一種腳本語言,它采用小程式段的方式實作程式設計。像其它腳本語言一樣,JavaScript同樣已是一種解釋性語言,它提供了一個易的開發過程。

它的基本結構形式與C、C++、VB十分類似。但它不像這些語言一樣,需要先編譯,而是在程式運作過程中被逐行地解釋。它與HTML辨別結合在一起,進而友善使用者的使用操作。 2.      基于對象的語言。

 JavaScript是一種基于對象的語言,同時以可以看作一種面向對象的。這意味着它能運用自己已經建立的對象。是以,許多功能可以來自于腳本環境中對象的方法與腳本的互相作用。 3.     簡單性

 JavaScript的簡單性主要展現在:首先它是一種基于Java基本語句和控制流之上的簡單而緊湊的設計, 進而對于學習Java是一種非常好的過渡。其次它的變量類型是采用弱類型,并未使用嚴格的資料類型。 4.     安全性

 JavaScript是一種安全性語言,它不允許通路本地的硬碟,并不能将資料存入到伺服器上,不允許對網絡文檔進行修改和删除,隻能通過浏覽器實作資訊浏覽或動态互動。進而有效地防止資料的丢失。 5.  動态性

 JavaScript是動态的,它可以直接對使用者或客戶輸入做出響應,無須經過Web服務程式。它對使用者的響應,是采用以事件驅動的方式進行的。所謂事件驅動,就是指在首頁(Home Page)中執行了某種操作所産生的動作,就稱為“事件”(Event)。比如按下滑鼠、移動視窗、選擇菜單等都可以視為事件。當事件發生後,可能會引起相應的事件響應。

6、開發工具 (1)、資料庫 在主要的應用中,資料庫相關的環節應用很多,是以對資料庫應該有一定了解。不能單單隻了解一種資料庫,因為在很多實際開發中會提出很多資料庫解決方案,是以隻有在了解多種資料庫的情況下才能有一個比較方案。 對于資料庫應該了解他的性能和一些基本的操作常識,還有該資料庫的特點。而針對與Java語言WEB項目的資料庫開發則主要是對JDBC的應用,還有資料庫事務處理和連接配接池等進階概念的應用。

(2)、Web伺服器 同資料庫一樣,應該了解該伺服器的性能,特點和一些常識。 在應用方面,Web伺服器主要是針對于配置和部署,對目錄的配置,調試;對配置檔案屬性的修改;對通路權限和并發性的控制;Java類的部署等。

(3)、內建開發環境(IDE): “ 公欲善其事, 必先利其器”. 對于Web應用開發人員來講,好的內建開發環境(IDE:Integrated Development Enviroment)是非常重要的。目前在市場上占主導位置的一個內建開發工具就是Eclipse.

繼續閱讀