這學期的課程,算是結束了吧。開了一門JAVA EE的課程,老師我就不說了,講了一學期的jsp,真像其他老師說的一樣,“不像某老師一樣,會個jsp,準備個課件,能講好幾年”。呵呵了。不過還好,很多東西,都要自學的嘛。
源代碼地址:
https://github.com/hlk-1135/Blog
前言:
學習是一個分享的過程,所以在這裏我會把整個博客項目的所有代碼都分享出來,希望我們一起學習。(初學者,技術略渣,做的不好,多多見諒)
該博客系統使用MVC分層架構,用了html5、css3、jsp、servlet、jquery等技術,其中引用了百度的富文本編輯器,百度分享以及多說第三方開發插件。對於初學者來說,可以參考研究。
項目架構:
首頁:
因爲上學期學了web程序設計,對於頁面的設計還是蠻喜歡的,所以仿了別人的一個個人博客前臺頁面。由於時間原因,我只仿了5個頁子。
後臺界面:
後臺界面我自己用jQuery寫的,很多功能還沒有實現,等有時間再去完善。
![這裏寫圖片描述](https://img-blog.csdn.net/20170109185834327?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSExLXzExMzU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
- 1
- 2
- 3
文章模塊的實現
文章的發表我使用了百度的ueditor富文本編輯器,因爲我需要獲取到寫文章時的原樣式。重點不在這個地方,而是在於將寫的文章保存到數據庫,再在頁面上瀏覽獲取到文章的整個內容。
大體上就是下面這個圖的邏輯。
- 1
- 2
- 3
jsp頁面使用了EL表達式從servlet獲取數據。
<div class="bloglist left">
<%int sum=0; %>
<c:forEach items="${requestScope.titles}" var="title">
<h3>${title.title_article }</h3>
<figure><img src="../images/<%=(sum%4)+1%>.png"></figure>
<%sum=sum+1; %>
<ul class="nlist">
<p>${title.title_summary }</p>
<a href="GetTitle?title_id=${title.title_id }" class="readmore">閱讀全文>></a>
</ul>
<p class="dateview"><span>${title.title_time }</span>
<span>作者:HLK_1135</span><span>閱讀量:[<a>${title.title_read }</a>]</span></p>
</c:forEach>
</div>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
TitleDao的接口類:
public interface TitleDao {
public void addTitle(Title title); //定義添加文章的方法
public Title findTitleByArticle(String tittle_article); //定義按照文章標題查找文章的方法
public Title findTitleById(int tittle_id); //定義按照文章id查找文章的方法
public List<Title> findAllTitles(Page page);//定義按分頁信息查詢所有文章的方法
public int findAllCount(); //定義查詢的記錄數
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
然後在TitleDaoImpl中實現該接口中的所有方法。在TitleServlet中調用該類中的方法執行數據庫的查詢。
文章列表:
瀏覽全文功能:
仿頁嘛,雖然不知道後臺是用什麼實現的上一篇和下一篇,但是還是用自己的方式給搞定了。
分頁功能
分頁功能使用javabean寫了一個分頁類以及一個分頁的輔助類,然後在使用mysql的limit語句實現了分頁。分頁類具體介紹
留言板功能:
該頁面使用了第三方多說。