設(shè)計思路:
1、評論數(shù)和點擊數(shù)都是文章的屬性之一,在文章pojo類添加這兩個屬性。
PRivate Integer hasread; private Integer comment; public Integer getComment() { return comment; } public void setComment(Integer comment) { this.comment = comment; } public Integer getHasread() { return hasread; } public void setHasread(Integer hasread) { this.hasread = hasread; }2、新建一個評論pojo類,包含評論內(nèi)容,評論用戶名,評論文章id屬性。
public class Criticism { private Integer id; private Integer Aid; private String content; private String username; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getAid() { return Aid; } public void setAid(Integer aid) { Aid = aid; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } }3、新建點擊pojo類,包含點擊文章id、ip、日期屬性。
public class Click { private Integer id; private Integer Aid; private String ip; private Date clickDate; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getAid() { return Aid; } public void setAid(Integer aid) { Aid = aid; } public String getIp() { return ip; } public void setIp(String ip) { this.ip = ip; } public Date getClickDate() { return clickDate; } public void setClickDate(Date clickDate) { this.clickDate = clickDate; }}4、一個ip同一日期只能點擊一次,多余點擊點擊數(shù)不增加。
評論數(shù)和點擊數(shù)在博客首頁與博客首頁均有顯示
action中代碼:
public String showArticleCon() throws Exception { HttpServletRequest request = ServletActionContext.getRequest(); Article article = articleService.showArticleCon(id); String ip = request.getRemoteAddr(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String stime = sdf.format(new Date()); Date clickDate = sdf.parse(stime); if(!clickService.queryClick(id, ip, clickDate)) { //點擊量增加 article.setHasread(article.getHasread() + 1); } //將更新的Article保存到數(shù)據(jù)表中 articleService.updateArticle(article); //顯示評論 Page page = new Page(); page.setCurrentPage(this.getCurrentPage()); page.setEveryPage(2); Result result = criticismService.pageQueryCriticism(id, page); request.setAttribute("allCriticism", result.getList()); request.setAttribute("page", result.getPage()); request.setAttribute("article", article); return SUCCESS; }將評論記錄到數(shù)據(jù)庫:public String addCriticism() { Map session = ActionContext.getContext().getSession(); String username = (String) session.get("username"); criticism.setUsername(username); criticism.setAid(id); criticism.setContent(content); this.criticismService.addCriticism(criticism); return SUCCESS; }文章內(nèi)容和評論顯示:
還有很多不足待改進,歡迎各位提出修改意見!!
新聞熱點
疑難解答