Jforum安装与中文化设置

/**********************************/
/*      Jforum安装与中文化设置      */
/*                                                             */
/*            author: atom chan      */
/*               date: 2008.10.22     */
/*********************************/              

本文水平有限,但是希望转载能注明出处。(http://eatdrinkmanwoman.spaces.live.com/blog/cns!97719476F5BAEDA4!999.entry)
                  
/**********************/
/*          简介            */
/**********************/

Jforum是一款开源的java类的论坛,小巧高效,运用了很多JSP新技术,支持hsqldb、oracle、mysql、
postgresql数据库,完全遵从MVC设计模式,能够在任何Servlet容器与EJB服务器上运行,当前的版
本是2.1.8。
更多信息请参考项目主页: www.jforum.net

本文安装环境
windows sp3    tomcat-5.5.26     mysql-5.0.67-win32

 

/******************/
/*        安装步骤          */
/******************/

1.在cmd下以root身份进入mysql的shell

C:\Documents and Settings\atom>mysql -u root -p
Enter password: ******

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1477
Server version: 5.0.67-community-nt MySQL Community Edition (GPL)

Type ’help;’ or ’\h’ for help. Type ’\c’ to clear the buffer.

mysql>


2.查看现有的database。

mysql> show databases;
+--------------------+
| Database               |
+--------------------+
| information_schema |
| mysql                    |
| test                      |
+--------------------+
3 rows in set (0.00 sec)

现在新建一个名为jforum的database,字符集设为utf-8,为了避免中文乱码问题。

mysql> create database jforum character set utf8 collate utf8_general_ci;
Query OK, 1 row affected (0.00 sec)

再查看一下,database jforum确实已经建好。

mysql> show databases;
+--------------------+
| Database               |
+--------------------+
| information_schema |
| jforum                   |
| mysql                    |
| test                      |
+--------------------+
4 rows in set (0.00 sec)


3.将jforum.war复制到tomcat的webapps文件夹下,启动tomcat

打开浏览器,进入http://localhost/jforum/install.jsp
进行自动安装,按照提示进行填写。
数据库编码一项,选择utf-8
数据库名称一项,请和第2步创建的数据库名一致。

完成后点击下一步,确认无误后开始安装。


4.完成安装后先不进入论坛。修改一些配置文件以支持中文。

(1) 打开jforum/WEB-INF/config/SystemGlobals.properties
  将default.container.encoding = ISO-8859-1,修改为:
  default.container.encoding = UTF-8
  这里是设置容器的编码。由于我在tomcat的conf/server.xml中设置过URIEncoding="UTF-8",所以这里要一致。
  tomcat默认的编码是iso-8859-1,如果你没有改动,此处可以不修改。

(2) 打开jforum/WEB-INF/config/jforum-custom.conf
  定位到database.connection.string一项,在末尾追加
  &useUnicode\=true&characterEncoding\=utf8

 
5.重新启动tomcat,进入http://localhost/jforum/forums/list.page
  以admin身份登录,可以到后台设置论坛了。
  进入后有个错误提示,但是好像不影响使用。

  
 

/********************************/
/*      论坛后台设置部分说明     */
/********************************/
论坛后台设置大体上讲是见名知意的。推荐优先参考官方wiki: www.jforum.net/wiki.jsp
基本上都做了解答。
有两个地方让我比较困惑,附件设置与群组权限管理。
section A:附件设置
我第一次设置附件的时候,没有看wiki。“扩展名分组”与“扩展名”设置让我迷惑不解。其实wiki上已经说的相当清楚,建议看 http://www.jforum.net/doc/ExtensionsAndExtensionGroups
首先要创建一个“扩展名分组”,“分组名”可以是“图片”,“压缩包”,这类统称;“允许”一项一定要勾上,不勾就表示是禁止上传的附件;“下载方式”,不论是“在线”还是“实体”,我发现没有太大区别。“上传图标”为空的话,就默认使用“附件发表图示”中的“images/icon_clip.gif”。我试着使用自己定义的图标,按照wiki上说是相对路径,但是设来设去都不对,作罢。
其次新建一个“扩展名”,每项只能写一个,比如“jpg”,“扩展名注释”随便写,组名选“图片”。
建议新建“*”扩展名,组名任意,“允许”一项不勾取,这样可以做到凡是没有明确允许的扩展名,都无法上载。
section B:群组权限管理
【越级管理员】
越级是指越过群组设置的上下层关系
【分类管理】
选中表示不可见,允许全部表示全部可见
【版块】
选中表示不可见,允许全部表示全部可见(依赖于分类管理的设置)
【匿名发帖】
选中表示该版块禁止匿名用户发帖,允许全部表示匿名用户可以发贴
【只允许回复】
选中表示该版块禁止发主体帖,允许全部表示所有板块可以发主体帖(依赖于分类管理、版块)
【设置主题置顶,公告等】 【发起投票】 【投票】
一旦设置,则是在所有版面允许(依赖于分类管理、版块)
【只读版块】
选中表示该板块只读,允许所有表示不做限制
【限制回复】
选择 '允许全部'将不限制对所有版块的回复,选中指定的版块代表不允许在选择的版本中回复信息?????我不太明白它的意思。
【附件相关】
允许下载附件:选中表示禁止下载该版面附件,'允许全部'表示可以下载所有版面附件
这个意思。。。很绕
【其它 / 一般权限】
管理活动日志是指删贴记录等
【版主】
我的理解:版主是按照群组划分,而不是按照角色。
比如a用户属于A群组,我要设置他为pc版版主。
那我这样设置:
是否允许设置为版主:选“是”
不能修改的论坛: 不选中“pc”版
很绕吧
别的就没什么好说了。
 
/*************************/
/*             其它              */
/*************************/
谁在使用Jforum?
我刚好看到一个现成的例子, http://forum.ubuntu.org.cn/
是的,Jforum有一些小bug,但是不痛不痒的。我也没兴趣读源码修改,将就用了。
这种tomcat为容器快速部署的小论坛,还是很有生命力的。公司内部网,小区业主论坛,都可以用这个搞。
 
/************************/
/*  plus: 为什么会出现中文乱码? */
/************************/
这个问题在web开发中经常出现,我自己也碰到过。这里谈一点我的理解。
乱码问题的实质在于编码不一致。一个web项目,包括数据库,容器(服务器),页面,
    浏览器                      服务器                          数据库
  ______  out     in      ________     out       in  _________
 |              | ----------> |                |  ----------> |             |
 |  页面  |                 |   容器     |                  | db tables|
 |______|<---------- |________|  <---------- |________|
              in      out                       in       out
这三个entry内部都有自己的默认的编码方式,任何一个entry,从上游取得数据,
a.如果上游传来的数据没有明确指示采用何种编码
  那就按照entry默认的编码方式来读取数据,给下游输出的数据也是按照entry默认的编码组织。
  这时候假如上游和entry的编码不一致,entry也不管那么多,反正按照它自己的编码来读,读不懂的地方呢,
  就喷上一堆问号草草了事。
b.如果上游传来的数据有明确指示了编码方式
  则entry内部会进行编码转换,转换为上游指定的编码方式来处理,输出给下游的数据也是转换后的编码。

这三个entry中最容易搞定的是浏览器,浏览器的作用就是把容器生成的页面显示给用户,(以jsp页面为例)一般在页
面的开头都有<%@ page pageEncoding="xxx"%> <%@ page contentType="text/html,charset=xxx" %>字样,它可以
告知浏览器用什么编码方式来读(一般我们的浏览器编码是设为自动选择)。同时,页面由浏览器回炉给容器时,页面
开头的编码字样也可以告知容器用什么编码来处理。
有一些大站的国际化做的很好,会根据用户浏览器的编码设置,自动推送对应的编码页面。这样负担有些大,小网站这
样做有些不划算。
当今的趋势是utf-8一统江湖,尤其是国外的站点,基本上是这样做了,成为事实上的建站标准。而我们国内的大部分
网站还停留在gbk/gb2312和IE6标准,这是一个遗留问题,有些网站已经建了七八年,一改要全改,太麻烦了。
所以,新建设网站的时候,我们还是赶上潮流遵循W3C吧。

你可能感兴趣的:(tomcat,mysql,jsp,浏览器,配置管理)