购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.7 文章模块设计

本模块使用的数据表:tb_article(文章信息表)

3.7.1 文章模块概述

文章模块是博客系统的核心,用户将通过该模块实现对文章的维护,它实现的操作包括文章的添加、删除及修改操作,文章类型的添加和删除操作。

3.7.2 文章模块技术分析

在文章模块中涉及的数据表是文章信息表(tb_article)。首先根据这些信息创建文章的实体类,名称为ArticleInfo,然后再创建文章管理的Action控制器类,由控制器控制调用后台业务逻辑并完成文章模块的维护。

1.文章实体类

在文章信息表中保存着文章的标题、文章类别名称及文章内容等信息。根据这些信息创建文章的实体类,名称为ArticleInfo,该类的关键代码如下:

代码位置:光盘 \MR\03\src\com\mr\model\ArticleInfo.java

2.文章的实现类

文章的实现类名称为ArticleAction。该类继承了Struts 2的ActionSupport类并实现类的ServletRequestAware接口,通过该接口的setServletRequest()方法获取Web应用中的request对象。ArticleAction类的具体实现代码如下:

代码位置:光盘 \MR\03\src\com\mr\webiter\ArticleAction.java

在创建完文章实现类后,需要在struts.xml文件中进行配置。该文件主要配置文章实现类的请求结果。文章实现类涉及struts.xml文件的代码如下:

代码位置:光盘 \MR\03\src\ struts.xml

3.7.3 文章模块实现过程

1. 文章类型操作

在用户信息表中,art_type字段存储的内容是文章类型的名称。文章类型字段将文章类型名称以“,”逗号进行分开存储,如图3.17所示。程序将文章类型字段内容获取并存储到String类型对象,之后通过String类型中的split()方法将该字符串中的文章类型名称分隔并存储到String类型的数组中。

图3.17 用户信息表存储文章类型方式

1)文章类型查询与添加

当用户登录博客空间后台成功后,单击左侧操作区域中的“文章类别”超链接,则进入文章类别查询页面中,如图3.18所示。

图3.18 文章类别查询页面

在实际中,当用户在类别表单中输入文章类别名称,单击“添加类别”按钮后可以将文章类别添加到数据库,然后,返回到文章类别查询页面,可以查看到刚刚添加的文章类别。其中,设置添加文章类别的表单代码如下:

代码位置:光盘 \MR\03\WebRoot\blog\userManager\artType _query.jsp

查询文章类别与添加文章类别所触发的URL地址是“userInfo_artType_query.htm”,该地址所执行的方法是UserInfo类中的artType_query()方法,其代码如下:

代码位置:光盘 \MR\ 03\src\com\mr\webiter\UserInfo.java

2)文章类型删除

文章类型的删除是在用户信息表中,将页面中获取文章类型名称的art_type字段相应的内容删除,以实现文章类型删除的操作。实现该操作的是UserInfoAction类中artType_delete()方法,其关键代码如下:

代码位置:光盘 \MR\03\src\com\mr\webiter\UserInfo.java

2.文章添加操作

用户在后台管理数据时,单击左侧操作区域中的“添加文章”超链接,可以进入文章添加的页面,该页面主要是收集文章标题、文章内容及文章发布时间等信息。文章添加页面的运行结果如图3.19所示。

图3.19 文章添加页面

程序通过执行ArticleAction类中的article_add()方法实现添加文章信息的操作,该方法从页面中获取的文章对象articleInfo通过ObjectDao类中的saveT()方法将文章信息保存在数据库中。article_add()关键代码如下:

代码位置:光盘 \MR\ 03\src\com\mr\webiter\ArticleAction.java

3.文章查询操作

当管理员成功登录网站的后台首页面,单击导航区域中的“文章管理”超链接后,可以进入文章查询页面,运行结果如图3.20所示。

图3.20 文章查询页面

利用ArticleAction类中的admin_articleQuery()方法实现文章查询的操作,该方法主要实现3个功能:设置文章查询的HQL语句;执行查询HQL语句实现对文章的查询操作;对查询结果进行分页操作,其代码如下:

代码位置:光盘 \MR\03\src\com\mr\webiter\ArticleAction.java

admin_articleQuery()方法代码流程图如图3.21所示。

图3.21 admin_articleQuery()方法流程图

4.文章详细查询操作

当用户根据用户名访问博客空间时,首先进入的是文章查询页面,在该页面中显示的只是文章的题目信息,如果想要对该文章进行详细查询,单击该文章相应的“详细查询”超链接可以进入到文章详细查询页面,该页面的运行结果如图3.22所示。

图3.22 文章详细查询页面

实现文章详细查询功能的是ArticleInfoAction类中f_article_query()方法。该方法主要实现3个功能:实现对文章的详细查询;将访问文章的次数进行自动增加;查询文章回复的详细内容。admin_articleQuery()方法代码如下:

代码位置:光盘 \MR\03\src\com\mr\webiter\ArticleAction.java

5.推荐文章操作

在网站的首页面中,推荐文章区域中显示进入博客空间的文章标题,如图3.23所示。

推荐文章设置主要是后台的操作,当管理员登录后台成功后,单击导航区域中的“文章管理”超链接,可以对所有的文章信息进行查询操作,如果要想对文章进行详细查询,单击相应的“详细查询”超链接可以进入后台文章详细查询的页面,如图3.24所示。

图3.23 首页显示的推荐文章信息

图3.24 后台文章详细查询页面

实现推荐文章操作功能的是ArticleInfoAction类中的admin_articleQueryOne()方法,其关键代码如下:

代码位置:光盘 \MR\ 03\src\com\mr\webiter\ArticleAction.java CeD2A76yCtKNP/bosPza1N7ps9EEtQ68uTJvqebfvK75fOG9c+ZcGcjLwh3D7JqI

点击中间区域
呼出菜单
上一章
目录
下一章
×