最新j2ee項(xiàng)目實(shí)例模板
每個(gè)人都曾試圖在平淡的學(xué)習(xí)、工作和生活中寫一篇文章。寫作是培養(yǎng)人的觀察、聯(lián)想、想象、思維和記憶的重要手段。范文怎么寫才能發(fā)揮它最大的作用呢?下面是小編為大家收集的優(yōu)秀范文,供大家參考借鑒,希望可以幫助到有需要的朋友。
j2ee項(xiàng)目實(shí)例篇一
j2ee web層組件可以是jsp 頁面或servlets.按照j2ee規(guī)范,靜態(tài)的html(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個(gè)應(yīng)用)頁面和applets不算是web層組件。下面是小編整理的關(guān)于j2ee學(xué)習(xí)中一些值得研究的項(xiàng)目,歡迎大家參考!
接著我研究了mom4j、openjms、mocki、hsqld……發(fā)現(xiàn)這些就是j2ee的實(shí)現(xiàn)啊!原來軟件竟會(huì)如此復(fù)雜,竟會(huì)如此做….規(guī)范和 實(shí)現(xiàn)又是如何成為一體的呢?通過上面的研究發(fā)現(xiàn):原來j2ee后面竟然有太多太多理念、太多太多的相似!這些相似就是其背后的理念――設(shè)計(jì)模式!(很幸 運(yùn),在我學(xué)java的時(shí)候,我一般學(xué)java的一個(gè)方向就會(huì)讀一些關(guān)于設(shè)計(jì)模式的書!很幸運(yùn),到能領(lǐng)略一點(diǎn)的時(shí)候能真正知道這是為什么!)其實(shí)模式就是一 種思維方式、就是一種理念……模式是要運(yùn)用到程序中的,只有從真正的項(xiàng)目中才能領(lǐng)會(huì)模式的含義……
學(xué)得越多,發(fā)現(xiàn)懂得越少!在學(xué)習(xí)過程中發(fā)現(xiàn)一些很有用,很值得學(xué)習(xí)的開源項(xiàng)目,今天在此推薦給大家。
很多人都是從servlet和jsp步入j2ee的。它就是j2ee的表現(xiàn)層,用于向客戶呈現(xiàn)服務(wù)器上的內(nèi)容。j2ee很重要的方面。不羅嗦了!大 家都知道的!下面就開始推薦吧!
1. jakarta tomcat
apache基金會(huì)提供的免費(fèi)的開源的serlvet容器,它是的jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由apache、sun和其它一些公司(都 是it界的大鱷哦)及個(gè)人共同開發(fā)而成,全世界絕大部分servlet和jsp的容器都是使用它哦!由于sun的參與和支持,最新的servlet和 jsp規(guī)范總能在tomcat中得到體現(xiàn)。
不過它是一個(gè)非常非常全的serlvet容器,全部源碼可能有4000頁,對(duì)于初學(xué)者或者一般的老手可能還是比較大了!在你有能力時(shí)推薦研究!下載 地址:http:///tomcat/
下面推薦兩個(gè)小一點(diǎn)的吧!
2. jetty
jetty是一個(gè)開放源碼的http服務(wù)器和java serverlet容器。源代碼只有1000頁左右,很值得研究。有興趣可以去http:///下載看看。我曾經(jīng)翻了 一下,只是目前沒有時(shí)間。(都化在博客上了,等博客基本定型,且內(nèi)容完整了,再干我熱衷的事件吧!)
3. jigsaw
jigsaw是w3c開發(fā)的http,基于java 的服務(wù)器,提供了未來 web 技術(shù)發(fā)展的藍(lán)圖。w3c知道吧!(太有名氣了,很多標(biāo)準(zhǔn)都是它制訂的!有空經(jīng)常去看看吧!)下載網(wǎng)址:http:///jigsaw 代碼僅僅1000頁左右。
4. jo!
jo!是一個(gè)純java的實(shí)現(xiàn)了servlet api 2.2, jsp 1.1, 和http/1.1的web服務(wù)器。它的特性包括支持servlet tag,支持ssi,高級(jí)線程管理,虛擬主機(jī),數(shù)據(jù)緩存,自動(dòng)壓縮text或html文件進(jìn)行傳輸,國(guó)際化支持,自動(dòng)重新加載servlet、jsp,自 動(dòng)重新加載web工程文件(wars),支持war熱部署和一個(gè)swing控制臺(tái)。jo!可以被用做jboss和jakarta avalon-phoenix的web容器。下載地址http:/// 。我極力推薦大家在研究tomcat之前研究該軟件,主要是其比tomcat小多了,且開發(fā)者提供比較全的手冊(cè)。該方向研究這兩個(gè)也就可以了!
很多人都喜歡jdbc,數(shù)據(jù)庫(kù)嗎!很深?yuàn)W的東西,一聽就可以糊弄人。其實(shí)等你真正研究了數(shù)據(jù)庫(kù)的實(shí)現(xiàn)后發(fā)現(xiàn),接口其實(shí)真的太簡(jiǎn)單,太完美了!要想設(shè) 計(jì)如此優(yōu)秀的框架還是需要學(xué)習(xí)的。下面就推薦幾個(gè)數(shù)據(jù)庫(kù)的實(shí)現(xiàn)吧!
1. hypersonic sql
hypersonic sql開源數(shù)據(jù)庫(kù)方向比較流行的純java開發(fā)的關(guān)系型數(shù)據(jù)庫(kù)。好像不是jdbc兼容的,jdbc的很多高級(jí)的特性都沒有支持,不過幸好支持ansi- 92 標(biāo)準(zhǔn) sql語法。我推薦它主要是它的代碼比較少1600頁左右,如此小的數(shù)據(jù)庫(kù)值得研究,而且他占的空間很小,大約只有160k,擁有快速的數(shù)據(jù)庫(kù)引擎。推薦 你的第一個(gè)開源數(shù)據(jù)庫(kù)。下載地址:http:///。
2. mckoi database
mckoidb 和hypersonic sql差不多,它是gpl 的license的純java開發(fā)的數(shù)據(jù)庫(kù)。他的 jdbc driver 是使用 jdbc version 3 的 specifaction。 他也是遵循 sql-92 的標(biāo)準(zhǔn),也盡量支持新的 sql 特色, 并且支持 transaction 的功能。兩個(gè)可以選一個(gè)吧!下載地址:http:///database/。
3. apache derby
學(xué)java的數(shù)據(jù)庫(kù)我建議使用apache derby ,研究數(shù)據(jù)庫(kù)想成為一個(gè)數(shù)據(jù)庫(kù)的高手我建議你先研究apache derby。apache derby是一個(gè)高質(zhì)量的、純 java開發(fā)的嵌入式關(guān)系數(shù)據(jù)庫(kù)引擎,ibm 將其捐獻(xiàn)給apache開放源碼社區(qū),同時(shí)ibm的產(chǎn)品cloudspace是它對(duì)應(yīng)的產(chǎn)品。derby是基于文件系統(tǒng),具有高度的可移植性,并且是輕量 級(jí)的,這使得它非常便于發(fā)布。主要是沒有商業(yè)用戶的很好的界面,沒有其太多的功能。不過對(duì)于我們使用數(shù)據(jù)庫(kù)、研究數(shù)據(jù)庫(kù)還是極其有用的。對(duì)于中小型的企業(yè) 說老實(shí)話你也不要用什么oracle、sqlserver了,用derby就可以了,何況是開源的呢!只要能發(fā)揮其長(zhǎng)處也不容易啊!下載地 址:http:///derby。
不過在沒有足夠的能力前,不要試圖讀懂它!注釋和源代碼15000頁左右,我一年的閱讀量!能讀下來并且能真正領(lǐng)會(huì)它,絕對(duì)高手!你能讀完 derby的源代碼只有兩種可能:1.你成為頂尖的高手――至少是數(shù)據(jù)庫(kù)這部分; 2.你瘋了。選擇吧!!!!作為我自己我先選擇hypersonic sql這樣的數(shù)據(jù)庫(kù)先研究,能過這一關(guān),再繼續(xù)研究derby!不就是一年的閱讀量嗎!我可以化3年去研究如何做一個(gè)數(shù)據(jù)庫(kù)其實(shí)還是很值得的!有的人搞 it一輩子自己什么都沒有做,也根本沒有研究別人的東西!
作為一個(gè)it落后于別國(guó)若干年的、從事it的下游產(chǎn)業(yè)“外包”的國(guó)家的it從業(yè)人員,我認(rèn)為還是先研究別人的優(yōu)秀的東西比較好!可以先研究別人的, 然后消化,學(xué)為己用!一心閉門造車實(shí)在遺憾!
jms可能對(duì)大家來說是一個(gè)比較陌生的方向!其實(shí)jms是一個(gè)比較容易理解,容易上手的方向。主要是java消息服務(wù),api也是相當(dāng)簡(jiǎn)單的。不過 在企業(yè)應(yīng)用中相當(dāng)廣泛。下面就介紹幾個(gè)吧!
1. mom4j
mom4j是一個(gè)完全實(shí)現(xiàn)jms1.1規(guī)范的消息中間件并且向下兼容jms1.0與1.02。它提供了自己的消息處理存儲(chǔ)使它獨(dú)立于關(guān)系數(shù)據(jù)與語 言,它的客戶端可以用任何語言開發(fā)。它可以算是一個(gè)小麻雀,很全實(shí)現(xiàn)也比較簡(jiǎn)單!它包含一個(gè)命名服務(wù)器,一個(gè)消息服務(wù)器,同時(shí)提供自己的持續(xù)層。設(shè)計(jì)也相 當(dāng)?shù)那擅睿耆貌僮飨到y(tǒng)中文件系統(tǒng)設(shè)計(jì)的觀念。代碼也很少,250頁左右,最近我在寫該實(shí)現(xiàn)的源代碼閱讀方面的書,希望明年年中能與大家見面!下載地 址:http:///。
2. openjms
openjms是一個(gè)開源的java message service api 1.0.2 規(guī)范的實(shí)現(xiàn),它包含有以下特性:
1. 它既支持點(diǎn)到點(diǎn)(point-to-point)(ptp)模型和發(fā)布/訂閱(pub/sub)模型。
2. 支持同步與異步消息發(fā)送 。
3. jdbc持久性管理使用數(shù)據(jù)庫(kù)表來存儲(chǔ)消息 。
4. 可視化管理界面。
5. applet支持。
6. 能夠與jakarta tomcat這樣的servlet容器結(jié)合。
7. 支持rmi, tcp, http 與ssl協(xié)議。
8. 客戶端驗(yàn)證 。
9. 提供可靠消息傳輸、事務(wù)和消息過濾。
很好的jms方向的開源項(xiàng)目!我目前也在研究它的源代碼!學(xué)習(xí)它可以順便研究jndi的實(shí)現(xiàn)、以及網(wǎng)絡(luò)通信的細(xì)節(jié)。這是我jms方向研究的第二個(gè)開 源項(xiàng)目。代碼量1600頁左右吧!下載地址:http:///
3. activemq
activemq是一個(gè)開放源碼基于apache 2.0 licenced 發(fā)布并實(shí)現(xiàn)了jms 1.1。它能夠與geronimo,輕量級(jí)容器和任java應(yīng)用程序無縫的給合。主要是apache的可以任意的使用和發(fā)布哦!個(gè)人比較喜歡apache 的源代碼!下載地址:http:///
4. joram
joram一個(gè)類似于openjms分布在objectweb之下的jms消息中間件。objectweb的產(chǎn)品也是非常值得研究的!下面我還會(huì)給 大家另外一個(gè)objectweb的產(chǎn)品。下載地址:http:///
我個(gè)人推薦:openjms和activemq!
ejb一個(gè)比較“高級(jí)”的方向。sun公司曾經(jīng)以此在分布式計(jì)算領(lǐng)域重拳出擊。不過自從出現(xiàn)了spring、hibernation……后似乎沒落 了!這個(gè)方向單獨(dú)開源的也比較少,主要ejb是和jndi、jdbc、jms、jts、jta結(jié)合在一起的是以很少有單獨(dú)的。下面推薦兩個(gè)不過好像也要下 載其它類庫(kù)。
1. easybeans
objectweb的一個(gè)新的項(xiàng)目,一個(gè)輕量級(jí)的ejb3容器,雖然還沒有正式發(fā)布,但是已經(jīng)可以從它們的subversion倉(cāng)庫(kù)中檢出代碼。代 碼量比較小600頁左右,熟讀它可以對(duì)網(wǎng)絡(luò)編程、架構(gòu)、rmi、容器的狀態(tài)設(shè)計(jì)比較了解了!即學(xué)會(huì)ejb又能學(xué)習(xí)其它設(shè)計(jì)方法何樂而不為哦!下載地 址:http:///
2. openejb
openejb是一個(gè)預(yù)生成的、自包含的、可移植的ejb容器系統(tǒng),可以插入到任意的服務(wù)器環(huán)境,包括應(yīng)用程序服務(wù)器,web服務(wù)器,j2ee平 臺(tái), corba orb和數(shù)據(jù)庫(kù)等等。openejb 被用于 apple的webobjects。聽起來很好,我目前沒有研究過。不知道我就不推薦了。下載地址:http:///
上面談了這么多,都是j2ee的各個(gè)方向的。其實(shí)j2ee是一個(gè)規(guī)范,j2ee的產(chǎn)品一般要求專業(yè)提供商必須提供它們的實(shí)現(xiàn)。這些實(shí)現(xiàn)本身就是 j2ee容器。市場(chǎng)上流行的j2ee容器很多,在開源領(lǐng)域流行的只有很少,很少。其中最著名的是jboss。
1. jboss
在j2ee應(yīng)用服務(wù)器領(lǐng)域,jboss是發(fā)展最為迅速的應(yīng)用服務(wù)器。由于jboss遵循商業(yè)友好的lgpl授權(quán)分發(fā),并且由開源社區(qū)開發(fā),這使得 jboss廣為流行。另外,jboss應(yīng)用服務(wù)器還具有許多優(yōu)秀的特質(zhì)。
其一,它將具有革命性的jmx微內(nèi)核服務(wù)作為其總線結(jié)構(gòu);
其二,它本身就是面向服務(wù)的架構(gòu)(service-oriented architecture,soa);
其三,它還具有統(tǒng)一的類裝載器,從而能夠?qū)崿F(xiàn)應(yīng)用的熱部署和熱卸載能力。因此,它是高度模塊化的和松耦合的。jboss用戶的積極反饋告訴我 們,jboss應(yīng)用服務(wù)器是健壯的、高質(zhì)量的,而且還具有良好的性能。為滿足企業(yè)級(jí)市場(chǎng)日益增長(zhǎng)的需求,jboss公司從2003年開始就推出了 24*7、專業(yè)級(jí)產(chǎn)品支持服務(wù)。同時(shí),為拓展jboss的企業(yè)級(jí)市場(chǎng),jboss公司還簽訂了許多渠道合作伙伴。比如,jboss公司同hp、 novell、computer associates、unisys等都是合作伙伴。
在2004年6月,jboss公司宣布,jboss應(yīng)用服務(wù)器通過了sun公司的j2ee認(rèn)證。這是jboss應(yīng)用服務(wù)器發(fā)展史上至今為止最重要的 里程碑。與此同時(shí),jboss一直在緊跟最新的j2ee規(guī)范,而且在某些技術(shù)領(lǐng)域引領(lǐng)j2ee規(guī)范的開發(fā)。因此,無論在商業(yè)領(lǐng)域,還是在開源社 區(qū),jboss成為了第一個(gè)通過j2ee 1.4認(rèn)證的主流應(yīng)用服務(wù)器。現(xiàn)在,jboss應(yīng)用服務(wù)器已經(jīng)真正發(fā)展成具有企業(yè)強(qiáng)度(即,支持關(guān)鍵級(jí)任務(wù)的應(yīng)用)的應(yīng)用服務(wù)器。
jboss 4.0作為j2ee認(rèn)證的重要成果之一,已經(jīng)于2004年9月順利發(fā)布了。同時(shí),jboss 4.0還提供了jboss aop(aspect-oriented programming,面向方面編程)組件。近來,aop吸引了大量開發(fā)者的.關(guān)注。它提供的新的編程模式使得用戶能夠?qū)⒎矫?比如,事務(wù))從底層業(yè)務(wù)邏 輯中分離出來,從而能夠縮短軟件開發(fā)周期。用戶能夠單獨(dú)使用jboss aop,即能夠在jboss應(yīng)用服務(wù)器外部使用它。或者,用戶也可以在應(yīng)用服務(wù)器環(huán)境中使用它。jboss aop 1.0已經(jīng)在2004年10月發(fā)布了。 很有名吧!可以下載一個(gè)用一下,下載地址:http:///
關(guān)于jboss的使用資料也非常多,甚至比商業(yè)軟件的還多。有機(jī)會(huì)研究吧!
2. jonas
jonas是一個(gè)開放源代碼的j2ee實(shí)現(xiàn),在objectweb協(xié)會(huì)中開發(fā)。整合了tomcat或jetty成為它的web容器,以確保符合 servlet 2.3和jsp 1.2規(guī)范。jonas服務(wù)器依賴或?qū)崿F(xiàn)以下的java api:jca、jdbc、jta 、jms、jmx、jndi、jaas、javamail 。下載地址:http:///
geronimo
apache geronimo 是 apache 軟件基金會(huì)的開放源碼j2ee服務(wù)器,它集成了眾多先進(jìn)技術(shù)和設(shè)計(jì)理念。 這些技術(shù)和理念大多源自獨(dú)立的項(xiàng)目,配置和部署模型也各不相同。 geronimo能將這些項(xiàng)目和方法的配置及部署完全整合到一個(gè)統(tǒng)一、易用的模型中。作為符合j2ee標(biāo)準(zhǔn)的服務(wù)器,geronimo提供了豐富的功能集 和無責(zé)任 apache 許可,具備“立即部署”式j(luò)2ee 1.4容器的各種優(yōu)點(diǎn),其中包括:
1. 符合j2ee1.4標(biāo)準(zhǔn)的服務(wù)器 。
2. 預(yù)集成的開放源碼項(xiàng)目 。
3. 統(tǒng)一的集成模型 。
4. 可伸縮性、可管理性和配置管理功能。
我一直比較推薦apache的產(chǎn)品。主要是可以任意自由地使用。下載地址:http:// /projects/geronimo/
講了這么多大家可能很厭煩了!是不是很多很多啊!其實(shí)不然,我們不會(huì)的太多太多了!不會(huì)的太多太多了。不管你是不是j2ee高手,還是j2se高 手,有些東西你要絕對(duì)很精明的。例如:的collections framework就是java的數(shù)據(jù)結(jié)構(gòu)了,不僅要吃透它,還要能按照需要擴(kuò)展它,利用其思想創(chuàng)建一個(gè)自己的數(shù)據(jù)結(jié)構(gòu)。2.網(wǎng)絡(luò)編程肯定要會(huì)吧,現(xiàn)在以 及以后很多程序都是不在同一臺(tái)機(jī)器上的,不會(huì)網(wǎng)絡(luò)怎么行哦!肯定要會(huì)的吧!你的程序難道不用輸入輸出數(shù)據(jù)啊!整個(gè)io包加nio也有600多頁的 源代碼哦!你要會(huì)吧!數(shù)據(jù)庫(kù)都不會(huì),在你的企業(yè)應(yīng)用中你的數(shù)據(jù)又保存到哪里啊!文件中――太落后了吧!典型的沒有學(xué)過j2ee。盡管數(shù)據(jù)庫(kù)背 后也是采用文件保存的。let、jsp你要是做網(wǎng)頁做網(wǎng)站,肯定要做到。問你一個(gè)簡(jiǎn)單的問題,網(wǎng)頁中如何實(shí)現(xiàn)分頁啊!有具體方法的就在本 文章后發(fā)言吧!6. ant要會(huì)吧!java語言中發(fā)布的工具,類似與c中的make工具。用過吧!單元測(cè)試軟件。你不要啊!你的軟件就沒有bug!你牛!(建 議大家研究研究其源代碼,很有用的框架,包含大量的設(shè)計(jì)模式,源代碼不到100頁!看了只能感嘆――高手就是高手)細(xì)心的朋友可以看到在你使用的很多 ide工具中都有junit哦!就是它。
一切的一切才剛剛開始!有興趣,有需要你可以研究數(shù)據(jù)庫(kù)連接池的框架,如:c3p0、jakarta dbcp、 dbpool….可以研究j2ee框架spring……. web框架struts……持久層框架hibernate…..甚至開發(fā)工具eclipse…..sun領(lǐng)導(dǎo)的點(diǎn)對(duì)點(diǎn)通信的jxta…..報(bào)表工具 jfreechart、jasperreports…..分布式網(wǎng)絡(luò)編程的corba、網(wǎng)絡(luò)通信的jgroups、xml解析的xerces…..(在不 經(jīng)意間開源已經(jīng)步入你的電腦,不信啊!你jdk的安裝目錄jdk1.6.0 src com sun org apache就是xerces,一個(gè)xml解析的著名的開源 項(xiàng)目)
s("content_relate");【j2ee學(xué)習(xí)中一些值得研究的項(xiàng)目】相關(guān)文章:
1.
j2ee建議學(xué)習(xí)路線
2.j2ee的學(xué)習(xí)路線
3.j2ee學(xué)習(xí)步驟
4.j2ee開發(fā)技術(shù)研究
5.j2ee入門到精通學(xué)習(xí)步驟
6.j2ee的學(xué)習(xí)技巧
7.j2ee學(xué)習(xí)方法步驟
8.我打算如何學(xué)習(xí)j2ee