大家好,很高兴和大家分享源码。不管是什么样的需求。都希望各位计算机专业的同学们有一个提高。大家可以通过常用的搜索引擎,以百度为例,搜索 源码乐园 code51 ,然后再次搜索 自己想要的即可。更多的
菜单管理界面
后端管理界面
1 开发背景
1.1 系统开发背景与意义
个人博客是当今网络的热点,个人博客技术的出现使得每个人可以零成本、零维护地创建自己的网络媒体,Blog站点所形成的网状结构促成了不同于以往社区的Blog文化,Blog技术缔造了博客文化。
随着网络出版、发表和张贴文章等网络活动的急速增长,博客已经成为了一个指称这种网络出版和发表文章的专有名词。博客通常是由简短且经常更新的张贴构成,这些张贴的文章都按照年份和日期排列。博客的内容和目的有很大的不同,从对其他网站的超级链接和评论,到有关公司的新闻或构想,或者是个人的日记、照片、诗歌、散文,甚至科幻小说的发表或张贴。许多博客是个人将自己的想法表达出来,或者是一群人根据某个特定主题或共同目标进行合作,每个人都可以随时把自己的思想火花和灵感更新到博客站点之上。简言之,博客就是以网络作为载体,简单迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。
1.2 研究内容
新闻博客管理系统通过简洁、一目了然的方法进行界面设计,主界面上可以查询最新的新闻博客和其他操作,方便的查看各模块的详细明细等信息。
研究的内容主要包括以下方面:
该系统的开发主要包括后台数据库的建立、连接和维护以及前台网络页面的开发两大方面。由于Java的跨平台性、安全性等诸多优势,本论文采用Jsp+SSM+MYSQL的技术途径和规范全局设计开发流程,在Eclipse的开发环境下设计、编写新闻博客管理系统。
该系统主要模块有用户管理、博客文章管理、日志管理、权限管理、查询统计管理、登录等六大功能模块,管理员主要是进行登陆后,对所有新闻博客信息进行管理编辑,可以上传新闻博客,按条件查询新闻博客信息,修改新闻博客信息,删除新闻博客信息,权限设置等等。
1.3 文档的组织结构
文档的组织结果安排如下:
第一章绪论介绍了系统开发的背景与意义,对主要研究内容进行了说明,对文档的组织结构进行了阐述。
第二章主要讨论了系统的需求以及实现相关功能的关键技术和方法。
第三章对系统进行了业务建设与设计,对系统的用户角色和功能需求作了初步设计。
第四章主要对系统相关实现作了更详细的阐述,阐述了系统开发过程中所设计的代码、接口等。
第五章性能测试与分析。
第六章主要阐述了对系统的总结和展望。
最后为致谢与参考文献
2 系统需求分析
2.1 系统需求分析
需求是软件开发的基础,也是研发团队进行系统开发的凭据。有资料指出在软件开发周期中,如果软件项目越新颖、所涉及的应用领域越偏僻,需求分析所占用的时间可以达到整个开发周期的一半以上,而如果是迭代式的开发模型,需求时间也不应该少于1/3。可见,软件需求的重要性不言而喻。然而在软件开发中,需求不明确,客户的参与度不高,沟通不及时,获取客户的信息不完整;无法理解某些领域的技术指标和概念;客户想法的多变性都会造成需求的变更,而一旦变更就会对软件的开发进度和整体结构产生影响,甚至是灾害性的重新设计。
2.2可行性分析
2.2.1经济可行性
现在,计算机的价格已经十分低廉,性能却有了长足的进步。而本系统的开发,基本无需任何特殊的硬件配置,仅需一台普通的电脑。此系统可以为博客主提供很多便利,主要表现有以下几个方面:
第一,本系统的运行更加轻量化,相比于WordPress更加简洁高效,节省更多资源;
第二,本系统的操作界面简洁,可以显著提高博客主的效率;
第三,本系统博客主可以完全掌控,可以使敏感文档更加安全。
本系统的开发所需的设备在现有条件下,只需要少量的投入资金就可以实现,并且借助云的弹性计算和分时租赁可以最大化降低成本开支,因此在经济上是可行的。
2.2.2技术可行性
本系统采用的是JSP、ssm和MySQL开发,Windows XP Professional操作系统,采用JDBC方式与后台数据库进行连接,完成数据的添加、修改、删除、查询等功能。由于JSP、ssm功能强大,而MySQL灵活易维护在开发方面具有方便快捷、使用灵活的特点,以及目前的广泛实际应用,因此使用JSP、ssm、MySQL是开发轻平台的最佳组合从而说明本系统在技术方面可行。
硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。
2.2.3操作可行性
操作可行性是指对开发出来的系统的界面是否美观、简洁易操作,是否有操作步骤提示、相关信息能否自动生成或更新等进行分析。操作是否顺畅很大程度上决定了系统的可行性和受欢迎度,总的来说,用户操作必须简便,系统需要有较好的人机交互,改善用户体验。本新闻博客管理系统采用的是目前较为流行的前端开发技术,界面简单美观,用户操作起来应该十分简单,因此,本新闻博客管理系统在界面操作方面也完全可行。
2.3功能分析
系统管理:该模块主要是对系统的菜单信息、用户信息、用户权限信息进行有效管理,并实现按不同条件对这些数据进行查询的功能。
用户管理:该模块主要是对博客系统的多用户进行管理,允许用户自注册,允许不同的用户不同的角色和权限。
系统日志:该模块主要是管理员及其其他用户的所有操作进行日志记录,便于后期查看及排障。
新闻管理:该模块是整个新闻博客管理系统的核心,包含新闻编辑、新闻管理、分类管理、评论管理、阅读统计等多个功能
2.5信息需求分析
通过对几个想要搭建自己博客网站的同学的调查分析,已经了解了一般的博客主对系统的一些要求,接下来将对博客主的使用情况进行系统分析,考虑到与计算机管理系统的交互性、复杂性和计算机本身的一些特点,在开发新闻博客管理系统时不能简单的对现有的博客系统进行模仿,而应根据一般博客主的真实需求和常用需求进行分类和汇总,通过逐步确认各主要功能的范围,先对主要功能系统分析解决,然后构建出系统的业务流程图和系统结构图。
2.5性能需求分析
(1)系统界面友好美观,操作简单易行,查询灵活方便。
(2)新闻博客文章管理信息化,可随时掌握当前博客文章访问的情况。
(3)系统维护方便可靠,有较高的安全性,满足实用性、先进性的要求。
(4)提供多用户并发访问的能力,支持高并发。
3 系统设计
3.1 系统概述
新闻博客管理系统分为前台模块和后台模块两大部分。前台模块主要是用来浏览新闻博客信息的。后台模块是管理人员用来管理新闻博客信息的。
新闻博客管理系统采用JAVA的三层架构开发,发布版本的运行环境包括:
(1)客户端:
操作系统:Win7
浏览器:谷歌浏览器
(2)服务器端:
操作系统:windows server 2003
应用服务器:Tomcat
(3)数据库服务器端:
操作系统:windows server 2003
数据库系统:MYSQL5.1
3.2 系统功能
3.3 数据库设计
3.3.1数据库概念设计
本新闻博客管理系统包含多个数据库表项,根据每个数据表项分析得到如下E-R 图。
1.用户表(如图3-1所示):
图3-1 用户表
2.新闻表(如图3-2所示)
图3-2 新闻表
3.日志表(如图3-3所示)
图3-3 日志表
4.评论表(如图3-4所示)
图3-4 评论表
5.角色权限管理表(如图3-5所示)
图3-5 角色权限管理表
3.3.2数据库逻辑设计
本系统数据库名称为db_news_sys,一共有七张数据表,分别为用户表(如表3-6所示)、新闻博客分类表(如表3-7所示)、新闻博客文章表(如表3-8所示)、菜单管理信息表(如表3-9所示)、评论管理表(如表3-10所示)、系统日志信息表(如表3-11所示)、用户权限管理表(如表3-12所示)
表3-6 用户表(tb_user)表结构
字段名称 |
数据类型 |
主键 |
是否空 |
说明 |
id |
int |
Y |
N |
主键,用户ID |
username |
varchar(50) |
N |
N |
用户登录名 |
password |
varchar(50) |
N |
N |
用户登录密码 |
roleId |
int |
N |
N |
用户类别,是否为管理员 |
photo |
varchar(128) |
Y |
N |
用户头像 |
sex |
int(1) |
N |
N |
性别 |
age |
int(3) |
N |
N |
年龄 |
address |
varchar(128) |
Y |
N |
住址 |
表3-7 新闻博客分类表(tb_news_category)表结构
字段名称 |
数据类型 |
主键 |
是否空 |
说明 |
id |
Int |
Y |
N |
主键,供应商ID |
name |
varchar(128) |
N |
N |
分类名称 |
sort |
int |
N |
N |
分类排序,默认值0 |
表3-8 新闻博客文章表(tb_news)表结构
字段名称 |
数据类型 |
主键 |
是否空 |
说明 |
id |
int |
Y |
N |
主键,文章ID |
categoryId |
int(11) |
N |
N |
文章分类ID |
title |
int(8) |
N |
N |
文章标题 |
abstrs |
int(8) |
N |
N |
文章摘要 |
tags |
datetime |
N |
N |
文章标签 |
photo |
varchar |
N |
N |
文章需要的图片 |
author |
Varchar |
N |
N |
文章作者 |
content |
longtext |
N |
N |
文章内容 |
viewNumber |
Int |
N |
N |
浏览次数 |
commentNumber |
Int |
N |
N |
评论次数 |
createTime |
Datetime |
N |
N |
创建时间 |
表3-9 菜单管理信息表(tb_menu)表结构
字段名称 |
数据类型 |
主键 |
是否空 |
说明 |
id |
int |
Y |
N |
主键 |
parentId |
int |
N |
N |
本菜单的父菜单的ID |
name |
int |
N |
N |
菜单名称 |
url |
int |
N |
N |
菜单连接 |
icon |
int |
N |
N |
菜单的图片 |
表3-10 评论关系表(tb_comment)表结构
字段名称 |
数据类型 |
主键 |
是否空 |
说明 |
id |
int(11) |
Y |
N |
主键 |
newsId |
int(11) |
N |
N |
用户类别ID |
nickname |
int(11) |
N |
N |
用户可以访问的菜单ID |
content |
varchar |
N |
N |
评论内容 |
createTime |
datetime |
N |
N |
创建时间 |
表3-11 系统日志信息表(tb_log)表结构
字段名称 |
数据类型 |
主键 |
是否空 |
说明 |
id |
int(11) |
Y |
N |
主键 |
content |
varchar(255) |
N |
Y |
日志内容 |
createTime |
datetime |
N |
Y |
销售时间 |
表3-12 用户权限管理表(tb_authority)表结构
字段名称 |
数据类型 |
主键 |
是否空 |
说明 |
id |
int(11) |
Y |
N |
主键 |
roleId |
int(11) |
N |
N |
用户类别ID |
menuId |
int(11) |
N |
N |
用户可以访问的菜单ID |
4 系统实现
4.1 系统开发规划
新闻博客管理系统采用JAVA标准分层的基于组件模型设计。将处理过程拆分到不同的层级、不同服务、不同应用服务器中分别处理,使服务器资源得到更好的利用,解决网络传输时高并发的问题。
新闻博客管理系统采用经典的三层结构,面向对象的JAVA语言和MYSQL数据库存储数据。三层框架包括了界面层、逻辑层和数据层。
表现层:是系统数据来源和UI部分,承担用户操作与逻辑层之间的交互。在本层中实现前台页面的信息显示。后台登录和基本信息的管理操作。用户通过界面操作和业务逻辑层传输数据。
逻辑层是整个系统的核心,它与这个系统的业务紧密相关。
数据层:其功能主要是负责数据库的访问。简单的说就是实现对数据表的Select, Insert, Update, Delete的操作。数据库的设计是在这一套开发系统中十分重要的,好的数据库建立可以让其更快的完成项目。整个数据库的创建是新闻交流系统开发和创立的核心技术,概括的说,就是根据用户的需求创立起满足用户的需要的数据库。数据库的整体设计是在软件开发是其最主要的问题。
4.2 开发语言简介
4.2.1 JSP语言
JSP本是一个简化的Servlet设计,它 是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。
4.2.2 EasyUI
jQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签。
4.2.3 SSM框架
SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。
(1)Sping
Spring是一个开源框架,是于2003年兴起的一个轻量级的Java开发框架由Rod Johnson在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。
Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。但是,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
(2)SpringMVC
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。pring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。
SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。
(3)Mybatis
MyBatis是一个基于Java的持久层框架,mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据
4.2.4 JSP
JSP本是一个简化的Servlet设计,它 是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。
4.2.5 MYSQL数据库
MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
自从Oracle公司收购了MySQL后不久,就发行了MySQL的企业版(不再免费)。
4.2.6 JavaScript
JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。它最初由网景公司(Netscape)的Brendan Eich设计,是一种动态、弱类型、基于原型的语言,内置支持类。
Javascript语言与Java语言在语法上比较相似,但随着对Javascript的深入了解后你会发现,它们说到底是两种语言。
开发工具: Idea/Eclipse
数据库: mysql
Jar包仓库: Maven
前段框架:jquery/Jsp
后端框架: Spring+SpringMVC+Mybatis
随着网络出版、发表和张贴文章等网络活动的急速增长,博客已经成为了一个指称这种网络出版和发表文章的专有名词。博客通常是由简短且经常更新的张贴构成,这些张贴的文章都按照年份和日期排列。博客的内容和目的有很大的不同,从对其他网站的超级链接和评论,到有关公司的新闻或构想,或者是个人的日记、照片、诗歌、散文,甚至科幻小说的发表或张贴。许多博客是个人将自己的想法表达出来,或者是一群人根据某个特定主题或共同目标进行合作,每个人都可以随时把自己的思想火花和灵感更新到博客站点之上。简言之,博客就是以网络作为载体,简单迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。