前言
在上一篇 [J2EE] 實戰(zhàn)開發(fā)EJB教程 里,我們學(xué)寫了一個CMP的實體Bean和sessionBean,sessionBean通過模型來操作實體Bean,基于Struts的JSP Framework 在javabean中訪問EJB,得出最終結(jié)果在JSP視圖層中顯示,雖然簡單,但這也是基本的流程!在完成這篇教程之后,我就在思量如何再寫一個完整的應(yīng)用,恰好論壇中的深空小妖寫了一個基于PHP的留言本!于是我就想到也寫一篇留言本的文章吧,留言本雖然很簡單,但它卻是一個基礎(chǔ),增加管理回復(fù)等就相當(dāng)于一個小型的BBS,稍做修改也可以將它變成一個文章發(fā)布系統(tǒng)!在我考慮之下,我決定寫一個基于j2ee的留言本!用于此次教學(xué)的就是留言本的tech版,它相當(dāng)簡單,只具有留言和查看的功能!但是對初學(xué)者來說這卻是最好的入門捷徑!
廣告
在此tech版留言本的基礎(chǔ)上我二次開發(fā)了它的商業(yè)版(數(shù)據(jù)庫采用ORACLE9i)!在完成我的tech版后,大家可以根據(jù)我下面的提示來定制自己的商業(yè)版! 1。商業(yè)版支持國際化功能,根據(jù)客戶端IE語言自動切換相對應(yīng)的語言信息資源,采用UTF-8的編碼!(利用struts的國際化功能) 2。完整的后臺管理功能,以管理員登陸留言本后,可對留言進(jìn)行刪除,編輯,回復(fù)(增加管理員權(quán)限的表,和實體BEAN) 3。LOG寫日志功能(利用log4J) 4。數(shù)據(jù)庫轉(zhuǎn)為XML文件導(dǎo)入導(dǎo)出(看看JDOM,會有不小的收獲) 5。上傳下載功能(jspsmartupload.jar) 6。留言查找功能(我的方法是再寫出一個搜索的sessionBean,當(dāng)然也可以看看lucene,一個開源的搜索引擎包) 7。個性化設(shè)置(能完成以上的相信這個就不成問題) 本人已經(jīng)注冊了j2eestudio.com的域名,希望能與志同道合的朋友共同合作,請PM我!PS又PS,如果有獨立服務(wù)器的朋友幫忙最好!
相關(guān)知識
本篇立足于初學(xué)者,因此對一些相關(guān)概念的東西我會提一下,更具體的當(dāng)然希望你在完成本教程后去GOOGLE上搜一下,這樣印像更深刻! J2EE:適用于創(chuàng)建服務(wù)器應(yīng)用程序和服務(wù)的Java 2平臺企業(yè)版(Java 2 Platform Enterprise Edition,J2EE) EJB:商業(yè)組件的部署環(huán)境,在EJB Server中提供了分布式計算環(huán)境中組件需要的所有服務(wù),例如組件生命周期的管理、數(shù)據(jù)庫連接的管理、分布式事務(wù)的支持、組件的命名服務(wù)等等。 Weblogic:BEA公司出品的J2ee平臺應(yīng)用服務(wù)器,全面支持J2EE標(biāo)準(zhǔn),從6.0版開始率先支持EJB2.0規(guī)范,內(nèi)置jdk為1.3.1版,雖然目前該產(chǎn)品已經(jīng)出到了8.1,但我仍對小巧的6.1sp2版本情有獨鐘,基本上能滿足我學(xué)習(xí)和工作的需要,不過它的軟肋就是JDK的版本太低,雖然也可以自己將JDK的版本換成JDK1.4.X,但是或多或少會出現(xiàn)些問題,也因由此,我的struts一直使用的是1.1-b1版,因為在此后的正式版無法在weblogic6.1上運行!不得不說是遺憾!! Struts:Struts是采用Java Servlet/JavaServer Pages技術(shù),開發(fā)Web應(yīng)用程序的開放源碼的framework。Struts是apache.org開源組織Jakarta項目的一部分,在論壇中見到有人說它最終會被淘汰,其實鼓吹這種論點的早就見到過,Struts也許的確不算是最高效的JSP framework,學(xué)起來有些困難,但當(dāng)你真正掌握,你才會發(fā)現(xiàn)它的靈活與強大,也甚至有人說SUN的JSP幸虧有struts這顆救命稻草,不然早就完了一說呢,不管怎么說,Struts已經(jīng)有了相當(dāng)廣泛的商業(yè)應(yīng)用,而且網(wǎng)上的資料也很多,希望大家認(rèn)真學(xué)學(xué),大家可以到官方網(wǎng)站上看看 http://jakarta.apache.org/struts 題外話:struts1.1允許多個控制文件,不像我們原來為了寫一個控制文件經(jīng)常check in/out啦!可我選擇weblogic6.1就沒法用struts1.1郁悶呀! JSP:這個相信不用我說了吧,它可以像ASP,PHP那種寫法,將控制語句代碼夾雜在HTML代碼中間,相對于比較復(fù)雜的JSP頁面,比如JIVE論壇的JSP頁面吧,你就會明白,看了就會犯暈,所以我們完全可以把控制語句交給struts來處理,這樣我們在頁面中看到的就是干凈“代碼”,更利于團(tuán)體合作,發(fā)揮各人所才,程序員可以專心致志的寫代碼,而網(wǎng)頁設(shè)計師則可以設(shè)計漂亮的頁面!
相關(guān)工具
mysql:今次學(xué)習(xí)版的數(shù)據(jù)庫就用它了。 weblogic6.1sp2:我已經(jīng)介紹N次了吧,呵呵,相關(guān)配置看看我以前的貼子。 Jbuilder7:EJB,JSP全在這里搞定啦! Struts1.1-b1:去下載吧,不過我會提供一個經(jīng)我修改支持中文的struts.jar Struts console:寫Struts-config.xml的好工具,真是太方便了 mysql.jar:提供連接mysql的JDBC驅(qū)動 平臺搭建請參看我以前的相關(guān)貼子,一些工具包我會試著找空間下載的,OK,今天暫到這里,明天我們進(jìn)入代碼實戰(zhàn)篇!有什么問題請PM我
建庫篇
建立后臺數(shù)據(jù)庫 在最初的時候,我并沒有打算用到數(shù)據(jù)庫,我以XML為數(shù)據(jù)源,但遇到點麻煩,當(dāng)初為了支持國際化的留言,必須使XML的編碼使用UTF-8,但是在Struts中操作XML文件時,始終是以ANSI寫入的,最后我引入了JDOM來操作寫入XML文件,可以直接指定XML的編碼格式獲得成功,而且JDOM操作XML真的是相當(dāng)方便,大家可以到它的官方網(wǎng)站去看看http://www.jdom.org。在完成之后,以我對XML有限的理解,我認(rèn)為它作為數(shù)據(jù)信息描述、交換、存諸是強項,但真的把它用作數(shù)據(jù)服務(wù)在性能上也許是瓶頸,因為它在內(nèi)存中不斷增大,雖說手頭上的資料有XML數(shù)據(jù)服務(wù)器一說,但沒有進(jìn)一步作研究,所以我改換MySQL做為數(shù)據(jù)庫服務(wù)。MySql真的很小巧好用,不過我不知道如何在Mysql里更改數(shù)據(jù)庫的編碼,在Oracle里是可以直接指定數(shù)據(jù)庫的默認(rèn)編碼,也就是我存入的UTF-8編碼格式的信息在Oracle里可以正常顯示,但在Mysql里就做不到了,它們都是“亂碼",而且取出來也是亂碼,我只有在數(shù)據(jù)庫連接池里轉(zhuǎn)碼一次,使取出數(shù)據(jù)的都是正常的!不過此次TECH版不涉及國際化功能,不必傷此腦筋,讓我們看看數(shù)據(jù)庫表的設(shè)計吧!
像上次一樣,我使用Navicat工具在Mysql中建立了guestbook的數(shù)據(jù)庫,并且建立了留言所使用的book表.
接下來就是設(shè)計book表中的字段,下面是基本的信息,大家也可以根據(jù)自己的需要自行修改 id(留言自動編號,主鍵) name(留言姓名,varchar,不允許為空) email(留言者電郵,varchar,允許為空) QQ(留言者QQ號碼,varchar,允許為空) posttime(留言提交時間,datetime,不允許為空) comment(留言內(nèi)容,varchar,不允許為空) IP(留言者IP,varchar,不允許為空)
下面是我用Navicat導(dǎo)出的SQL腳本!
/* MySQL Backup Source Host: localhost Source Server Version: 4.0.12-nt Source Database: guestbook Date: 2003-09-14 15:09:17 */
use guestbook ; #---------------------------- # Table structure for book #---------------------------- create table book ( id int(11) not null auto_increment, name varchar(100) not null, email varchar(50), qq varchar(50), posttime datetime not null default
出處:藍(lán)色理想
責(zé)任編輯:cjj
上一頁 下一頁 實戰(zhàn)留言簿(EJB,Struts應(yīng)用篇)[2]
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|