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

设计思路:

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

文章内容和评论显示:



还有很多不足待改进,欢迎各位提出修改意见!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值