设计思路:
1、评论数和点击数都是文章的属性之一,在文章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类,包含评论内容,评论用户名,评论文章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同一日期只能点击一次,多余点击点击数不增加。
评论数和点击数在博客首页与博客首页均有显示
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保存到数据表中 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; }将评论记录到数据库: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; }文章内容和评论显示:
还有很多不足待改进,欢迎各位提出修改意见!!
新闻热点
疑难解答