博客網站系統實訓報告
蘇 州 市 職 業(yè) 大 學實習(實訓)報告名稱2013年 6 月 24日至 2013年7月4日共 2周學院(部) 計算機工程學院班 級 11軟件技術(外包)學 號 116314112
蘇 州 市 職 業(yè) 大 學
實習(實訓)報告
名稱
2013年 6 月 24日至 2013年7月4日共 2周
學院(部) 計算機工程學院
班 級 11軟件技術(外包)
學 號 116314112
姓 名 蔣思思
學院(部) 負責人
系 主 任
指導教師
,目 錄
1. 項目實訓的目的與要求 . ............................................................................................................... 1
1.1 項目實訓目的 . .................................................................................................................. 1
2. 課題說明........................................................................................................................................ 1
2.1需求分析 . ........................................................................................................................... 1
2.2開發(fā)工具與技術介紹 . ....................................................................................................... 2
3. 總體設計........................................................................................................................................ 2
3.1系統項目規(guī)劃 . ................................................................................................................... 2
3.2系統功能結構圖 . ............................................................................................................... 3
3.3數據庫設計 . ....................................................................................................................... 4
4. 系統實現 . ..................................................................................................................................... 6
4.1博客系統登錄界面 . ........................................................................................................... 6
4.2博客網站首頁 . ................................................................................................................... 7
4.3新博客注冊界面 . ............................................................................................................... 8
4.4個性化設置界面 . ............................................................................................................... 9
4.5寫日志頁面 . ..................................................................................................................... 10
4.6相冊頁面 . ......................................................................................................................... 11
5. 開發(fā)技巧與實現方法 . ............................................................................................................... 12
5.1在Struts 中使用攔截器進行用戶登錄的實現 ............................................................ 12
5.2在攔截器中進行配置 . ..................................................................................................... 13
5.3利用Hibernate 技術進行個人博客操作 . ..................................................................... 13
5.4進行個人博客操作后,進行配置修改 . ......................................................................... 14
5.5在Action 中進行超鏈接的調用 . ................................................................................... 14
6. 項目實訓總結 . ........................................................................................................................... 15
7、參考文獻 . .................................................................................................................................. 16
,1. 項目實訓的目的與要求
1.1項目實訓目的
課程設計總的目的在于加深對網頁設計與制作的基本知識的理解,網頁設計與制作技能綜合運用和提高,通過真實工作任務,使我們能設計出有一定水平的網頁并解決培養(yǎng)解決實際問題的能力,掌握實際網頁設計與制作開發(fā)流程和開發(fā)方法。
具體的課程設計應達到以下目的:
1.提高我們在實際操作中收集信息,對信息進行價值判斷,信息整理、加工的能力。
2.在實際的項目任務中培養(yǎng)網頁設計方面的素養(yǎng)。
3.在實際的項目任務中使我們網頁編程和制作的能力得到提高。
4. 培養(yǎng)相關知識和技能的綜合應用能力。
5.掌握運用JA V A EE語言及數據庫原理知識進行系統分析和設計的方法
課程的要求在于:考驗我們上課所學知識,我們能否獨自完成一個網頁系統的開發(fā)。我們要熟練應用JA V A EE 所學的知識,與數據庫相結合,制作一個具有實用和美觀雙重功能的網頁系統。
2. 課題說明
2.1需求分析
博客是Blog 的中文譯名,隨著網絡的發(fā)展,博客成為網民不可缺少的一部分。目前主流門戶網站,例如網易、新浪都開通了自己的博客頻道。除此之外,還出現了博客網站,也就是說在博客網站中僅能寫博客和看別人的博客,例如IT 技術最有名的博客園。在本章中我們就來開發(fā)一個類似的網站系統。
求賢人才網是一家專業(yè)于IT 方向招聘的網站,為了更好的招聘到合適的人才,推出博客業(yè)務。求賢人才網通過博客用戶的技術水平來判斷他是否能夠勝任相應的工作,公司用戶也可以通過看博客用戶的文章看到相應的技術水平。求賢人才網將通過這種方式,招攬更多的人才,從而增加自己的招聘業(yè)務量。
對于求賢人才網來說,最大的需求就是讓更多的用戶瀏覽和注冊,并且發(fā)表自己的博客文章。對于用戶而言,首先要能瀏覽其他用戶發(fā)表的文章,并且這項操作是應該不需要登錄的。用戶注冊并登錄后,要能夠發(fā)表自己的信息,從而能夠提供給別人查看。
1
,2.2開發(fā)工具與技術介紹
硬件平臺:
● CPU :P41.8GHz ;
● 內存:256MB 以上。
軟件平臺:
● 操作系統:Windows 7 Server;
● 數據庫:MySQL ;
● 開發(fā)工具包:DreamweaverCS4, PhotoshopCS4,Eclipse;
● 服務器:IIS 5.1;
● 瀏覽器:IE5.0及以上版本,推薦使用IE6.0;
分辨率:最佳效果1024×768。
3. 總體設計
3.1系統項目規(guī)劃
該博客網站的功能主要是為了博客用戶設計開發(fā)的,用戶進入博客網站后,有三種選擇,注冊新用戶,登錄和瀏覽博客。通過注冊和登錄用戶可以獲取自己博客空間,如果不進行這些操作,用戶也可以瀏覽其他用戶的博客內容。
進入自己博客中,用戶要能夠完成如下功能
● 對自己的博客進行個性化設計
● 發(fā)表日志
● 上傳圖片和對圖片進行瀏覽
在博客首頁中,是不區(qū)分用戶是否登錄的,用戶用能夠完成如下功能:
● 瀏覽博客網站的所有文章
● 瀏覽某一博客用戶發(fā)表的所有文章
● 瀏覽某一博客用戶上傳的圖片
● 對文章進行評論
● 查看文章的點擊率
● 查看文章的評論量
2
,3.2系統功能結構圖
本系統首先需要對用戶進行身份驗證,驗證時判斷用戶是以注冊用戶還是普通游客。如果已是注冊用戶,則跳轉到對應的個人博客的頁面;如果是游客,則直接進入到博客網站首頁。下面是博客網站的功能結構圖。

