基于SSM+MySQL+Jsp的新闻博客系统(附论文)

大家好,很高兴和大家分享源码。不管是什么样的需求。都希望各位计算机专业的同学们有一个提高。大家可以通过常用的搜索引擎,以百度为例,搜索 源码乐园 code51 ,然后再次搜索 自己想要的即可。更多的

项目运行截图

菜单管理界面

基于SSM+MySQL+Jsp的新闻博客系统(附论文)_第1张图片

后端管理界面

基于SSM+MySQL+Jsp的新闻博客系统(附论文)_第2张图片


 

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 系统功能

  1. 系统功能模块

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

资料说明

随着网络出版、发表和张贴文章等网络活动的急速增长,博客已经成为了一个指称这种网络出版和发表文章的专有名词。博客通常是由简短且经常更新的张贴构成,这些张贴的文章都按照年份和日期排列。博客的内容和目的有很大的不同,从对其他网站的超级链接和评论,到有关公司的新闻或构想,或者是个人的日记、照片、诗歌、散文,甚至科幻小说的发表或张贴。许多博客是个人将自己的想法表达出来,或者是一群人根据某个特定主题或共同目标进行合作,每个人都可以随时把自己的思想火花和灵感更新到博客站点之上。简言之,博客就是以网络作为载体,简单迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。

你可能感兴趣的:(java,html,mysql,数据库)