天天看點

将新聞釋出系統改為部落格系統的思路

新聞釋出系統設計的過程

需求分析和設計階段

首先分析功能需求:有四個子產品(使用者管理子產品、新聞類别管理子產品、新聞釋出管理子產品前台類别展示子產品)。

然後進行系統架構設計:有四個架構(持久對象層、資料通路層、業務邏輯層、web表現層)

資料分析與設計階段

通過需求分析,确定對象實體四個:角色、使用者、新聞類别、新聞。與之對應有四張表(角色表、使用者表、新聞類别、新聞表),設定好表的主鍵和外鍵。

最後用MySQL把資料庫建立起來。

系統功能實作第一階段——實作使用者管理

首先做好開發環境和架構搭建。建立項目和引入包-編寫配置檔案-建立項目相關檔案和引入檔案資源。

接着做好使用者管理子產品。建立持久化類(role+user)-實作DAO(接口+映射檔案)-實作service(接口+實作類)-實作controller(user)+實作頁面功能(login+user_list+add_user+edit_user)

最後運作,測試登入和使用者管理。

系統功能實作第二階段——實作新聞管理

建立持久類(category+blog)+分頁管理(utils.pagebean)-實作DAO-實作service-實作controller+頁面功能(blog_list+add_blog+edit_blog)。

最後測試。

系統功能實作第三階段——實作登入驗證

建立攔截器類loginInterceptor-在springmvc-config.xml中配置攔截器

最後測試。

部落格系統設計的思路:改資料庫;改代碼;改界面;詳情如下

改資料庫階段:

角色表(t_role)

字段名 類型 長度 字段說明 備注
roleId int 32 角色ID 主鍵
roleName Varchar 20 角色名稱

使用者表(t_user)

字段名 類型 長度 字段說明 備注
userId int 32 使用者ID 主鍵
userName varchar 20 使用者姓名
loginName varchar 20 登入賬戶
password varchar 20 登入密碼
roleId int 32 角色ID 外鍵
tel varchar 50 聯系電話
registerTime datatime 注冊時間
status char 1 注冊狀态 1:未啟用;2,3

部落格類别表(t_category)

字段名 類别 長度 字段說明 備注
categoryId int 32 類别ID 主鍵
categoryName varchar 20 類别名稱

部落格表(t_blog)

字段名 類别 長度 字段說明 備注
blogId int 32 類别ID 主鍵
title varchar 60 資訊标題
contentTitle varchar 120 資訊内容标題
titlePicUrl varchar 120 标題圖(路徑)
content text 資訊内容
contentAbstract varchar 300 内容摘要
keywords varchar 100 關鍵詞
categoryId int 32 資訊類别ID 外鍵
userId int 32 釋出使用者ID 外鍵
author varchar 30 作者(來源)
publishTime datetime 釋出時間
clicks int 32 浏覽次數
publishStatus char 1 釋出狀态 1釋出,2撤回

插入role的資料:

Insert into t_role values(1,’admin’);

Insert into t_role values(2,’author’);

Insert into t_role values(3,’reader’);

插入user的資料:

Insert into t_user(username,loginName,password,status、roleId)values(‘admin’,’admin’,’123456’,’2’,1);

插入category的資料:

Insert into t_category values(1,’同人’);

Insert into t_category values(2,’科幻’);

Insert into t_category values(3,’都市’);

改代碼第一階段——使用者管理與登入:建立持久類-DAO-service-controller+view;

1建立資料庫;修改db.properties;

2修改持久類3修改DAO和service4修改控制器類5修改頁面檔案

遇到的問題:GBK與UTF-8轉碼的事情;eclipse項目重命名;

​​https://jingyan.baidu.com/article/4f34706e6e1f85e387b56daf.html​​

改代碼第二階段——内容管理+攔截器

1修改持久類2修改DAO和service3修改控制器類

重點把news改為blog;

遇到的問題修改項目名:

​​https://jingyan.baidu.com/article/066074d6fd08ecc3c21cb0d7.html​​

必須先把編碼改為GBK編碼格式

問題1some characters cannot be mapped using “GBK” character encoding.Either changer the encoding or remove the characters whith are not supported by the “GBK” character encoding.

解決方法:在window-profermance-general-contexttype-text看目錄下的每個檔案,每改一個,update一下,都改為UTF-8;

問題2改news為blog;

解決方法:Ctrl+f;Ctrl+H

4修改頁面檔案(Ctrl+H修改)

路徑blog_publish的上下文中的servlet引發異常,查詢資料庫出錯。Blog.t_news不存在。

原因:可能映射檔案沒配置好;

未解決。

改界面第一階段——前台界面

增加修飾;換皮膚;未開始

改界面第二階段——背景界面

未開始

結論:部分修改可以,但是資料庫映射的地方學得還不夠,明天鞏固一下mybatis相關的内容,分析是哪裡的原因。最後實在不行就不修改了,從頭做一遍。