<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
      37 Posts :: 64 Stories :: 21 Comments :: 0 Trackbacks

    目前, 國(guó)內(nèi)外信息化建設(shè)已經(jīng)進(jìn)入基于Web應(yīng)用為核心的階段, Java作為應(yīng)用于網(wǎng)絡(luò)的最好語(yǔ)言,前景無(wú)限看好。然而,就算用Java建造一個(gè)不是很煩瑣的web應(yīng)用,也不是件輕松的事情。概括一下,實(shí)施Java的WEB項(xiàng)目需要掌握的技術(shù)如下:
    l         Java語(yǔ)言
    l         面向?qū)ο蠓治鲈O(shè)計(jì)思想
    l         設(shè)計(jì)模式和框架結(jié)構(gòu)
    l         XML語(yǔ)言
    l         網(wǎng)頁(yè)腳本語(yǔ)言
    l         數(shù)據(jù)庫(kù)
    l         應(yīng)用服務(wù)器
    l         集成開(kāi)發(fā)環(huán)境
     
    下面我們具體地看每個(gè)技術(shù).

    1、Java語(yǔ)言

    Java語(yǔ)言體系比較龐大,包括多個(gè)模塊。從WEB項(xiàng)目應(yīng)用角度講有JSP、Servlet、JDBC、JavaBean(Application)四部分技術(shù)。
     
    (1)、Java Database Connectivity (JDBC)技術(shù)
    在Java Web應(yīng)用開(kāi)發(fā)中,數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)的使用是不可缺少的。JDBC(Java Database Connectivity) 是一種用于執(zhí)行 SQL 語(yǔ)句的 Java API。它由一組用 Java 編程語(yǔ)言編寫(xiě)的類和接口組成。JDBC 為工具/數(shù)據(jù)庫(kù)開(kāi)發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的API,使他們能夠用純Java API 來(lái)編寫(xiě)數(shù)據(jù)庫(kù)應(yīng)用程序。
    簡(jiǎn)單地說(shuō),JDBC 可做三件事:
    l         與數(shù)據(jù)庫(kù)建立連接,
    l         發(fā)送 SQL 語(yǔ)句,
    l         處理結(jié)果。
     
     (2)、Servlet技術(shù)
    Servlet是運(yùn)行在服務(wù)器端的程序,可以被認(rèn)為是服務(wù)器端的applet。servlet被Web服務(wù)器(例如Tomcat)加載和執(zhí)行,就如同applet被瀏覽器加載和執(zhí)行一樣。servlet從客戶端(通過(guò)Web服務(wù)器)接收請(qǐng)求,執(zhí)行某種操作,然后返回結(jié)果。
     
    Servlet的主要優(yōu)點(diǎn)包括
    l         Servlet是持久的。servlet只需Web服務(wù)器加載一次,而且可以在不同請(qǐng)求之間保持服務(wù)(例如一次數(shù)據(jù)庫(kù)連接)。
    l         Servlet是與平臺(tái)無(wú)關(guān)的。如前所述,servlet是用Java編寫(xiě)的,它自然也繼承了Java的平臺(tái)無(wú)關(guān)性。
    l         Servlet是可擴(kuò)展的。由于servlet是用Java編寫(xiě)的,它就具備了Java所能帶來(lái)的所有優(yōu)點(diǎn)。Java是健壯的、面向?qū)ο蟮木幊陶Z(yǔ)言,它很容易擴(kuò)展以適應(yīng)你的需求。servlet自然也具備了這些特征。
    l         Servlet是安全的。從外界調(diào)用一個(gè)servlet的惟一方法就是通過(guò)Web服務(wù)器。這提供了高水平的安全性保障,尤其是在你的Web服務(wù)器有防火墻保護(hù)的時(shí)候。
    l         Servlet可以在多種多樣的客戶機(jī)上使用。由于servlet是用Java編寫(xiě)的,所以你可以很方便地在HTML中使用它們。
     
    (3)、JavaServer Pages(JSP) 技術(shù)
    JSP是從Servlet上分離出來(lái)的一小部分,簡(jiǎn)化了開(kāi)發(fā),加強(qiáng)了界面設(shè)計(jì)。JSP定位在交互網(wǎng)頁(yè)的開(kāi)發(fā)。運(yùn)用Java語(yǔ)法,但功能較Servlet弱了很多,并且高級(jí)開(kāi)發(fā)中只充當(dāng)用戶界面部分。JSP容器收到客戶端發(fā)出的請(qǐng)求時(shí),首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式響應(yīng)給客戶端。其中程序片段可以是:操作數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)以及發(fā)送 E-Mail 等等,這些都是建立動(dòng)態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,與客戶端的瀏覽器無(wú)關(guān),因此,JSP 稱為Server-Side Language。
     
    JavaServer Pages的主要優(yōu)點(diǎn)包括
    ●一次編寫(xiě),各處執(zhí)行(Write Once, Run Anywhere)特性
    作為Java 平臺(tái)的一部分,JavaServer Pages 技術(shù)擁有Java語(yǔ)言“一次編寫(xiě),各處執(zhí)行”的特點(diǎn)。隨著越來(lái)越多的供貨商將JavaServer Pages 技術(shù)添加到他們的產(chǎn)品中,您可以針對(duì)自己公司的需求,做出審慎評(píng)估后,選擇符合公司成本及規(guī)模的服務(wù)器,假若未來(lái)的需求有所變更時(shí),更換服務(wù)器平臺(tái)并不影響之前所投下的成本、人力所開(kāi)發(fā)的應(yīng)用程序。
    ● 搭配可重復(fù)使用的組件
    JavaServer Pages技術(shù)可依賴于重復(fù)使用跨平臺(tái)的組件(如:JavaBean或Enterprise JavaBean組件)來(lái)執(zhí)行更復(fù)雜的運(yùn)算、數(shù)據(jù)處理。開(kāi)發(fā)人員能夠共享開(kāi)發(fā)完成的組件,或者能夠加強(qiáng)這些組件的功能,讓更多用戶或是客戶團(tuán)體使用。基于善加利用組件的方法,可以加快整體開(kāi)發(fā)過(guò)程,也大大降低公司的開(kāi)發(fā)成本和人力。
    ● 采用標(biāo)簽化頁(yè)面開(kāi)發(fā)
    Web 網(wǎng)頁(yè)開(kāi)發(fā)人員不一定都是熟悉Java 語(yǔ)言的程序員。因此,JSP 技術(shù)能夠?qū)⒃S多功能封裝起來(lái),成為一個(gè)自定義的標(biāo)簽,這些功能是完全根據(jù)XML 的標(biāo)準(zhǔn)來(lái)制訂的,即JSP 技術(shù)中的標(biāo)簽庫(kù)(Tag Library)。因此,Web 頁(yè)面開(kāi)發(fā)人員可以運(yùn)用自定義好的標(biāo)簽來(lái)達(dá)成工作需求,而無(wú)須再寫(xiě)復(fù)雜的Java 語(yǔ)法,讓W(xué)eb 頁(yè)面開(kāi)發(fā)人員亦能快速開(kāi)發(fā)出一動(dòng)態(tài)內(nèi)容網(wǎng)頁(yè)。
    今后,第三方開(kāi)發(fā)人員和其他人員可以為常用功能建立自己的標(biāo)簽庫(kù),讓W(xué)eb 網(wǎng)頁(yè)開(kāi)發(fā)人員能夠使用熟悉的開(kāi)發(fā)工具,如同HTML 一樣的標(biāo)簽語(yǔ)法來(lái)執(zhí)行特定功能的工作。
    ● N-tier 企業(yè)應(yīng)用架構(gòu)的支持
    有鑒于網(wǎng)際網(wǎng)絡(luò)的發(fā)展,為因應(yīng)未來(lái)服務(wù)越來(lái)越繁雜的要求,且不再受地域的限制,因此,
    必須放棄以往Client-Server的Two-tier 架構(gòu),進(jìn)而轉(zhuǎn)向更具威力、彈性的分散性對(duì)象系統(tǒng)。由于JavaServer Page 技術(shù)是Java 2 Platform Enterprise Edition (J2EE)集成中的一部分,它主要是負(fù)責(zé)前端顯示經(jīng)過(guò)復(fù)雜運(yùn)算后之結(jié)果內(nèi)容,而分散性的對(duì)象系統(tǒng)則是主要依賴EJB ( Enterprise JavaBean )和JNDI ( Java Naming and Directory Interface )構(gòu)建而成。
     
    (4)、JavaBean(Application)應(yīng)用組件技術(shù)
    Application是Java應(yīng)用程序,在WEB項(xiàng)目和一些開(kāi)發(fā)中主要應(yīng)用JavaBean。它就是Application的一部分,邏輯運(yùn)算能力很強(qiáng),能極大的發(fā)揮Java語(yǔ)言的優(yōu)點(diǎn)。JavaBean 被稱為是Java 組件技術(shù)的核心。JavaBean 的結(jié)構(gòu)必須滿足一定的命名約定。JavaBean能提供常用功能并且可以重復(fù)使用,這使得開(kāi)發(fā)人員可以把某些關(guān)鍵功能和核心算法提取出來(lái)封裝成為一個(gè)組件對(duì)象,這樣就增加了代碼的重用率和系統(tǒng)的安全性。

    高級(jí)的WEB項(xiàng)目會(huì)應(yīng)用到以上所有技術(shù),它們之間聯(lián)合使用和協(xié)作開(kāi)發(fā)會(huì)提高開(kāi)發(fā)的效率和系統(tǒng)的性能。

    2、面向?qū)ο蠓治鲈O(shè)計(jì)思想

    Java語(yǔ)言是完全面向?qū)ο蟮恼Z(yǔ)言,所以在項(xiàng)目設(shè)計(jì)時(shí)會(huì)有很大的幫助,在設(shè)計(jì)時(shí)應(yīng)盡量舍棄以往的面向過(guò)程的設(shè)計(jì)方式。

    在分析項(xiàng)目業(yè)務(wù)關(guān)系的時(shí)候,應(yīng)用一些UML(Unified Modeling Language)圖,例如常用的用例圖(use case diagram),類圖(class diagram),時(shí)序圖(sequence diagram)等等,會(huì)有很大的幫助,這樣能盡快找出業(yè)務(wù)邏輯主要面對(duì)的對(duì)象,然后對(duì)每個(gè)對(duì)象進(jìn)行行為劃分,最后再實(shí)現(xiàn)對(duì)象之間的集成和通信。

    3、設(shè)計(jì)模式和框架結(jié)構(gòu)

    Java從語(yǔ)言角度來(lái)講不是很難,但是從整體設(shè)計(jì)角度來(lái)講我們還需要了解一些高級(jí)應(yīng)用框架。如果要設(shè)計(jì)一個(gè)良好的框架結(jié)構(gòu),單單只掌握J(rèn)ava語(yǔ)言遠(yuǎn)遠(yuǎn)不夠。這就涉及到一個(gè)設(shè)計(jì)模式,還有和設(shè)計(jì)模式相關(guān)的一些知識(shí)。

    設(shè)計(jì)模式在Java項(xiàng)目實(shí)施過(guò)程更是重中之重。主要在與兩層的設(shè)計(jì)模式、三層的設(shè)計(jì)模式和N層的設(shè)計(jì)模式。它直接決定著項(xiàng)目的應(yīng)用、部署和實(shí)際開(kāi)發(fā)設(shè)計(jì)。

    在普通的WEB項(xiàng)目中很多采用兩層的開(kāi)發(fā)結(jié)構(gòu)。JSP+Servlet或JSP+JavaBean。當(dāng)對(duì)開(kāi)發(fā)要求高的項(xiàng)目中使用很多的還是MVC的三層開(kāi)發(fā)結(jié)構(gòu),也就是JSP+Servlet+JavaBean。它能分有效的分離邏輯開(kāi)發(fā),使開(kāi)發(fā)人員能專注于各自的開(kāi)發(fā)。同時(shí)也能時(shí)整個(gè)開(kāi)發(fā)結(jié)構(gòu)流程更清晰,但是需要比較高的開(kāi)發(fā)配合度。
    在項(xiàng)目中,我們經(jīng)常使用著名的Model-View-Controller(MVC)架構(gòu)。MVC架構(gòu)是隨著smalltalk language語(yǔ)言的發(fā)展提出的,它是一個(gè)著名的用戶界面設(shè)計(jì)架構(gòu)。經(jīng)典的MVC架構(gòu)把一個(gè)組件(可認(rèn)為是整個(gè)應(yīng)用程序的一個(gè)模塊)劃分成三部分組 Model管理這個(gè)模塊中所用到的數(shù)據(jù)和業(yè)務(wù)邏輯。而View 管理模塊如何顯示給用戶,Controller 決定如何處理用戶和該模塊交互式時(shí)候產(chǎn)生的事件 如用戶點(diǎn)擊一個(gè)按鈕等。

    4、XML語(yǔ)言

    在服務(wù)器和設(shè)計(jì)模式結(jié)構(gòu)中會(huì)應(yīng)用到自定義文件,而且在應(yīng)用高級(jí)設(shè)計(jì)時(shí)也會(huì)定義自用的標(biāo)簽,現(xiàn)在流行的是用XML去定義配置,所以XML語(yǔ)言應(yīng)該有一定掌握。
    當(dāng)前,Java 2平臺(tái)企業(yè)版(J2EE)架構(gòu)在廠商市場(chǎng)和開(kāi)發(fā)者社區(qū)中倍受推崇。作為一種工具,可擴(kuò)展標(biāo)記語(yǔ)言(XML)簡(jiǎn)化了數(shù)據(jù)交換、進(jìn)程間消息交換這一類的事情,因而對(duì)開(kāi)發(fā)者逐漸變得有吸引力,并開(kāi)始流行起來(lái)。自然,在J2EE架構(gòu)中訪問(wèn)或集成XML解決方案的想法也很誘人。因?yàn)檫@將是強(qiáng)大系統(tǒng)架構(gòu)同高度靈活的數(shù)據(jù)管理方案的結(jié)合。

    XML的應(yīng)用似乎是無(wú)窮無(wú)盡的,但它們大致上可以分為三大類:
    1、簡(jiǎn)單數(shù)據(jù)的表示和交換(針對(duì)XML的簡(jiǎn)單API(SAX)和文檔對(duì)象模型(DOM)語(yǔ)法解析,不同的文檔類型定義(DTDs)和概要(schemas))
    2、用戶界面相關(guān)、表示相關(guān)的上下文(可擴(kuò)展樣式表語(yǔ)言(XSL),可擴(kuò)展樣式表語(yǔ)言轉(zhuǎn)換(XSLT))
    3、面向消息的計(jì)算(XML-RPC(遠(yuǎn)程過(guò)程調(diào)用),基于SOAP協(xié)議的Web 服務(wù)(Web Services),電子化業(yè)務(wù)XML(ebXML))

    5、網(wǎng)頁(yè)腳本語(yǔ)言
     
    為了提高WEB項(xiàng)目的整體性能,提高人機(jī)交互的友好界面,網(wǎng)頁(yè)的腳本語(yǔ)言是很有用處的,有的時(shí)候可以解決很大的難題或提高程序的性能和應(yīng)用性。

    網(wǎng)頁(yè)腳本語(yǔ)言的執(zhí)行都是在客戶端執(zhí)行的,速度很很快,并且大多的操作與服務(wù)器沒(méi)有交互運(yùn)算,所以在一些應(yīng)用中非常理想。在設(shè)計(jì)WEB項(xiàng)目的應(yīng)用中,網(wǎng)頁(yè)的腳本語(yǔ)言起著不能忽視的作用,所以如果設(shè)計(jì)WEB項(xiàng)目的應(yīng)用中,對(duì)JavaScript應(yīng)有一定的了解。
     
    JavaScript是一種基于對(duì)象(Object Based)和事件驅(qū)動(dòng)(Event Driven)并具有安全性能(Secure)的腳本語(yǔ)言。使用它的目的是與HTML超文本標(biāo)記語(yǔ)言、Java 腳本語(yǔ)言(Java小程序)一起實(shí)現(xiàn)在一個(gè)Web頁(yè)面中鏈接多個(gè)對(duì)象,與Web客戶交互作用。從而可以開(kāi)發(fā)客戶端的應(yīng)用程序等。它是通過(guò)嵌入或調(diào)入在標(biāo)準(zhǔn)的HTML語(yǔ)言中實(shí)現(xiàn)的。它具有以下幾個(gè)基本特點(diǎn):
    1.     它是一種腳本編寫(xiě)語(yǔ)言
    JavaScript是一種腳本語(yǔ)言,它采用小程序段的方式實(shí)現(xiàn)編程。像其它腳本語(yǔ)言一樣,JavaScript同樣已是一種解釋性語(yǔ)言,它提供了一個(gè)易的開(kāi)發(fā)過(guò)程。
    它的基本結(jié)構(gòu)形式與C、C++、VB十分類似。但它不像這些語(yǔ)言一樣,需要先編譯,而是在程序運(yùn)行過(guò)程中被逐行地解釋。它與HTML標(biāo)識(shí)結(jié)合在一起,從而方便用戶的使用操作。
    2.      基于對(duì)象的語(yǔ)言。
     JavaScript是一種基于對(duì)象的語(yǔ)言,同時(shí)以可以看作一種面向?qū)ο蟮摹_@意味著它能運(yùn)用自己已經(jīng)創(chuàng)建的對(duì)象。因此,許多功能可以來(lái)自于腳本環(huán)境中對(duì)象的方法與腳本的相互作用。
    3.     簡(jiǎn)單性
     JavaScript的簡(jiǎn)單性主要體現(xiàn)在:首先它是一種基于Java基本語(yǔ)句和控制流之上的簡(jiǎn)單而緊湊的設(shè)計(jì), 從而對(duì)于學(xué)習(xí)Java是一種非常好的過(guò)渡。其次它的變量類型是采用弱類型,并未使用嚴(yán)格的數(shù)據(jù)類型。
    4.     安全性
     JavaScript是一種安全性語(yǔ)言,它不允許訪問(wèn)本地的硬盤,并不能將數(shù)據(jù)存入到服務(wù)器上,不允許對(duì)網(wǎng)絡(luò)文檔進(jìn)行修改和刪除,只能通過(guò)瀏覽器實(shí)現(xiàn)信息瀏覽或動(dòng)態(tài)交互。從而有效地防止數(shù)據(jù)的丟失。
    5. 動(dòng)態(tài)性
     JavaScript是動(dòng)態(tài)的,它可以直接對(duì)用戶或客戶輸入做出響應(yīng),無(wú)須經(jīng)過(guò)Web服務(wù)程序。它對(duì)用戶的響應(yīng),是采用以事件驅(qū)動(dòng)的方式進(jìn)行的。所謂事件驅(qū)動(dòng),就是指在主頁(yè)(Home Page)中執(zhí)行了某種操作所產(chǎn)生的動(dòng)作,就稱為“事件”(Event)。比如按下鼠標(biāo)、移動(dòng)窗口、選擇菜單等都可以視為事件。當(dāng)事件發(fā)生后,可能會(huì)引起相應(yīng)的事件響應(yīng)。


    6、開(kāi)發(fā)工具
    (1)、數(shù)據(jù)庫(kù)
    在主要的應(yīng)用中,數(shù)據(jù)庫(kù)相關(guān)的環(huán)節(jié)應(yīng)用很多,所以對(duì)數(shù)據(jù)庫(kù)應(yīng)該有一定了解。不能單單只了解一種數(shù)據(jù)庫(kù),因?yàn)樵诤芏鄬?shí)際開(kāi)發(fā)中會(huì)提出很多數(shù)據(jù)庫(kù)解決方案,所以只有在了解多種數(shù)據(jù)庫(kù)的情況下才能有一個(gè)比較方案。
    對(duì)于數(shù)據(jù)庫(kù)應(yīng)該了解他的性能和一些基本的操作常識(shí),還有該數(shù)據(jù)庫(kù)的特點(diǎn)。而針對(duì)與Java語(yǔ)言WEB項(xiàng)目的數(shù)據(jù)庫(kù)開(kāi)發(fā)則主要是對(duì)JDBC的應(yīng)用,還有數(shù)據(jù)庫(kù)事務(wù)處理和連接池等高級(jí)概念的應(yīng)用。


    (2)、Web服務(wù)器
     
    同數(shù)據(jù)庫(kù)一樣,應(yīng)該了解該服務(wù)器的性能,特點(diǎn)和一些常識(shí)。
    在應(yīng)用方面,Web服務(wù)器主要是針對(duì)于配置和部署,對(duì)目錄的配置,調(diào)試;對(duì)配置文件屬性的修改;對(duì)訪問(wèn)權(quán)限和并發(fā)性的控制;Java類的部署等。

    (3)、集成開(kāi)發(fā)環(huán)境(IDE):
    “公欲善其事, 必先利其器”. 對(duì)于Web應(yīng)用開(kāi)發(fā)人員來(lái)講,好的集成開(kāi)發(fā)環(huán)境(IDE:Integrated Development Enviroment)是非常重要的。目前在市場(chǎng)上占主導(dǎo)位置的一個(gè)集成開(kāi)發(fā)工具就是Eclipse.

     

    posted on 2009-08-21 12:29 xiachang88 閱讀(90) 評(píng)論(0)  編輯  收藏

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 久久国产免费一区二区三区 | 亚洲精品亚洲人成在线观看下载| 狠狠色婷婷狠狠狠亚洲综合| 久久伊人久久亚洲综合| 亚洲精品国产国语| 久久国产精品成人免费| 麻豆国产人免费人成免费视频| 久久精品国产亚洲精品| 欧亚一级毛片免费看| 欧洲乱码伦视频免费| 久久久无码精品亚洲日韩软件| 成人免费视频一区二区| 国产精品美女午夜爽爽爽免费| 中文国产成人精品久久亚洲精品AⅤ无码精品| 中文字幕亚洲综合久久| a毛片成人免费全部播放| 毛片免费视频观看| 国产AV无码专区亚洲AV麻豆丫 | 无码专区—VA亚洲V天堂| 国产精品免费看久久久| 亚洲网站在线免费观看| 中文字幕在线免费观看视频| 国产男女性潮高清免费网站 | 亚洲色欲www综合网| 成人免费a级毛片| 美女裸免费观看网站| 在线中文高清资源免费观看| 亚洲视频在线免费观看| 中文无码成人免费视频在线观看| 亚洲av无码成人精品区| 黄页网站在线免费观看| 亚洲人成影院在线无码按摩店| 一个人免费观看www视频 | 国产成人A亚洲精V品无码 | 永久免费看mv网站入口| GOGOGO免费观看国语| 亚洲综合国产一区二区三区| 五月婷婷在线免费观看| 久久亚洲国产成人精品性色| 久久久99精品免费观看| 亚洲AV无码国产精品麻豆天美|