贴吧设计说明
一、实验目的
1、连接MySQL数据库
2、读取数据库到web页面
二、实验要求
1、设计一个贴吧使用户可以注册、提问、回答
三、实验步骤
1、实验准备
a 安装mysql
b 安装navicat
c 把MySQL的jar包引入MyEclipse下
2、功能结构图

3、设计数据库
a 定义三个表
user(uid、name)
question(qid、uid、title、content、time)
answer(aid、qid、uid、content、time)
b 通过e-r图分析三者之间的关系
c 数据库代码
CREATE DATABASE TB;
USE TB;
//创建表格
CREATE TABLE USER
(
UID INT(10) NOT NULL AUTO_INCREMENT,
NAME VARCHAR(20) NOT NULL,
PRIMARY KEY(UID)
)ENGINE=INNODB DEFAULT CHARSET=gb2312;
CREATE TABLE QUESTION
(
QID INT(10) NOT NULL AUTO_INCREMENT,
UID INT(10),
TITLE VARCHAR(20),
CONTENT VARCHAR(100) NOT NULL,
TIME VARCHAR(15) NOT NULL,
FOREIGN KEY(UID) REFERENCES USER(UID),
PRIMARY KEY(QID)
)ENGINE=INNODB DEFAULT CHARSET=gb2312;
CREATE TABLE ANSWER
(
AID INT(10) NOT NULL AUTO_INCREMENT,
QID INT(10),
UID INT(10),
CONTENT VARCHAR(200) NOT NULL,
TIME VARCHAR(15) NOT NULL,
FOREIGN KEY(QID) REFERENCES QUESTION(QID),
FOREIGN KEY(UID) REFERENCES USER(UID),
PRIMARY KEY(AID,QID)
)ENGINE=INNODB DEFAULT CHARSET=gb2312;
//插入数据
INSERT INTO USER(UID,NAME) VALUES
(1,'张三'),
(2,'李四'),
(3,'王五');
INSERT INTO QUESTION(QID,UID,TITLE,CONTENT,TIME) VALUES
(1,1,'计算','1+1= ','2014-3-2'),
(2,1,'天气','今天晴天吗?','2014-3-7'),
(3,2,'日期','明天星期几?','2014-3-9'),
(4,3,'天气','后天多少度?','2014-4-5');
INSERT INTO ANSWER(AID,QID,UID,CONTENT,TIME) VALUES
(1,2,2,'今天晴天','2014-3-7'),
(2,2,3,'今天晴天','2014-3-7'),
(1,1,2,'1+1=2','2014-3-10'),
(2,1,3,'1+1=2','2014-3-17'),
(1,3,2,'今天星期二','2014-3-11'),
(1,4,1,'后天20度','2014-4-5');
SELECT * FROM USER
SELECT * FROM QUESTION
SELECT * FROM ANSWER
4、设计java web页面
a 建立三个jsp页面(register.jsp login.jsp show.jsp question.jsp answer.jsp)
b 具体实现思路:首先设计register.jsp注册页面,当用户注册成功后直接进入login.jsp,点击登录进入index.jsp页面,其主要功能是显示数据库中保存的问题,在“管理”一栏中可以添加查看按钮。当点击查看按钮时页面跳转到question. jsp页面,此页 面中可以显示问题的标题、时间、内容和提问者信息,并添加一个回答按钮。当点击回答按钮时页面跳转到answer.jsp,在这个页面中可以统计问题的回答次数,查看回答的内容,添加回答内容,并显示回答时间。同时每个页面都可以返回到主页。(可参照 课本项目6.3---图书管理系统)