Java Web學習交流網(模仿百度貼吧)一、實驗目的
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 USERSELECT * FROM QUESTIONSELECT * FROM ANSWER
4、設計java web頁面
a 建立三個jsp頁面(register.jsp login.jsp show.jsp question.jsp answer.jsp)
b 具體實現思路:
1)首先設計register.jsp註冊頁面,
2)當使用者註冊成功後直接進入login.jsp,
3)成功登入的進入index.jsp頁面。index.jsp其主要功能是顯示資料庫中儲存的問題,在“管理”一欄中有“查看”或者“瀏覽”(超連結)。
4)當點擊"查看"時頁面跳轉到question. jsp頁面(跳轉頁面時帶有question的id參數),此頁面中顯示問題的標題、發布時間、具體內容和提問者使用者資訊,問題下面有一個查看回答的串連。
5)當點擊回答按鈕時頁面跳轉到answer.jsp(帶著Question的id),answer.jsp頁面中第一個任務是:顯示指定的這個問題的回答次數,第二個任務是羅列回答的內容、回答者資訊、回答時間;第三個任務是,在最下方設計添加一個回答的表單,其action=“addAnswer.jsp”。
6)addAnswer.jsp處理answer.jsp表單提交的回答資料,處理後正確的5秒內返回第5步(上一步)顯示回答頁的最新資料(能夠看到多了一個回答)。錯誤的返回上一頁面(可以嘗試記著上次的輸入資料)。
注意:同時每個頁面都可以返回到首頁。
(可參考課本項目6.3---圖書管理系統)