突然想看看论坛是怎么写的。
回想起以前。用jforum。安装使用。在看看那些代码。很多。
觉得很麻烦。自己需要的论坛也没有要求那么复杂。
就是需要简单的发帖。回帖。
进行管理。就可以了。功能越简单越好。
于是发现了。jsforum。功能超级简单。
其中也发现一些问题。进行简单的修改。
首先是在web.xml添加servlet。(见附件)
没有放web.xml文件。
数据库的创建脚本里面。都是用的text字段。这个倒是不用担心最大长度。
CREATE TABLE forum_forums (id int(10) NOT NULL auto_increment, forum_id int(10) NOT NULL, title text NOT NULL, forum_info text NOT NULL, PRIMARY KEY (id,forum_id) ); CREATE TABLE forum_message (id int(10) NOT NULL auto_increment, forum_id int(10) NOT NULL, thread_id int(10) NOT NULL, reply_id int(10) NOT NULL, message text NOT NULL, user text NOT NULL, date_time datetime NOT NULL, PRIMARY KEY (id,forum_id,thread_id,reply_id) ); CREATE TABLE forum_threads (id int(10) NOT NULL auto_increment, forum_id int(10) NOT NULL, thread_id int(10) NOT NULL, title text NOT NULL, views int(10) default 0, PRIMARY KEY (id,forum_id,thread_id) ); CREATE TABLE forum_users (id int(10) NOT NULL auto_increment, user_name text NOT NULL, password text NOT NULL, email text , registerdate datetime , type text , avatar text , member_title text , signature text , PRIMARY KEY (id) ); CREATE TABLE forum_settings (id int(10) NOT NULL auto_increment, dbName text NOT NULL, dbLogin text NOT NULL, dbPassword text NOT NULL, forumPath text NOT NULL, forumName text NOT NULL, messagePerPage text NOT NULL, PRIMARY KEY (id) );
数据库里面forum_user里面少了一个type字段。
在数据java类里面也有过小小的问题。mysql的驱动定义。
Class.forName("com.mysql.jdbc.Driver");
在执行的时候的方法也不对。
public void query(String SQLQuery){
this.SQLQuery = SQLQuery;
try {
stmt = conn.createStatement();
stmt.executeQuery( SQLQuery );
}
catch( Exception e ){}
}
这个应该是:
public void query(String SQLQuery) {
System.out.println(SQLQuery);
this.SQLQuery = SQLQuery;
try {
stmt = conn.createStatement();
stmt.executeUpdate(SQLQuery);
} catch (Exception e) {
e.printStackTrace();
}
}
明明就是是数据库插入删除的的操作。名字是query。应该叫executeXXX什么吧。
总之修改了之后。是可以用来。
功能什么的都是最简单的方式实现的。自己可以看看研究下。
明白了这个就可以自己写点东西了。
附件里面是整个工程。