Jforum安裝使用指南
JForum是著名的開源論壇,支持多達(dá)數(shù)十種的多國語言,其中包括簡(jiǎn)體中文(管理界面沒有完全漢化)。JForum功能強(qiáng)大,界面美觀,加上代碼結(jié)構(gòu)清晰,而且采用的是BSD授權(quán),不...
離線環(huán)境搭建:TOMCAT + MySQL
第一步:安裝部署
1、 去http://www.jforum.net/download.jsp網(wǎng)站下載jforum的發(fā)布包。
2、 安裝mysql數(shù)據(jù)庫。為了解決論壇出現(xiàn)的中文亂碼問題,可以通過手動(dòng)修改配置文件或者在安裝mysql時(shí)設(shè)置編碼為utf8,
可以避免頁面中顯示亂碼。安裝好mysql后,進(jìn)入>mysql狀態(tài)輸入:CREATE DATABASE JForum DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
3、 將jforum發(fā)布包拷貝到D:/apache-tomcat-6.0.16/webapps目錄下即可。安裝配置jforum可以通過兩種方式實(shí)現(xiàn),手動(dòng)修改配置文件 或者通過頁面提示信息安裝步驟。為避免出錯(cuò),我們選取自動(dòng)安裝的方式進(jìn)行。
啟動(dòng)TOMCAT服務(wù)后,通過瀏覽器訪問http://localhost:8080/jforum/install.jsp依照提示信息配置好所需信息,一路next。安裝完成之后訪問http://localhost:8080/jforum將會(huì)出現(xiàn)論壇首頁。
第二步:分析JFORUM框架中配置文件
1、 zh_CN.properties文件中配置頁面中顯示的中文常用漢字。cmd下可以通過native2ascii -reverse zh_CN.properties a.properties命令對(duì)其反編碼,開發(fā)者可以配置自己需要的頁面中需要顯示常量信息,編輯保存后再通過native2ascii a.properties zh_CN.properties 在編碼回ascii。
2、 modulesMapping.properties文件中描述了模塊名與實(shí)現(xiàn)該模塊功能的java類的對(duì)應(yīng)關(guān)系。
3、 locales.properties文件在SystemGlobals.properties文件中被配置加載,locales.properties 文件中配置各種國家支持的語言。locales.properties文件在ConfigAction.java中被讀取。
4、 webapps/jforum/WEB-INF/config/database/generic/generic_queries.sql 文件中配置數(shù)據(jù)庫查詢語句而該sql文件又在SystemGlobals.properties文件中被配置加載。
SystemGlobals.properties文件中配置的變量信息在ConfigKeys.java類文件中配置對(duì)應(yīng)的常量字符串。可以通過 String q = SystemGlobals.getSql(”XXX”)方式去獲得需要的配置好的sql語句。I18n.getMessage(”XXX”)方式可以在 頁面中或者類中獲得zh_CN.properties配置文件中配置的中文常量
5、 templatesMapping.properties配置文件配置相關(guān)的頁面對(duì)應(yīng)文件。templatesMapping.properties文件中配置的變量信息在TemplateKeys.java類文件中配置對(duì)應(yīng)的常量字符串。
6、 jforum-custom.conf配置文件為有關(guān)數(shù)據(jù)庫信息的文件,可以通過手動(dòng)去修改,該文件為通過自動(dòng)方式安裝配置jforum時(shí)產(chǎn)生。
7、 urlPattern.properties配置文件為相關(guān)的action配置參數(shù)。
第三步:開發(fā)常用的包說明
1、 net.jforum.view.admin目錄和net.jforum.view.forum目錄下為存放的action文件,action文件中去調(diào)用dao接口對(duì)應(yīng)的方法。
2、 net.jforum.dao目錄下文件為數(shù)據(jù)庫操作接口類文件。
3、 net.jforum.dao.generic目錄下文件為與數(shù)據(jù)庫交互的類文件,即接口的具體實(shí)現(xiàn)。
4、 net.jforum.util.preferences目錄下的文件為比較重要的幾個(gè)常量配置類以及配置文件讀取類。
5、 net.jforum.entities目錄下文件為論壇中各個(gè)對(duì)象實(shí)體。
第四步:重要的類說明
1、 ConfigLoader.java 類文件加載各個(gè)配置文件。
2、 ConfigKeys.java類文件中配置SystemGlobals.properties文件中配置的變量信息
3、 TemplateKeys.java類文件中配置templatesMapping.properties文件中對(duì)應(yīng)的頁面信息 action中調(diào)用時(shí)通過this.setTemplateName(XX)去實(shí)現(xiàn)跳轉(zhuǎn),通過this.context.put(”message”, message)方式實(shí)現(xiàn)向頁面set對(duì)象信息供頁面調(diào)用。
4、 SystemGlobals.java類文件為一個(gè)讀取相關(guān)配置文件獲得相關(guān)配置信息的幫助類。
5、 DataAccessDriver.java類文件為創(chuàng)建dao實(shí)體的一個(gè)抽象類,通過XXXDAO um = DataAccessDriver.getInstance().newXXXDAO()方式去實(shí)例化dao對(duì)象。
6、 GenericDataAccessDriver.java類文件為DataAccessDriver抽象類文件的具體實(shí)現(xiàn)類,創(chuàng)建DAO對(duì)象的類與數(shù)據(jù)庫進(jìn)行交互。
7、 JForumExecutionContext.getConnection().prepareStatement(String sql) 通過此種方式在DAO中去創(chuàng)建PreparedStatement對(duì)象。然后由該對(duì)象執(zhí)行數(shù)據(jù)庫操作獲得結(jié)果。
第五步:測(cè)試DEMO
1、 通過修改配置文件modulesMapping.properties類添加一個(gè)模塊。可以添加一個(gè)自己的測(cè)試DEMO模塊,在該配置文件末尾添加如下代碼myTest=net.jforum.test.MyTestAction 。作為該模塊的處理類。
2. 在templatesMapping.properties文件中添加: myTest.addTest = myTest_add.htm myTest.listTest = myTest_list.htm 此文件映射action和result 模板的關(guān)系,表明執(zhí)行后跳轉(zhuǎn)的頁面對(duì)應(yīng)關(guān)系。
3. 在urlPattern.properties中添加: myTest.add.0 = myTest.list.0 = 此文件設(shè)置每個(gè)action參數(shù).我們這action無參數(shù)。
4. 修改net.jforum.util.preferences.TemplateKeys 類,添加: public static final String MYTEST_ADD = “myTest.add”; public static final String MYTEST_LIST = “myTest.list”; 引號(hào)里面的對(duì)應(yīng)的字符串常量要與templatesMapping.
properties文件中定義對(duì)應(yīng)頁面的屬性保持一致性。通過定義該信息,可以在action中去set其對(duì)應(yīng)的跳轉(zhuǎn)頁面信息。
5. 參照第二步第1條提示修改a.properties文件后,編輯保存后再通過native2ascii a.properties zh_CN.properties 在編碼回ascii文件格式。
6、 編輯header.htm頁面添加如下代碼,添加“我的測(cè)試”超級(jí)連接
- <img src=”${contextPath}/templates/${templateName}/images/icon_mini_members.gif” alt=”[Members]” />
- <a id=”latest2″ class=”mainmenu” href=”${JForumContext.encodeURL
- (”/myTest/addList”)}”>${I18n.getMessage(”myTest”)}
- </a>
7、 上面部分為測(cè)試demo跳轉(zhuǎn)正常的測(cè)試,如果要與數(shù)據(jù)庫進(jìn)行交互,需要在另行參照如下步驟進(jìn)行:
a)、數(shù)據(jù)庫中增加一張測(cè)試表供測(cè)試使用。
b)、修改zh_CN.properties添加需要在頁面顯示的測(cè)試表字段中文信息。(步驟略)
c)、在net.jforum.dao目錄下增加一測(cè)試類DAO接口文件TestDAO.java 以及net.jforum.dao.generic目錄下的測(cè)試接口實(shí)現(xiàn)類GenericTestDAO.java 內(nèi)部實(shí)現(xiàn)該測(cè)試對(duì)象的一系列與數(shù)據(jù)庫交互的方法。
d)、在net.jforum.entities目錄下增加測(cè)試試題對(duì)象的javabean文件。
e)、在WEB-INF/config/database/generic/generic_queries.sql文件中增加有關(guān)測(cè)試實(shí)體數(shù)據(jù)庫交互的數(shù)據(jù)庫腳本。
f)、完善MyTestAction.java 類文件中的list方法。內(nèi)部實(shí)現(xiàn)與之對(duì)應(yīng)的查詢方法,并將結(jié)果對(duì)象返回到頁面。
PS:如果用的是Oracle數(shù)據(jù)庫 只要修改jforum-custom.conf 貼一份oracle的配置:
- #Installation specific configuration options
- #Mon Mar 12 12:54:53 CST 2007
- dao.driver=net.jforum.dao.oracle.OracleDataAccessDriver
- database.connection.dbname=zjport
- database.connection.driver=oracle.jdbc.OracleDriver
- database.connection.host=192.168.180.25
- database.connection.implementation=net.jforum.PooledConnection
- database.connection.password=action
- database.connection.pool.max=50
- database.connection.pool.min=5
- database.connection.pool.timeout=120
- database.connection.port=1521
- database.connection.string=${database.connection.string_thin}
- database.connection.string_local=jdbc/:oracle/:oci/:${database.connection.username}/${database.connection.password}@${database.connection.dbname}
- database.connection.string_thin=jdbc/:oracle/:thin/:${database.connection.username}/${database.connection.password}@${database.connection.host}/:${database.connection.port}/:${database.connection.dbname}
- database.connection.username=operation
- database.driver.name=oracle
- database.support.autokeys=false
- database.support.subqueries=true
- dbencoding=utf-8
- forum.link=http/://localhost/:8080/JForum.T/
- homepage.link=http/://localhost/:8080
- i18n.board.default=zh_CN
- installed=true
- search.indexing.enabled=true
- user.hash.sequence=348032218c3b45d92e8075662f8b1614
-
無相關(guān)信息