1. 程式人生 > >Struts2實現的吊炸天留言板系統(包含完整源+mysql資料庫+bootstraps3)原始碼以及課程報告下載地址!

Struts2實現的吊炸天留言板系統(包含完整源+mysql資料庫+bootstraps3)原始碼以及課程報告下載地址!

javaweb高階程式設計的課程設計,留言板系統


的課程報告,由於在評論區竟然有小夥伴


說我原始碼有很多錯誤,還給了我很低的評


分,我想這是對大家和我是不公平的!我


真的是無語,所以把課程報告貼出來讓大


家看看,原始碼是沒問題的!


下面貼出來原始碼下載地址:http://download.csdn.net/detail/baidu_31657889/9692685

以及課程報告下載地址:http://download.csdn.net/detail/baidu_31657889/9692689

還有就是沒積分積分不夠的小夥伴完全可以加我的qq272273581免費贈送的~互相學習


JavaWeb高階程式設計

 

 

 

課程報告

 


 

 

一、需求分析

1)資料庫設計(對於系統的功能進行資料庫設計)

2)使用者登入介面以及註冊設計

3)按照留言的時間的先後順序進行留言排序以及分頁

4)對於留言評論介面的設計

5)對於遊客訪問留言介面的處理,以及遊客登入進行留言的時候進行設計

6)使用者登入之後對於留言的檢視以及對自己留言的管理

7)設定最熱以及最新留言的顯示(程式啟動的時候把資料直接放在application中)

8)留言顯示的頁面跳轉管理

9)用bootstrap進行頁面設計,以及css佈局

二、系統結構設計

1)功能模組:

頁面(java程式碼)

功能

login.jsp

使用者登入

register.jsp

使用者註冊

mainTemp.jsp

留言版主頁面的展示

messageTemp.jsp

單個留言的展示

messageSave.jsp

留言的增加以及修改

delete.action

留言的刪除實現

commentAction.java

增加留言

panduan.action

該使用者是否被註冊過的非同步校驗

PageBean.java

分頁實體的設計

NavUtil.java

導航條的設計

 

2)頁面介紹

登入介面 login.jsp


登入介面主要是對使用者的使用者名稱和密碼進行判斷的介面,加上在session中放入的驗證碼進行對比,login.action進行判斷使用者名稱及密碼是否正確,判斷驗證碼是否正確,以及註冊遊客登入的展示

 

註冊頁面 register.jsp




註冊頁面對於使用者名稱進行ajax非同步判斷是否使用者名稱已經註冊或者可以使用(見下圖)

然後進行不為空判斷,最後進行提交。

 

主頁面 mainTemp.jsp


主頁面分為由四個頁面構成,頭頁面,主頁面,友情連結介面以及尾頁面,頭頁面顯示的是使用者資訊和‘自己留言’以及‘我要留言’,如果是遊客登入的情況,顯示登入註冊以及遊客留言;主頁面是用bootstrap3進行分列表顯示,左邊是主選單欄,對留言的檢視,包括對自己留言的檢視(當然遊客登入的時候是沒有的),以及最熱最新留言檢視的欄目,右邊就是對留言的一個簡單的展示(留言時間以及留言標題擷取顯示);友情連結就是顯示了幾個連結,當然可以設定在資料庫中進行遍歷顯示,時間關係就沒建表;尾頁面展示的是一個版權資訊。

 

留言展示以及修改刪除頁面MessageTemp.jsp


在主頁面點選一個留言的時候會跳轉到這個頁面,展示留言的資訊,如果你是這篇留言的主人的時候,自己可以對自己留言進行修改和刪除操作,如果你是遊客或者這個留言不是出自你手的時候,會提示您沒有許可權進行修改或者刪除,您可以自己寫一個留言;下面會顯示這個留言的評論,當然你也可以進行評論,右邊顯示的是最新留言和最熱留言,當然這個功能應該是自己寫在伺服器啟動的時候放在application中進行遍歷的~

 

留言修改建立介面 MessageSave.jsp


messageTemp.jsp介面進入這個介面之前進行預操作處理,判斷是更新操作還是插入操作,更新的情況對要修改的留言資訊進行遍歷,(當然坐著是不能修改的),如果是插入操作直接判斷之後直接進行插入即可。

 

 

 

 

 

 

3)流程圖:

 

4)資料庫設計(messageBoard表 --mysql資料庫)

表一:t_user(使用者表)

欄位

型別

長度

Id

Int

20

不為空(主鍵)

UserName

Varchar

20

可為空

Password

Varchar

20

可為空

trueName

varchar

20

可為空

Phone

varchar

20

可為空

Email

Varchar

100

可為空

表二:t_message(留言表)

欄位

型別

長度

Id

Int

20

不為空(主鍵)

Title

Varchar

20

可為空

Content

Varchar

20

可為空

date

date

 

可為空

userName

varchar

20

可為空

 

表三:t_comment(評論表)

欄位

型別

長度

CommentId

Int

20

不為空(主鍵)

messageId

int

20

可為空

Content

Varchar

20

可為空

userIp

varchar

20

可為空

commentDate

date

 

可為空

 

5)重要程式碼:

①登入驗證:

public String execute()throws Exception {

      HttpSessionsession=request.getSession();

      Connectioncon=null;

      try{

         StringsRand = (String)session.getAttribute("sRand");

         con = dbUtil.getCon();

         User user = new User();

         user.setUserName(userName);

         user.setPassword(password);

         User currentUser = userDao.login(con,user);

         if (!sRand.equals(imageCode)) {

            error = "驗證碼錯誤!";

            returnERROR;

         } elseif (currentUser ==null) {

            error = "使用者名稱或者密碼錯誤!";

            returnERROR;

         } else {

            session.setAttribute("currentUser",currentUser);

            returnSUCCESS;

         }

      }catch(Exceptione){

         e.printStackTrace();

 

留言顯示:

con =dbUtil.getCon();

         inttotal = messageDao.messagesCount(con,message,userName);

         StringpageCode = PageUtil.getPagation(

               request.getContextPath() +"/mian.action",total,

               Integer.parseInt(page),

               Integer.parseInt(PropertiesUtil.getValue("pageSize")));

         PageBeanpageBean =new PageBean(Integer.parseInt(page),

               Integer.parseInt(PropertiesUtil.getValue("pageSize")));

         messagesList = messageDao.messagesList(con,message, pageBean,userName);

         request.setAttribute("pageCode",pageCode);

         request.setAttribute("messagesList",messagesList);

         request.setAttribute("navCode",

               NavUtil.genNewsManageNavigation("留言顯示","所有留言"));

         request.setAttribute("mainPage","message/messageList.jsp");

         returnSUCCESS;

評論新增:

String messageId=request.getParameter("id");

         HttpSessionsession =request.getSession();

         session.setAttribute("id",messageId);

         Stringcontent=request.getParameter("content");

         StringuserIP=request.getRemoteAddr();

         Commentcomment=new Comment(Integer.parseInt(messageId),content,userIP);

         commentDao.commentAdd(con,comment);

         returnSUCCESS;

 

Ps:由於頁數要求,重要的程式碼不在出示,詳細見程式碼!

 

三、總結與體會

通過這次實驗的撰寫,自己對於學過的struts2知識進行回顧,對於struts2頁面跳轉,監聽器,ajax非同步跳轉,bootstrap3,c標籤,s標籤的使用有了充分的瞭解,更重要的事有了專案經驗,對自己學的知識進行肯定,體會就是自己學過的東西不要以為自己都掌握了,自己在實踐的時候掌握的才是真正的知識,學過的東西反過來複習一下會真正體會到這個東西的真正意義!