mvnforum 是一个开源的论坛系统.
使用tomcat 与MySQL
1 :在机器上有jdk ,tomcat 和mysql ,我使用的版本是jdk1.5+apache-tomcat- 5.5.31+mysql5.1.51. (tomcat 最好是新下载进行的,遇到过奇怪的情况是报net.myvietnam.mvncore.web.URLResolverFactory 类 不存在,1.0.2 版本是在的,1.1 以后的在相应的目录确实不存在,后来下新的tomcat 再部署又OK 了,安装MySQL 时字符集选择utf-8 支持 中文)
2 :到mvnForum 官方网站(http://www.mvnforum.com/mvnforumweb/index.jsp) 下载mvnForum 最新版本。我下载的是mvnforum-1.2.2-mvnad-1.0.1-bin-20100817.zip 。
3 :在mysql 数据库中创建mvnforum 数据库, 执行mvnforum-1.2.2-mvnad-1.0.1-bin-20100817 解压后的sql_mvnforum 目录下的mvnForum_mysql.sql 建表。
4 :在Tomcat 的webapps 目录下新建一个名为mvnforum 的文件夹,将mvnforum-1.2.2-mvnad-1.0.1-bin-20100817.zip 解压后的webapp_mvnforum_only 目录下的文件拷贝到mvnforum 下。
5 :修改/mvnforum/WEB-INF/classes 下的mvncore.xml ,注意修改成你自己的数据库配置
6 :将mvnforum-1.2.2-mvnad-1.0.1-bin-20100817.zip 解压后的driver 目录下的mysql 驱动程序 (mysql-connector-java-3.1.12-bin.jar) 拷贝到/mvnforum/WEB-INF/lib 下。
7 :重启tomcat ,在浏览器中输入http://localhost:8080/mvnforum
看到界面即安装成功!
注意:
mvnForum 的管理页面是http://localhost:8080/mvnforum/mvnforumadmin ,中文的搜索要进行索引的重建,这些在后台管理可以找到。
以mvnforum-1.2.2 为例汉化
1 、mvnForum 论坛可以配置mvnforum.xml :
default_locale_name>zh_TW</default_locale_name>
2 、数据库的字集为utf-8
修改mvncore.xml :
<database_url>jdbc:mysql://localhost:3306/mvnforum?useUnicode=true&characterEncoding=utf-8&useOldUTF8Behavior=true</database_url>
mysql4.1 以上的版本要设置useOldUTF8Behavior=false (这个要注意不然会有乱码)
3 、服务器连接器设置(说明:解决中文搜索的问题)
拿tomcat 来说要修改C:/Program Files/apache-tomcat/conf/server.xml中的URIEncoding="utf-8"
例:<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="utf-8"/>
或者是下面这种方式:
不能正常搜索中文的原因是,mvnForum 使用GET 方法提交搜索请求,所以搜索参数是通过QueryString 传递的。而mvnForm 在传 递之前先用UTF-8 进行了URL Encode ,所以在接收参数是也应该用UTF-8 进行URL Decode 。问题出在Tomcat 缺省认为URI 编 码是ISO-8859-1 ,所以在程序中使用request.getParameter 读取参数时,会自动根据ISO-8859-1 进行 URL Decode ,导致错误。解决办法如下:
方法一:
修改$TOMCAT/conf/server.xml 文件,在HTTP Connector 或者AJP Connector 的配置加上URIEncoding="utf-8"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="utf-8" />
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" URIEncoding="utf-8" />
方法二:
使用useBodyEncodingForURI="true". 这个方法适合你的TOMCAT 实例下需要跑多个不同Encoding 的程序时。
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" useBodyEncodingForURI="true" />
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" useBodyEncodingForURI="true" />