圖 3.1模塊結構圖
3
,3.3數據庫設計
本系統一共設計出5個實體,分別是用戶實體、文章實體、個性化實體、評論實體以及點擊量實體。
(1)用戶表用來存儲博客系統中建立自己的博客,并進行博客操作的客戶,包括用戶名、密碼、昵稱、密碼保護問題和密碼保護回答字段。
表3.1 用戶表

(2)個性設置表用來儲存用戶對個人博客進行個性化設置的基本信息,包括用戶名、博客標題和個性簽名。
表3.1 個性設置表
(3)文章表用來存儲博客系統中博客文章的基本信息,包括文章的Id 、文章標題、文章內容、發(fā)表用戶名、發(fā)表時間和評論數。
表3.1 文章表

4

(4)評論表用來存儲博客系統中所有評論的基本信息,包括評論Id 、評論文章、評論內容和評論用戶。
表3.1 評論表

(5)點擊量表用來存儲博客系統中點擊文章的基本信息,包括ID ,文章ID ,點擊者IP 和點擊時間。
表3.1 點擊量表

5
,4. 系統實現
4.1博客系統登錄界面
如下圖所示

圖4.1 博客系統登錄界面
登錄界面關鍵代碼如下:
public String execute() throws Exception {
} User user = new User(); user.setUsername(username ); user.setPassword(password ); //獲得request HttpServletRequest request = ServletActionContext. getRequest (); if (userService .loginUser(user)) { } request.setAttribute("url" , "user/getBlogInfo.action"); request.setAttribute("info" , " 登陸成功" ); //將username 保存到session 范圍中 HttpSession session =request.getSession(); session.setAttribute("username", username); Map session = ActionContext.getContext ().getSession(); session.put("username" , username ); return SUCCESS ; request.setAttribute("url" , "login.jsp" ); request.setAttribute("info" , " 登陸失敗" ); return ERROR ; // // } else {
6
,4.2博客網站首頁
進入登錄界面后,可以選擇不登錄,而是直接單擊“博客首頁”,從而進入博客系統首頁,在博客系統首頁中可以查看到該博客的網站中已經發(fā)表的博客文章,在博客網站的右半部分還可以看到文章的發(fā)表時間、點擊量、評論和發(fā)表用戶。

圖4.2 博客網站首頁
下面是博客網站頁面的關鍵代碼:
public String execute() throws Exception {
址
}
7
Page page = new Page(); page.setCurrentPage(0); page.setEveryPage(10); //分頁信息 //設置當前頁為第一頁 //每頁顯示10條記錄 Result result = articleService . showArticleByPage(page);//通過調用業(yè)務邏輯組件來完成查詢 page = result.getPage(); List
4.3新博客注冊界面
游客可以點擊新用戶注冊來注冊屬于自己的用戶。點擊新用戶注冊就可以進行新用戶注冊。

圖4.3 新博客注冊界面
下面是新博客注冊頁面的關鍵代碼:
public String execute() throws Exception {
} //封裝一個user 對象 User user = new User(); user.setUsername(username ); user.setPassword(password ); user.setNickname(nickname ); user.setQuestion(question ); user.setAnswer(answer ); //獲得request HttpServletRequest request = ServletActionContext. getRequest (); if (userService .registerUser(user)) { request.setAttribute("url" , "login.jsp" ); request.setAttribute("info" , " 注冊成功" ); return SUCCESS ; }else { } request.setAttribute("url" , "register.jsp" ); request.setAttribute("info" , " 注冊失敗" ); return ERROR ;
8