基于SSM的摄影爱好者论坛的设计
2019-01-14康梅娟
康梅娟
摘 要:为了给摄影爱好者提供一个在线交流信息的平台,该文基于模块化思想设计并实现了基于SSM的摄影爱好者论坛。该文主要分析了摄影爱好者论坛的设计需求,详细介绍了此系统的功能模块设计、数据库设计和系统功能的实现。摄影爱好者可以利用该论坛学习摄影知识,交流摄影经验,分享摄影照片。
关键词:SSM 摄影 论坛
中图分类号:TP311 文献标识码:A 文章编号:1672-3791(2019)11(a)-0006-02
近年来,随着科学技术的进步和社会经济的发展,人们对于生活品质的要求逐渐提升,喜欢摄影的人也越来越多。现如今随着手机的普及,手机拍摄的照片质量越来越高,让摄影拍照变得更加方便快捷。摄影可以留住生活中美好的记忆,为了给摄影爱好者提供一个沟通思想、交流经验、分享照片的平台,该文设计并实现了基于SSM的摄影爱好者论坛。
1 系统开发相关技术
JSP的英文全称是Java Server Pages,它是一种开发动态网页的技术。它可以使用JSP标签在HTML文档中插入Java代码。使用JSP技术开发的Web应用程序是跨平台的,既能在Linux操作系统上运行,也能在其他操作系统上运行。
SSM框架是由Spring、SpringMVC和MyBatis这3个开源框架整合而成,常被用作数据源比较简单的Web项目的框架。Spring框架创建的目的是为了解决企业应用程序开发的复杂性。分层架构的思想是框架的主要优势之一,分层架构允许设计者选择使用哪一个组件,还可以为开发J2EE应用程序提供集成的框架。SpringMVC是SpringFrameWork的后续产品之一,已经融合在SpringWebFlow里面。Spring框架为构建Web应用程序提供了全功能MVC模块。MyBatis是对Java数据库连接jdbc的封装,有了它的支持,数据库底层操作变得简单透明。MyBatis的操作都是围绕一个sqlSessionFactory实例展开的。
该系统是基于SSM框架开发的论坛,采用JSP技术实现系统的动态功能,使用Eclipse作为系统的开发环境,用Tomcat架设Web服务器,后台数据库采用MySQL实现。
2 系统设计与实现
2.1 系统功能模块设计
该系统功能主要分为两大模块:前台用户模块和后台管理员模块,系统的基本功能具体设计如下。
(1)前台用户模块实现的功能:浏览者可以查看帖子、搜索帖子、查看通知公告、浏览摄影技巧和照片分享栏目下的内容;如果要发布帖子,浏览者需要注册成为网站的会员,会员登录以后可以对摄影信息进行讨论、点赞、脚踩、分享以及举报,可以在个人中心修改个人信息,可以发布帖子、对自己发布的帖子进行管理。
(2)后台管理员模块实现的功能:管理员登录以后可以对用户信息、帖子信息、通知公告信息等进行管理,可以查看和删除会员信息、修改会员的密码,可以查看、搜索、删除帖子,可以查看、添加、修改、删除通知公告,可以对用户举报的摄影帖子信息进行审核。
2.2 数据库设计
数据库设计在动态网站的设计中占有非常重要的地位,数据库结构设计的好坏会直接影响到应用程序的运行效率。合理的数据库结构设计能够提高数据读取与存储的效率,能够保证数据的一致性和完整性。该系统的数据库使用MySQL来设计和实现。
该系统共有6个数据表,分别是用户表、摄影帖子表、被举报帖子表、用户评价表、帖子讨论表、通知公告表。
(1)用戶表主要用来存放用户编号、用户名、用户密码、用户注册邮箱、用户注册时间等信息。
(2)摄影帖子表主要用来存放帖子的编号、帖子的标题、帖子的内容、用户编号、点赞的数目、评论的数目、置顶优先级、创作时间等信息。
(3)被举报帖子表主要用来存放黑名单编号、被举报的帖子编号、举报人的编号、举报的原因、管理员处理情况、举报时间等信息。
(4)用户评价表主要用来存放点赞编号、点赞者的用户编号、被点赞的帖子编号等信息。
(5)帖子讨论表主要用来存放该条评论帖子的编号、该条评论帖子的内容、被评论帖子的编号、评论者的用户编号,该评论创建的时间等信息。
(6)通知公告表主要用来存放通知公告的编号、通知公告的标题、通知公告的内容,创建通知公告的时间等信息。
2.3 系统功能的实现
该系统采用3层架构模式,对表现层、业务逻辑层和数据访问层进行了有效分离,实现了应用程序的低耦合和高内聚,提高了应用程序的执行效率。表现层是指展现给用户的应用程序的界面。业务逻辑层是指针对具体问题的操作,或者说是对数据层的操作,包括对数据业务逻辑进行处理。数据访问层用来对数据库进行直接操作,对数据库中的数据进行查找、添加、修改、和删除等。
该系统使用Spring JDBC进行数据库的访问,实现了数据访问层;使用Spring MVC进行前后端的分离,有了更清晰的业务逻辑;使用JSP作为前端的展示页面,实现了表现层。
系统功能的实现主要表现在数据访问层对数据库中数据的各种操作上。下面分别以发布帖子、搜索帖子功能为例,说明系统功能的实现。
(1)发布帖子功能是摄影爱好者论坛的一个重要功能,要想发布帖子,浏览者必须先注册为网站的会员,会员登录以后才能发布帖子。
实现发布帖子功能的主要代码如下所示。
@Override
public int insertBlog(String tieziName, String tieziContent, int huiyuanid)
{
ChBlog tiezi = new ChBlog();
tiezi.setBlogname(tieziName);
tiezi.setBlogcontent(tieziContent);
tiezi.setUserid(huiyuanid);
tiezi.setStar(0);
int insert_teizi=chBlogMapper.insertSelective(tiezi);
return insert_teizi;
}
(2)搜索帖子功能是整个系统的核心功能之一,也是用户使用摄影爱好者论坛的好助手,用户可以输入关键词搜索自己需要的帖子。
实现搜索帖子功能的主要代码如下所示。
@Override
public SearchResult
{
String URL=BLOGCORE;
//创建查询对象
SolrQuery myquery=new SolrQuery();
//设置查询条件
myquery.setQuery(chaxuntiaojian);
//设置分页
myquery.setStart((yeshu-1)*hangshu);
myquery.setRows(hangshu);
//设置默认搜索域
myquery.set("df","blog_keywords");
//执行查询
SearchResult
//计算查询结果的总页数
long jiluNum=findOutcome.getRecordCount();
long yeShu=jiluNum / hangshu;
if (jiluNum%hangshu > 0)
{
yeShu++;
}
findOutcome.setPageCount(yeShu);
findOutcome.setCurPage(yeshu);
return findOutcome;
}
3 結语
基于SSM的摄影爱好者论坛具有美观、友好的用户界面,操作简单,在功能方面也较为全面。摄影爱好者通过本论坛可以分享摄影照片,学习摄影技巧。与其他同类平台相比,该平台在开发上采用了SSM框架,降低了开发的复杂度,提高了代码的复用率。该文先介绍了系统开发过程中所用到的技术,然后介绍了系统功能模块设计、数据库设计,最后完成了系统功能的实现,对构架基于SSM的类似系统具有一定的参考意义。
参考文献
[1] 陈圣楠.基于SSM框架的信息系统全生命周期管理平台的设计与开发[J].信息技术与信息化,2019(6):79-81.
[2] 马炳周.基于SSM的高校知识分享系统的设计与实现[J].山东工业技术,2019(20):189.
[3] 郑逸凡.基于SSM框架的在线教学系统的设计[J].长沙大学学报,2019(2):41-44.
[4] 王先清.基于SSM架构博客平台设计与实现[J].电脑知识与技术,2018(19):107-109.
[5] 向露.基于SSM的智能停车场管理系统的设计与实现[J].电子设计工程,2018(13):24-27,32.