shenang博客技術(shù)文檔


          理論不懂就實(shí)踐,實(shí)踐不會(huì)就學(xué)理論!

          posts - 35,comments - 55,trackbacks - 0
           

          1、Apache POI

            Apache POI是Apache軟件基金會(huì)的開(kāi)放源碼函式庫(kù),POI提供API給Java程式對(duì)Microsoft Office格式檔案讀和寫(xiě)的功能。

            結(jié)構(gòu):

            HSSF - 提供讀寫(xiě)Microsoft Excel格式檔案的功能。

            XSSF - 提供讀寫(xiě)Microsoft Excel OOXML格式檔案的功能。

            HWPF - 提供讀寫(xiě)Microsoft Word格式檔案的功能。

            HSLF - 提供讀寫(xiě)Microsoft PowerPoint格式檔案的功能。

          HDGF - 提供讀寫(xiě)Microsoft Visio格式檔案的功能。

          2OSCache

          1OSCache是什么?
               OSCache標(biāo)記庫(kù)由OpenSymphony設(shè)計(jì),它是一種開(kāi)創(chuàng)性的緩存方案,它提供了在現(xiàn)有JSP頁(yè)面之內(nèi)實(shí)現(xiàn)內(nèi)存緩存的功能。OSCache是個(gè)一個(gè)被廣泛采用的高性能的J2EE緩存框架,OSCache還能應(yīng)用于任何Java應(yīng)用程序的普通的緩存解決方案。
          2OSCache的特點(diǎn)
              (1) 緩存任何對(duì)象:你可以不受限制的緩存部分jsp頁(yè)面或HTTP請(qǐng)求,任何java對(duì)象都可以緩存。
              (2) 擁有全面的API:OSCache API允許你通過(guò)編程的方式來(lái)控制所有的OSCache特性。
              (3) 永久緩存:緩存能被配置寫(xiě)入硬盤(pán),因此允許在應(yīng)用服務(wù)器的多次生命周期間緩存創(chuàng)建開(kāi)銷(xiāo)昂貴的數(shù)據(jù)。
              (4) 支持集群:集群緩存數(shù)據(jù)能被單個(gè)的進(jìn)行參數(shù)配置,不需要修改代碼。
              (5) 緩存過(guò)期:你可以有最大限度的控制緩存對(duì)象的過(guò)期,包括可插入式的刷新策略(如果默認(rèn)性能不能滿(mǎn)足需要時(shí))。

          3、Servlet

          Servlet是一種獨(dú)立于平臺(tái)和協(xié)議的服務(wù)器端的Java應(yīng)用程序,可以生成動(dòng)態(tài)的Web頁(yè)面。它擔(dān)當(dāng)Web瀏覽器或其他HTTP客戶(hù)程序發(fā)出請(qǐng)求,與HTTP服務(wù)器上的數(shù)據(jù)庫(kù)或應(yīng)用程序之間的中間層。

          Servlet是位于Web 服務(wù)器內(nèi)部的服務(wù)器端的Java應(yīng)用程序,與傳統(tǒng)的從命令行啟動(dòng)的Java應(yīng)用程序不同,Servlet由Web服務(wù)器進(jìn)行加載,該Web服務(wù)器必須包含支持Servlet的Java虛擬機(jī)

          4、spring

          Spring是一個(gè)開(kāi)源框架,它由Rod Johnson創(chuàng)建。它是為了解決企業(yè)應(yīng)用開(kāi)發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來(lái)完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開(kāi)發(fā)。從簡(jiǎn)單性、可測(cè)試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。

          • 目的:解決企業(yè)應(yīng)用開(kāi)發(fā)的復(fù)雜性

          • 功能:使用基本的JavaBean代替EJB,并提供了更多的企業(yè)應(yīng)用功能

          • 范圍:任何Java應(yīng)用

          簡(jiǎn)單來(lái)說(shuō),Spring是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。

          ■輕量——從大小與開(kāi)銷(xiāo)兩方面而言Spring都是輕量的。完整的Spring框架可以在一個(gè)大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的處理開(kāi)銷(xiāo)也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應(yīng)用中的對(duì)象不依賴(lài)于Spring的特定類(lèi)。

          ■控制反轉(zhuǎn)——Spring通過(guò)一種稱(chēng)作控制反轉(zhuǎn)(IoC)的技術(shù)促進(jìn)了松耦合。當(dāng)應(yīng)用了IoC,一個(gè)對(duì)象依賴(lài)的其它對(duì)象會(huì)通過(guò)被動(dòng)的方式傳遞進(jìn)來(lái),而不是這個(gè)對(duì)象自己創(chuàng)建或者查找依賴(lài)對(duì)象。你可以認(rèn)為IoC與JNDI相反——不是對(duì)象從容器中查找依賴(lài),而是容器在對(duì)象初始化時(shí)不等對(duì)象請(qǐng)求就主動(dòng)將依賴(lài)傳遞給它。

          ■面向切面——Spring提供了面向切面編程的豐富支持,允許通過(guò)分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)級(jí)服務(wù)(例如審計(jì)(auditing)和事務(wù)()管理)進(jìn)行內(nèi)聚性的開(kāi)發(fā)。應(yīng)用對(duì)象只實(shí)現(xiàn)它們應(yīng)該做的——完成業(yè)務(wù)邏輯——僅此而已。它們并不負(fù)責(zé)(甚至是意識(shí))其它的系統(tǒng)級(jí)關(guān)注點(diǎn),例如日志或事務(wù)支持。

          ■容器——Spring包含并管理應(yīng)用對(duì)象的配置和生命周期,在這個(gè)意義上它是一種容器,你可以配置你的每個(gè)bean如何被創(chuàng)建——基于一個(gè)可配置原型(prototype),你的bean可以創(chuàng)建一個(gè)單獨(dú)的實(shí)例或者每次需要時(shí)都生成一個(gè)新的實(shí)例——以及它們是如何相互關(guān)聯(lián)的。然而,Spring不應(yīng)該被混同于傳統(tǒng)的重量級(jí)的EJB容器,它們經(jīng)常是龐大與笨重的,難以使用。

          ■框架——Spring可以將簡(jiǎn)單的組件配置、組合成為復(fù)雜的應(yīng)用。在Spring中,應(yīng)用對(duì)象被聲明式地組合,典型地是在一個(gè)XML文件里。Spring也提供了很多基礎(chǔ)功能(事務(wù)管理、持久化框架集成等等),將應(yīng)用邏輯的開(kāi)發(fā)留給了你。

          所有Spring的這些特征使你能夠編寫(xiě)更干凈、更可管理、并且更易于測(cè)試的代碼。它們也為Spring中的各種模塊提供了基礎(chǔ)支持。

          5、Struts 2

             Struts 2框架作為Struts 1.X框架的替代技術(shù),相對(duì)Struts 1.X來(lái)說(shuō),有著本質(zhì)上的改變, Struts 2框架是從WebWork框架發(fā)展而來(lái)的。Struts 1.X已經(jīng)成為Java Web開(kāi)發(fā)中應(yīng)用最廣泛的MVC框架,被廣大的程序員所接受。隨著Web技術(shù)的發(fā)展,Struts 1.X越來(lái)越難以適應(yīng),主要體現(xiàn)在支持視圖技術(shù)單一、難于測(cè)試性、龐大的配置文件和大量的ActionForm類(lèi),給項(xiàng)目開(kāi)發(fā)的管理維護(hù)帶來(lái)了困難。

             Struts 2框架技術(shù)整合了Struts 1.X和WebWork的優(yōu)點(diǎn),Struts 2框架最大的特點(diǎn)就是其簡(jiǎn)單性,引入了OGNL表達(dá)式和值棧的概念,可以使開(kāi)發(fā)者使用簡(jiǎn)單的代碼實(shí)現(xiàn)復(fù)雜的數(shù)據(jù)訪問(wèn);Action實(shí)現(xiàn)類(lèi)就是一個(gè)標(biāo)準(zhǔn)的Java類(lèi)(POJO),這使得測(cè)試工作變得簡(jiǎn)單。同時(shí)Struts 2框架取消了ActionForm,支持多種返回類(lèi)型和Ajax技術(shù),簡(jiǎn)化了同其他技術(shù)的整合。從Apache官方的宣傳來(lái)看,Struts 2不久將會(huì)替代Struts 1.X

          本貼來(lái)自天極網(wǎng)群樂(lè)社區(qū)--http://q.yesky.com/group/review-17524285.html

          6、tiles
            Tiles使得struts在頁(yè)面的處理方面多了一種選擇。并且更容易實(shí)現(xiàn)代碼的重用。Tiles增加了layout的概念,其實(shí)就是把一個(gè)頁(yè)面劃分為幾塊。通常的來(lái)說(shuō)一個(gè)頁(yè)面大概可以劃分為如下幾塊:
            head頁(yè)面頭部:存放一個(gè)運(yùn)用的公共信息:logo等,如果是網(wǎng)站可能是最上面的一塊。
            menu頁(yè)面菜單:放置一個(gè)運(yùn)用中需要使用的菜單,或者在每一個(gè)頁(yè)面都使用的連接。
            footer頁(yè)面尾部:如版權(quán)信息等。
            body頁(yè)面主題內(nèi)容:每個(gè)頁(yè)面相對(duì)獨(dú)立的內(nèi)容。
            如果按上面的劃分那對(duì)每一個(gè)頁(yè)面我們只要寫(xiě)body里面的內(nèi)容,其他的就可以共享重用。
            如果大多數(shù)頁(yè)面的布局基本相同我們甚至可以使用一個(gè)jsp文件根據(jù)不同的參數(shù)調(diào)用不同的body。

          7、JUnit

          JUnit是由 Erich Gamma 和 Kent Beck 編寫(xiě)的一個(gè)回歸測(cè)試框架(regression testing framework)。Junit測(cè)試是程序員測(cè)試,即所謂白盒測(cè)試,因?yàn)槌绦騿T知道被測(cè)試的軟件如何(How)完成功能和完成什么樣(What)的功能。Junit是一套框架,繼承TestCase類(lèi),就可以用Junit進(jìn)行自動(dòng)測(cè)試了

          8、ibatis or hibernate

          Hibernate是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。Hibernate可以應(yīng)用在任何使用JDBC的場(chǎng)合,既可以在Java的客戶(hù)端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用。

             實(shí)際上IBATIS與HIBERNATE一樣也是一種ORM框架,只不過(guò)把OO的東西直接轉(zhuǎn)化到DB中,而是映射成SQL,然后開(kāi)發(fā)人員再對(duì)其進(jìn)行處理,這樣對(duì)不同的數(shù)據(jù)庫(kù)可靈活的調(diào)整,這樣性能上會(huì)有一定的提高。

          9、FCKeditor

          FCKeditor文本編輯程序(共享軟件)為用戶(hù)提供在線的文檔編輯服務(wù),其具有與微軟office軟件一樣的功能,與之不同的是FCKeditor不需要用戶(hù)安裝任何形式的客戶(hù)端,F(xiàn)CKeditor程序非常精簡(jiǎn)但功能強(qiáng)大,因此而受到廣大應(yīng)用者的青睞。在博客日益興盛的web2.0時(shí)代FCKeditor已經(jīng)開(kāi)始走向普通人的視線。

          10、DRW

          DWR是Direct Web Remoting 的縮寫(xiě)。

             DWR(Direct Web Remoting)是一個(gè)WEB遠(yuǎn)程調(diào)用框架.利用這個(gè)框架可以讓AJAX開(kāi)發(fā)變得很簡(jiǎn)單.

             DWR 是一個(gè)開(kāi)放源碼的使用 Apache 許可協(xié)議的解決方案,它包含服務(wù)器端 Java 庫(kù)、一個(gè) DWR servlet 以及 JavaScript 庫(kù)。雖然 DWR不是 Java 平臺(tái)上唯一可用的 Ajax-RPC 工具包,但是它是最成熟的,而且提供了許多有用的功能。
          從最簡(jiǎn)單的角度來(lái)說(shuō),DWR是一個(gè)引擎,可以把服務(wù)器端 Java 對(duì)象的方法公開(kāi)給 JavaScript 代碼。使用 DWR可以有效地從應(yīng)用程序代碼中把 Ajax 的全部請(qǐng)求-響應(yīng)循環(huán)消除掉。這意味著客戶(hù)端代碼再也不需要直接處理 XMLHttpRequest 對(duì)象或者服務(wù)器的響應(yīng)。不再需要編寫(xiě)對(duì)象的序列化代碼或者使用第三方工具才能把對(duì)象變成 XML。甚至不再需要編寫(xiě) servlet 代碼把 Ajax 請(qǐng)求調(diào)整成對(duì) Java 域?qū)ο蟮恼{(diào)用。
          DWR 是作為 Web 應(yīng)用程序中的 servlet 部署的。把它看作一個(gè)黑盒子,這個(gè) servlet 有兩個(gè)主要作用:首先,對(duì)于公開(kāi)的每個(gè)類(lèi),DWR動(dòng)態(tài)地生成包含在 Web 頁(yè)面中的 JavaScript。生成的 JavaScript 包含存根函數(shù),代表 Java 類(lèi)上的對(duì)應(yīng)方法并在幕后執(zhí)行 XMLHttpRequest。這些請(qǐng)求被發(fā)送給 DWR,這時(shí)它的第二個(gè)作用就是把請(qǐng)求翻譯成服務(wù)器端 Java 對(duì)象上的方法調(diào)用并把方法的返回值放在 servlet 響應(yīng)中發(fā)送回客戶(hù)端,編碼成 JavaScript。DWR還提供了幫助執(zhí)行常見(jiàn)的用戶(hù)界面任務(wù)的 JavaScript 工具函數(shù)。

          11、DBCP

          DBCP是apache下面的一個(gè)開(kāi)源的數(shù)據(jù)庫(kù)連接池,和tomcat自己配置的連接池實(shí)現(xiàn)是同一性質(zhì)的東西.

          12、axis

          全稱(chēng):Apache EXtensible Interaction System 阿帕奇可擴(kuò)展交互系統(tǒng)
            Axis本質(zhì)上就是一個(gè)SOAP引擎,提供創(chuàng)建服務(wù)器端、客戶(hù)端和網(wǎng)關(guān)SOAP操作的基本框架。Axis目前版本是為Java編寫(xiě)的,不過(guò)為C++的版本正在開(kāi)發(fā)中。但Axis并不完全是一個(gè)SOAP引擎,它還包括:
            是一個(gè)獨(dú)立的SOAP服務(wù)器。
            是一個(gè)嵌入Servlet引擎(例如Tomcat)的服務(wù)器。
            支持WSDL。
            提供轉(zhuǎn)化WSDL為Java類(lèi)的工具。
            提供例子程序。
            提供TCP/IP數(shù)據(jù)包監(jiān)視工具。
            apache wsAxis是第三代Apache SOAP,從2000年起,SOAP v2開(kāi)發(fā)小組開(kāi)始討論如何讓Axis更加靈活、可配置,以及能夠處理SOAP和來(lái)自W3C的各種XML標(biāo)準(zhǔn)。通過(guò)不斷地討論和代碼編寫(xiě),Axis目前取得了如下成果:
            速度提高。 Axis通過(guò)基于事件的SAX對(duì)XML文檔進(jìn)行處理,從而在速度和效率上比Apache SOAP有所提高。
            靈活性提高。
            穩(wěn)定性提高。
            提供面向組件的部署。
            提供一個(gè)簡(jiǎn)潔的傳輸抽象框架。其核心引擎完全于傳輸方式獨(dú)立。從而使基于何種協(xié)議傳輸?shù)倪x擇更加靈活。
            支持WSDL。包括到處WSDL和客戶(hù)代理生成等。
            在目前發(fā)行1.1版本中有什么東西?
            SOAP1.1/1.2引擎。
            靈活的配置和部署系統(tǒng)。
            支持及時(shí)自動(dòng)生成SOAP服務(wù)(JWS)。
            支持所有的基本數(shù)據(jù)類(lèi)型,為自定義串行操作提供類(lèi)型映射系統(tǒng)。
            JavaBean的自動(dòng)串行操作,包括將自定義屬性類(lèi)型映射到XML的屬性和元素。
            RPC和基于消息的SOAP服務(wù)提供者。
            從部署好的服務(wù)自動(dòng)生成WSDL。
            WSDL2Java工具可以從WSDL描述文件中產(chǎn)生相應(yīng)的客戶(hù)和服務(wù)器端SOAP操作框架。
            初步提供安全擴(kuò)展,能夠與Servlet2.2安全集成。
            通過(guò)HTTP Cookie和與傳輸無(wú)關(guān)的SOAP頭信息提供會(huì)話(huà)跟蹤。
            初步支持帶附件的SOAP消息。
            在EJB方面提供把EJB作為Web服務(wù)的訪問(wèn)途經(jīng)。
            基于Servlet的HTTP傳輸。
            基于JMS的傳輸。
            獨(dú)立的服務(wù)器(但需要HTTP 服務(wù)器和Servlet容器支持)。
            提供客戶(hù)端、服務(wù)器端相關(guān)應(yīng)用程序的樣例。
            Axis的運(yùn)行需要如下組件包
            axis.jar
            jaxrpc.jar
            saaj.jar
            commons-logging.jar
            commons-discovery.jar
            wsdl4j.jar
            符合JAXP-1.1的XML處理器。
            Axis的安裝和使用

          簡(jiǎn)單的說(shuō):

          apache項(xiàng)目組的webservice服務(wù)器,把它放入tomcat下,就能實(shí)現(xiàn)webservice發(fā)布

          上面的你都聽(tīng)說(shuō)了嗎?可能有些沒(méi)有,這并不重要,重要的是,它們都不是絕對(duì)的,同樣的WEB產(chǎn)品,實(shí)現(xiàn)的方法很多,采用的技術(shù)很多,有比這更多更好的技術(shù)展現(xiàn)。列舉這些,只是作為一個(gè)代表,開(kāi)發(fā)一個(gè)WEB產(chǎn)品,要大概用一些什么樣技術(shù),當(dāng)然,這只是一部份,如還有其它的xml,html,js相關(guān)等等.

          技術(shù)是無(wú)窮的,學(xué)習(xí)是無(wú)止境的````````````.

          posted on 2009-04-27 10:40 重慶理工小子 閱讀(2137) 評(píng)論(4)  編輯  收藏 所屬分類(lèi): JAVA基礎(chǔ)

          FeedBack:
          # re: 開(kāi)發(fā)一個(gè)WEB產(chǎn)品可能用到的技術(shù)
          2009-04-27 12:17 | koumei
          為什么不關(guān)心數(shù)據(jù)庫(kù)呢?不同的數(shù)據(jù)庫(kù),管理和開(kāi)發(fā)的方式會(huì)略有詫異。你總得要?jiǎng)?chuàng)建個(gè)數(shù)據(jù)庫(kù)才可以hibernate的拔?  回復(fù)  更多評(píng)論
            
          # re: 開(kāi)發(fā)一個(gè)WEB產(chǎn)品可能用到的技術(shù)
          2009-04-27 16:05 | UP
          呵呵,同意哈!
          忽略了!  回復(fù)  更多評(píng)論
            
          # re: 開(kāi)發(fā)一個(gè)WEB產(chǎn)品可能用到的技術(shù)[未登錄](méi)
          2009-04-28 00:52 | frank
          10、DRW => DWR

            回復(fù)  更多評(píng)論
            
          # re: 開(kāi)發(fā)一個(gè)WEB產(chǎn)品可能用到的技術(shù)
          2009-04-28 12:46 | UP
          @frank
          筆誤!呵呵!你說(shuō)得對(duì)!呵呵!只是標(biāo)題錯(cuò)了!
          本篇文章價(jià)值對(duì)老手不大,對(duì)新手可以給我們一個(gè)學(xué)習(xí)方向!  回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 乌兰浩特市| 祁门县| 南昌县| 桃园县| 太仓市| 东台市| 陈巴尔虎旗| 双牌县| 德惠市| 灵丘县| 南宁市| 新乐市| 伊川县| 江陵县| 蓬安县| 大同县| 青阳县| 仁寿县| 两当县| 合作市| 东乡| 靖州| 澄城县| 金川县| 陆河县| 兴山县| 本溪市| 富阳市| 江山市| 乌拉特前旗| 防城港市| 崇义县| 通州市| 且末县| 夏邑县| 同江市| 深圳市| 雷山县| 肥东县| 上林县| 柯坪县|