您的位置:首页 > 其它

web学习之博客小项目(实现点击数和评论数的显示)

2017-02-08 10:52 381 查看
设计思路:

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;
}


文章内容和评论显示:



还有很多不足待改进,欢迎各位提出修改意见!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: