搭建開源論壇JForum的二次開發(fā)環(huán)境

簡書 Wwwwei
轉(zhuǎn)載請注明原創(chuàng)出處,謝謝生百!

前言


??學習編程的過程中肋坚,閱讀源碼進行二次開發(fā)是一個非常不錯的途徑,我們能夠?qū)W習到很多優(yōu)秀的技巧和規(guī)范几苍。
??本文將會介紹一下如何搭建著名開源論壇JForum的二次開發(fā)環(huán)境翻屈。利用JForum我們可以快速搭建一個論壇,并且根據(jù)需求進行相應二次開發(fā)妻坝。

關(guān)于JForum


??JForum是著名的開源論壇伸眶,支持多達數(shù)十種的多國語言惊窖,其中包括簡體中文(管理界面沒有完全漢化)。JForum功能強大厘贼,界面美觀界酒,加上代碼結(jié)構(gòu)清晰,而且采用的是BSD授權(quán)嘴秸,不必擔心不必要的版權(quán)糾紛毁欣,是論壇二次開發(fā)的絕佳選擇
??JForum采用的是自己的MVC框架岳掐。

一些準備工作


所用環(huán)境

1.JDK:1.8
2.數(shù)據(jù)庫:MySQL 5.7.16
3.服務器:Tomcat 8.5
4.IDE:Eclipse(本文用于舉例說明凭疮,其余IDE情況類似)

搭建JForum的二次開發(fā)環(huán)境


一.下載JForum的源碼

??1.訪問JForum官網(wǎng)下載頁面(http://jforum.net/download.jsp)下載JForum源碼(即Download jforum source code)串述,這里我們選擇了2.1.9穩(wěn)定版本用于說明执解。

JForum官網(wǎng)下載頁面

??2.將下載的壓縮比解壓備用。

二.JForum源碼導入工程

??1.Eclipse中新建一個Dynamic Web Project 項目纲酗,File->New->Dynamic Web Project衰腌。

新建Dynamic Web Project 項目

新建Dynamic Web Project 項目

??2.復制之前解壓的源碼中src下的net文件夾,粘貼到web項目的src目錄下耕姊。你會看到很多錯誤提示桶唐,這是缺少依賴的jar文件。
??3.開始導入jar相關(guān)茉兰。復制WEB-INF下的文件尤泽,粘貼到web項目的WEB-INF目錄下。你會看到原來的錯誤提示都消失了规脸。
??4.接下來導入模板文件夾坯约。復制templates文件夾到web項目的WebContent下,或許你的是叫WebRoot莫鸭。你會看到有錯誤提示闹丐,不用管它。
??5.接下來把install.jsp復制到web項目的WebContent下被因。整個目錄結(jié)構(gòu)就清楚了卿拴。目錄如下圖所示:
jforum目錄結(jié)構(gòu)

三.創(chuàng)建數(shù)據(jù)庫

??1.導入完成后,接下來需要創(chuàng)建一個數(shù)據(jù)庫梨与,我們使用mysql作為示例數(shù)據(jù)庫堕花,這里便于說明我創(chuàng)建了一個名稱為jforum_db的數(shù)據(jù)庫。
??2.創(chuàng)建好數(shù)據(jù)庫之后粥鞋,我們需要導入jForum的表結(jié)構(gòu)了缘挽。它的表結(jié)構(gòu)在WEB-INF下的config文件夾下的database文件夾下,有多種數(shù)據(jù)庫支持,我們使用mysql的壕曼,打開mysql文件夾苏研。mysql.properties是程序與數(shù)據(jù)庫連接的一些信息配置;mysql_db_struct.sql這個sql文件是數(shù)據(jù)庫表結(jié)構(gòu)腮郊,mysql_data_dump.sql這個sql文件是初始數(shù)據(jù)摹蘑;我們在mysql中依次執(zhí)行mysql_db_struct.sql和mysql_data_dump.sql這2個腳本。
??如果運行腳本出現(xiàn)錯誤伴榔,請參考文章下述的 幾個注意的地方 章節(jié)的第一點纹蝴。

四.配置文件

??1.數(shù)據(jù)導入成功之后,我們需要配置JForum的數(shù)據(jù)庫連接信息踪少。修改myql.properties文件塘安,修改如圖所示的幾個地方,數(shù)據(jù)庫連接用戶名密碼以及數(shù)據(jù)庫名字等援奢。
??此外兼犯,為了解決中文亂碼問題需要在database.connection.string后加入&useUnicode=true&characterEncoding=utf8

配置JForum的數(shù)據(jù)庫連接信息

??2.配置好數(shù)據(jù)庫連接信息以后,我們再修改一下訪問路徑集漾。右鍵項目選擇Properties切黔,再選擇Web Project Settings,修改Context rootjforum具篇,點擊ApplyOK纬霞。
配置訪問路徑

配置訪問路徑

??3.現(xiàn)在我們將項目在Tomcat上運行,進行下一步的配置。訪問http://localhost:8080/jforum/install.jsp驱显,你將看到如下頁面,將所需內(nèi)容填寫后點擊下一步,確認輸入的信息無誤后诗芜,點擊開始安裝,頁面會提示安裝成功埃疫。
install.jsp

install.jsp

??4.這時我們點擊進入主頁以后會發(fā)現(xiàn)還是404頁面伏恐,因為我們?nèi)鄙僖粋€首頁。
訪問主頁

