好東東共享,Jive代碼區(qū)分(雖然是Java程序的,對(duì)我們學(xué)習(xí).NET也很有幫助的喲)
發(fā)表時(shí)間:2023-07-22 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]Jive talkin':開放源碼的 Java 論壇軟件將 Jive 與您的網(wǎng)站相結(jié)合 Jay Allen (allenj@us.ibm.com(allenj@us.ibm.com))loc...
Jive talkin':開放源碼的 Java 論壇軟件將 Jive 與您的網(wǎng)站相結(jié)合 Jay Allen (allenj@us.ibm.com(allenj@us.ibm.com))lockerjock.com 公司總裁2001年2月
Jive 是一個(gè)開放源碼的 Java 論壇軟件,它允許在網(wǎng)站上進(jìn)行線程化的討論。它提供了性能優(yōu)秀的用戶定義的 JSP 文件(用 Jive 的外殼)來完全改變論壇的外觀、形象和功能。并提供了一個(gè)可植入的 API, 這些 API 提供諸如及時(shí)翻譯、內(nèi)容過濾或者幾乎其它所有功能的先進(jìn)特性。然而除此之外還有很多的自由論壇, Jive 的獨(dú)到之處是它的全部代碼都用 Java 編寫并且被一個(gè)專注的程序員群體熱情的支持著。在這篇文章中,將討論到如何將 Jive 結(jié)合到 lockerjock,一個(gè)有關(guān)運(yùn)動(dòng)題材的網(wǎng)站。
lockerjock.com 是一個(gè)有關(guān)運(yùn)動(dòng)題材的站點(diǎn),它以每日提問、全球競(jìng)賽排行榜、問題統(tǒng)計(jì)、民意測(cè)驗(yàn)、和有關(guān)細(xì)節(jié)題材為主要特征。隨著大量用戶開始從站點(diǎn)中得到更多的樂趣,站點(diǎn)需要一個(gè)論壇讓可以讓用戶進(jìn)行交互。我們考慮自己編寫一個(gè)論壇軟件,但是由于開發(fā) lockerjock; 所付出的大量勞動(dòng)而感到疲勞,并且白手起家編寫論壇軟件所到來的挑戰(zhàn)使我們有些氣餒,因此,我們開始尋找一些已有的優(yōu)秀的論壇軟件。
注:可以利用 Jive 的內(nèi)建 數(shù)據(jù)庫連接池或者使用許多 J2EE 應(yīng)用程序服務(wù)器的內(nèi)建連接池。
很快我們就決定采用 Jive,正如 lockerjock.com 一樣, Jive 采用服務(wù)器端 Java,支持我們的數(shù)據(jù)庫(mySQL)和應(yīng)用服務(wù)器(JRun),并采用 JSP 文件表示。我們不僅是只有一個(gè)論壇,而是可以有很多個(gè)性化的論壇。所有的論壇都能很好的和 lockerjock.com 結(jié)合在一起。安裝 Jive 和創(chuàng)建 Jive 表一樣簡(jiǎn)單。將 jive.jar 文件拷貝到 classpath 目錄下,將論壇和管理 JSP 文件放在站點(diǎn)的合適的位置,并運(yùn)行 Jive 安裝頁面。唯一的問題就是我們的 JSP 版本是 0.92,而 Jive 需要 JSP 1.0 或者更高的版本。因此我花了幾天時(shí)間將 JSP 升級(jí)到最新版本。
Jive 是如何工作的? Jive 由一系列的存在 SQL 數(shù)據(jù)庫中的表以及一系列的類庫組成,這些表中存放論壇數(shù)據(jù),類庫操縱表、JSP 文件,并能顯示論壇數(shù)據(jù)。兩套待用的 JSP 文件和 Jive 一起提供;它們的功能相同,顯示論壇并允許用戶和論壇交互。lockerjock.com 用的一套是 viewForum.jsp,viewMessage.jsp 和 post.jsp。這些 JSP 文件的功能如它們的名字一樣。 如果想在發(fā)送消息和訪問論壇時(shí)使用 Jive 驗(yàn)證方案,正好可以使用這些文件。
Example 1: 一個(gè)簡(jiǎn)單的 Jive 應(yīng)用程序 清單 1 列出的 JSP 文件利用了 Jive 主要對(duì)象來顯示一個(gè)給定論壇中線程的名稱。后面會(huì)詳細(xì)的討論每個(gè)對(duì)象和方法,但是這里給出的概念對(duì)理解 Jive 是如何工作是非常重要的。
l 在開始任何 Jive 操作之前,首先創(chuàng)建一個(gè) Jive 授權(quán)令牌,在本例中將創(chuàng)建一個(gè)匿名授權(quán)令牌。
l 利用授權(quán)令牌,創(chuàng)建一個(gè)具體的論壇工廠。
l 從論壇工廠創(chuàng)建一個(gè)論壇,如果授權(quán)令牌的許可和論壇的許可集不匹配,將拋出一個(gè)異常,而且用戶不能訪問論壇。
l 對(duì)論壇中的每一個(gè)線程迭帶,打印出每個(gè)線程的名稱。
清單 1:打印論壇中每個(gè)線程的名字 <%@ page import="java.util.Iterator,com.coolservlets.forum.*" %> <% //JSP to print out the names of all the threads in a forum. //Get an anonymous authorization object. Authorization auth = AuthorizationFactory.getAnonymousAuthorization(); ForumFactory factory = ForumFactory.getInstance(auth); //Loading a forum object throws an Unauthorized exception if the //the permissions set on the forum don't correspond to your access level. try { //Load the forum named myForum Forum forum = factory.getForum("myForum"); //Get an iterator for all the threads in myForum Iterator threads = forum.threads(); while (threads.hasNext() ) { ForumThread thread = (ForumThread)threads.next(); %> <%= thread.getName() %> <% } } catch (UnauthorizedException ue) { System.err.println("You do not have permission to read this forum."); } %> |