博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于数据库设计-博客系统
阅读量:6736 次
发布时间:2019-06-25

本文共 6988 字,大约阅读时间需要 23 分钟。

1. 展示博客具体内容

 

2.设计到点击量 所以多加一个点击量字段

 

3.评论内容

 

3.1 记录用户IP地址

 

 

4.jsp展示页面

1 <%@ page language="java" contentType="text/html; charset=gb2312"  2     pageEncoding="gb2312"%>  3 <%@taglib uri="/struts-tags" prefix="s"%>  4 <%@ taglib uri="http://java.fckeditor.net" prefix="FCK"%>   5   6   7   8 我的文章  9 
10
11
12 13 14 15 16
17
18
c
19

${empty sessionScope.blogtitle ? "博客网站系统":sessionScope.blogtitle}
20 ${empty sessionScope.idiograph ? "我的签名":sessionScope.idiograph} 21

22
23
» Font Size «
24
25
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
作者:
57
58
59
60
61
62 当前第${page.currentPage}页,共${page.totalPage}页,每页显示${page.everyPage}条记录 63
64
首页 65
上一页 66
67
68 首页 69 上一页 70
71 72
73
下一页 74
尾页 75
76
77 下一页 78 尾页 79
80
81
82

发表评论

83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
111
121
122
123
124
129
130 131

 

5.

1 package com.sanqing.action;  2   3 import java.text.SimpleDateFormat;  4 import java.util.Date;  5 import java.util.Map;  6   7 import javax.servlet.http.HttpServletRequest;  8   9 import org.apache.struts2.ServletActionContext; 10  11 import com.opensymphony.xwork2.ActionContext; 12 import com.opensymphony.xwork2.ActionSupport; 13 import com.sanqing.fenye.Page; 14 import com.sanqing.fenye.Result; 15 import com.sanqing.po.Article; 16 import com.sanqing.po.BlogInfo; 17 import com.sanqing.service.ArticleService; 18 import com.sanqing.service.BlogInfoService; 19 import com.sanqing.service.CritiqueService; 20 import com.sanqing.service.DianjiliangService; 21  22 public class ShowArticle extends ActionSupport { 23     // 业务逻辑组件属性 24     private ArticleService articleService; 25     // id属性 26     private int id; 27     // 点击量的业务逻辑组件 28     private DianjiliangService dianjiliangService; 29     // 评论的业务逻辑组件 30     private CritiqueService critiqueService; 31     //设置当前页 32     private int currentPage; 33      34     //username 35     private String username; 36      37     private BlogInfoService blogInfoService; 38  39     public BlogInfoService getBlogInfoService() { 40         return blogInfoService; 41     } 42  43     public void setBlogInfoService(BlogInfoService blogInfoService) { 44         this.blogInfoService = blogInfoService; 45     } 46  47     public String getUsername() { 48         return username; 49     } 50  51     public void setUsername(String username) { 52         this.username = username; 53     } 54  55     public int getCurrentPage() { 56         return currentPage; 57     } 58  59     public void setCurrentPage(int currentPage) { 60         this.currentPage = currentPage; 61     } 62  63     public CritiqueService getCritiqueService() { 64         return critiqueService; 65     } 66  67     public void setCritiqueService(CritiqueService critiqueService) { 68         this.critiqueService = critiqueService; 69     } 70  71     public DianjiliangService getDianjiliangService() { 72         return dianjiliangService; 73     } 74  75     public void setDianjiliangService(DianjiliangService dianjiliangService) { 76         this.dianjiliangService = dianjiliangService; 77     } 78  79     public int getId() { 80         return id; 81     } 82  83     public void setId(int id) { 84         this.id = id; 85     } 86  87     public ArticleService getArticleService() { 88         return articleService; 89     } 90  91     public void setArticleService(ArticleService articleService) { 92         this.articleService = articleService; 93     } 94  95     public String execute() throws Exception { 96         // 将文章设置到request范围 97         HttpServletRequest request = ServletActionContext.getRequest(); 98         // 按ID查询文章 99         Article article = articleService.showArticle(id);100         // 获得用户IP101         String IP = request.getRemoteAddr();102         // 获得当前时间103         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");104         String stime = sdf.format(new Date());105         Date time = sdf.parse(stime);106 107         if (!dianjiliangService.isVistor(id, IP, time)) {108             // 点击量增加109             article.setHasread(article.getHasread() + 1);110         }111         // 将更新的Article保存到数据表中112         articleService.addArticle(article);113         114         115         //显示评论116         Page page = new Page();117         page.setCurrentPage(this.getCurrentPage());118         page.setEveryPage(5);119         120         Result result = critiqueService.showCritiqueByPage(id, page);121         122         request.setAttribute("page", result.getPage());123         request.setAttribute("allCri", result.getList());124         request.setAttribute("article", article);125         126         //取得个性化设置127         //通过业务逻辑组件来查询128         if(username != null || !"".equals(username)) {129             Map session = ActionContext.getContext().getSession();130             BlogInfo bloginfo  = blogInfoService.getBlogInfo(username);131             if(bloginfo != null) {132                 session.put("blogtitle", bloginfo.getBlogtitle());133                 session.put("idiograph", bloginfo.getIdiograph());134             }135         }136         return this.SUCCESS;137     }138 139 }

 

 

6 strut2.xml

        <action name="addCritique" class="addCritique">

            <result name="success" type="chain">showArticle</result>
        </action>
       

转载于:https://www.cnblogs.com/sharpest/p/6082946.html

你可能感兴趣的文章
三年观察揭示TNF抑制剂持续改善强柱患者躯体功能的预测因子
查看>>
数据库练习
查看>>
mongodb的开机自启动
查看>>
1303: [CQOI2009]中位数图
查看>>
1011: [HNOI2008]遥远的行星
查看>>
QTP的那些事--有关一个webtable数据的获取案例
查看>>
20190520
查看>>
《Python 二三事》——python学习必看(转载)
查看>>
Minimum Spanning Tree.prim/kruskal(并查集)
查看>>
北邮14&18年软院机试【参考】答案
查看>>
MySQL查询
查看>>
Linux学习笔记04
查看>>
Unity3d热更新之下载
查看>>
设计模式----备忘录模式
查看>>
如何用chkconfig查看手动输入,跳出循环的四个命令
查看>>
ORM了解知识
查看>>
[NHibernate]ISessionFactory配置
查看>>
jboss服务器修改端口说明
查看>>
个人开发—进度记录(三)
查看>>
Idhttp中get与Post的区别
查看>>