??在WebContent新建一個index.jsp栓霜,插入如下內(nèi)容:

<%
    response.setStatus(301);
    response.sendRedirect("forums/list.page");
%>

index.jsp

??將web.xml<welcome-file-list></welcome-file-list>部分按照如下代碼修改:

<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

??5.停止服務器運行后翠桦,刪除install.jsp,重新啟動項目胳蛮,再次訪問首頁销凑。

首頁

??6.到這里,開源論壇JForum的二次開發(fā)環(huán)境搭建完成仅炊。

幾個注意的地方


??1.執(zhí)行腳本的時候發(fā)生錯誤時:將其中的“TYPE=InnoDB”替換為“ENGINE=InnoDB”斗幼,然后再執(zhí)行上面的SQL腳本,就可以正確執(zhí)行了茂洒。
??2.語言本地化:將WEB-INF/config/SystemGlobals.properties中

i18n.board.default = zh_CN 

??3.解決論壇上沒有發(fā)帖等按鈕:將templates/gpl_icons/zh_CN文件夾拷貝至templates/defualt/images下

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末孟岛,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子督勺,更是在濱河造成了極大的恐慌渠羞,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件智哀,死亡現(xiàn)場離奇詭異次询,居然都是意外死亡,警方通過查閱死者的電腦和手機瓷叫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進店門屯吊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人摹菠,你說我怎么就攤上這事盒卸。” “怎么了次氨?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵蔽介,是天一觀的道長。 經(jīng)常有香客問我煮寡,道長虹蓄,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任幸撕,我火速辦了婚禮薇组,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘坐儿。我一直安慰自己律胀,他們只是感情好,可當我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布挑童。 她就那樣靜靜地躺著累铅,像睡著了一般。 火紅的嫁衣襯著肌膚如雪站叼。 梳的紋絲不亂的頭發(fā)上校镐,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天萎胰,我揣著相機與錄音,去河邊找鬼。 笑死晌区,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的扔罪。 我是一名探鬼主播始腾,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼呕寝!你這毒婦竟也來了勋眯?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎客蹋,沒想到半個月后塞蹭,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡讶坯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年番电,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片辆琅。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡漱办,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出婉烟,到底是詐尸還是另有隱情娩井,我是刑警寧澤,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布似袁,位于F島的核電站撞牢,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏叔营。R本人自食惡果不足惜屋彪,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望绒尊。 院中可真熱鬧畜挥,春花似錦、人聲如沸婴谱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谭羔。三九已至华糖,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間瘟裸,已是汗流浹背客叉。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留话告,地道東北人兼搏。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像沙郭,于是被迫代替她去往敵國和親佛呻。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,976評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法病线,類相關(guān)的語法吓著,內(nèi)部類的語法鲤嫡,繼承相關(guān)的語法,異常的語法绑莺,線程的語...
    子非魚_t_閱讀 31,639評論 18 399
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,822評論 6 342
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 3,811評論 0 11
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理泛范,服務發(fā)現(xiàn),斷路器紊撕,智...
    卡卡羅2017閱讀 134,659評論 18 139
  • 落落架下花,亭亭樓前柳赡突。 依依風語柔对扶,載爾同余暉。 離言無由寄惭缰,雨中鷓鴣飛浪南。 皎皎競夕月,斑斑霜一地漱受。
    靈魂刀手閱讀 249評論 0 0