




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 本 科 毕 业 设 计 第 38 页 共 39 页1 引言进入21世纪,什么发展的最快?没错,就是互联网,如今互联网与人们的生活密切相关。互联网不限地域,不限种族,拉近了人与人之间的距离,正在逐步改变着人们的社会环境和生活习惯。而作为当代大学生,我们更应该好好利用互联网,为社会创造更大的价值。1.1 课题背景进入了21世纪,社会发展,互联网发展,各行各业都在发展。以前人们看新闻只是看看报纸,听听收音机,看看新闻联播之类的。但今天互联网上新闻信息量大,种类多,社交化。不仅有权威新闻,更增加了人们身边发生的小新闻,使新闻快速传播,极大地方便了人们的生活。近些年人们生活的社会环境以及生活方式都在逐
2、步发生着改变,人们也快速适应了这种环境,尤其是年轻人越来越愿意看一些电子类的新闻,而不是看报纸,并且年轻人现在更乐于自己发布身边的趣事,发布自己的看法等。随着互联网的发展,人们利用互联网传播了许多趣事,以前没有网络,很多事情即使发生了我们也不知道,现在随着互联网的发展,这些趣事才得以传播与分享。人们对新闻有了更高的要求,即不只是能看新闻,更要自己发布分享自己身边的新闻。传统的新闻系统更多的是注重新闻的繁多与种类,很少注重新闻是否是人们自己身边发生的亲眼所见的事以及人们自己的想法。社交化新闻综合系统的开发正是顺应这一需求,满足人们随时随地发布各种类型新闻,评论新闻等需求。无论是什么类型的新闻,只
3、要通过管理员审核都可以发布在主页,供人们浏览。并且增加关注好友功能,方便快捷,大大提高了人们对发布新闻的兴趣,调动人们的积极性,为社会传播正能量。1.2 课题研究目的及意义1.2.1 课题研究目的随着网络的日益发展,借此东风,新闻网页也逐步发展起来,与报纸电视,广播电台这些传统新闻比起来,网页新闻内容丰富,浏览方便,操作便捷。另外许多新鲜事在我们身边发生,人们越来越愿意分享身边的新闻,传统的新闻系统注重新闻的种类,数量,新鲜度,但是恰巧缺少人们内心对新闻需求的真正理解,人们不仅想浏览新闻,更多的是想把自己看到的新闻和想法也发布出来。本课题正是顺应当今时代潮流,不仅具有传统新闻网页新闻内容丰富、
4、浏览便捷等优点,更开发出社交化的新闻系统,使人们不仅能浏览各种新闻,更可以与好友互动新闻,自己发布新闻,使人们用一双善于发现的眼睛发布自己身边的新闻,增加了新闻的社交性,趣味性,广泛性。1.2.2 课题研究意义就传统的新闻系统而言,存在以下弊端。首先新闻发布作者很杂,社会各种人物都有,而人们有时只会对某些人发表的新闻感兴趣,这时弊端就出现了,整个页面新闻数量庞大,想找到之前自己喜欢的作者不容易。然后是发布新闻,传统新闻只是有管理员或者某些人发布,不能做到用户自己发布自己身边的新鲜事,只能看固有的新闻,但是不能分享。其次,传统新闻系统注重的只是新闻,忽略了用户,没有用户的一席之地,用户体验感差。
5、最后用户除了能看别人的新闻别的都不能做,不能以主人公身份使用,用户体验差,新闻效果差,使用效果不好。而本课题是基于Spring MVC 框架的Java WEB的社交化新闻综合系统,正是要解决以上问题。首页可以浏览各类新闻,订阅相关用户,除此之外,增设个人主页和个人中心,在个人中心中,用户相当于拥有了一个自己的后台,在不违法的情况下可以发文章、发广告、产看好友动态、产看收藏的文章、更换个人主页的皮肤颜色等等。使用户积极参与到新闻的发布与实现中,增加了使用乐趣,调动了积极性,从了促使新闻类型更加繁多,使用户登录自己的账号使用系统,并且网站后台有管理员对前台用户进行管理,不仅管理新闻广告,也管理着各
6、种信息,维护了社交化新闻综合系统的安全性。大大增加了社交化新闻综合系统的使用乐趣,使看新闻不在枯燥,更人性化。1.3 课题内容本系统是一套基于B/S架构的社交化新闻综合系统。该系统分为分为注册登录注销模块、社会、娱乐、科技、车类、体育、国际等新闻类型模块、活跃用户模块、个人主页模块、个人中心模块,其中个人中心又分为文章管理模块、广告管理模块、数据统计模块、设置模块、通知模块等主要模块。在整个使用过程中程序的后台管理员又管理着用户的信息及相关操作是否合理,保证了系统的安全性,稳定性,合法性。而整个社交化新闻综合系统满足用户多方面的需求,给用户更好的体验感。使用户融入新闻系统中,体会不只是浏览新闻
7、带来的乐趣,更多的是分享新闻与好友互动的乐趣。本系统主要使用Spring MVC和Mbatis这两大流行架构,这种架构的使用大大加快了本系统的开发速度。前台主要是以JSP页面为主进行的展示,美观大方,操作方便,功能强大。后台使用Mysql数据库进行存储。整个系统最终能够使用户拥有更好的操作体验感。2 系统开发技术及开发环境基于Java Web的社交化新闻综合系统是在Windows 7 64位个人的计算机上进行操作并设计与开发的,系统整体采用的是B/S架构,J2EE开发平台进行开发,使用Eclipse JEE开发工具对代码进行组织与编写,使用Apache Tomcat 7.0来实现项目的规划和执
8、行。该系统前台主要采用JSP开发技术及Spring MVC架构组织模块的管理结构。并且在该系统发布文章,发布广告模块中使用了第三方插件KindEditor文本编辑器,使用户体验更好的编辑效果。后台采用MySQL数据库,进行整个数据库的设计,并可以对数据进行增、删、改、查,另外使用Mybatis框架对数据库做数据持久层,进行数据操作。下面将会对开发本系统开发环境、结构架构、开发技术进行简单的介绍。2.1 开发环境及工具基于Java Web的社交化新闻综合系统的设计与开发是在Windows 7 64位个人的计算机上进行操作的,本课题采用J2EE技术架构中的JSP、JDBC、Java Servlet
9、技术及MVC模式、Spring MVC、Mybatis框架等技术、使用MySQL数据库对数据存储、使用Eclipse JEE开发工具进行代码的编写。2.2 Java Web技术介绍Java Web,就是用Java技术用来解决相应的web互联网相关领域的技术总和。Java在客户端的使用很少,但是在服务端的应用十分广泛,比如Servlet,JSP等。Java Web技术是现在在中、大型项目系统中最受欢迎的开发技术,它是强调系统表示层所采用的技术,另外Java Web很容易维护,性价比高,安全性也很高等优点使得它使用的非常广泛1。Web的部分主要是由JSP技术和Servlet技术组成的,他们有一个共
10、性,就是在服务器端解析并执行的代码,JSP指的是动态网页技术,其实JSP本质就是Servlet,Jsp的执行过程是开始先装换成servlet代码,然后编译servlet代码成可执行类文件,最后调用可执行类文件,返回文本9。并且内容全面,覆盖所有应该在Web java开发应该掌握的知识,而且对新jsp2.2规格servlet3.0增加了新功能。JavaWeb开发动态网站的步骤大致分为,首先创建web项目,然后设计web项目的目录结构,编写代码并部署web项目,最后运行web项目。总之Java Web技术应用非常广泛,本系统也是基于这个技术完成的。通俗地讲Java Web技术是由是Java技术和W
11、eb技术综合在一起的,Java技术部分来负责底层最基础数据操作和最表层逻辑操作。6Web技术部分主要是Servlet技术与JSP技术,这两个技术都是在服务器端口进行解析并且运行的代码的7。JSP主要的优点如下。第一,Web服务器的支持:绝大多数的通用Web服务器例如:Apache、Netscape和Microsoft IIS都支持使用JSP页面,而支持ASP的只有微软本身的Microsoft IIS和Personal Web Server。第二,平台的支持:JSP程序具有独立性,只要是一般的Java程序能够运行的平台,都支持使用JSP程序。Windows平台虽然可以支持ASP,但ASP对Win
12、32逐渐模型很依赖,使得ASP很难植入到其它的平台上。第三,组件模型:JSP是建立在可重用的、跨平台的组件上的,然而ASP的使用是基于Win32的组件模型。第四,脚本语言:JSP能够使用JavaScript或者Java编程语言来作为脚本语言,而ASP只能使用VBScript或Jscript来作脚本语言。第五,安全性:JSP使用Java作为安全模型,而ASP使用的却是Windows NT的安全结构。第六,与Access数据库的连接:JSP是以JDBC为支撑通过Access实现与数据库的连接,而ASP是使用Access数据库的Data Active Objects。32.3 Spring MVC技
13、术介绍MVC即Model-View-Controller,把一个应用的输入、处理、输出的过程按照Model-View-Controller的方式进行分离,这样的一个应用被分为三个层,分别是模型层,视图层,控制层。Spring MVC是属于SpringFrameWork的一个应用广泛的后续产品,它已经融入在Spring Web Flow当中。Spring 框架为构建 Web 的应用程序提供了全功能 MVC 模块。使用 Spring 可嵌入的MVC架构,从而在使用Spring对WEB进行开发时,这时就可以选择运用Spring的SpringMVC框架或者集成其他的MVC开发框架模式8。SpringM
14、VC是一个典型的传统的教科书式的一个mvc构架,而并不像struts等都是变种的或者不是完整的基于mvc系统的框架,对于刚开始学习的初学者或者想多了解mvc的人来说,我觉得 spring是首选,它的实现就是一本教科书!第二,它和tapestry同样是一个纯粹的servlet系统,这也是Spring和tapestry相比 struts所没有的优势。而且它的框架本身就有代码,所以看起来也比较容易理解。MVC已经成为了现代Web开发工具中的一个重要的组成部分。MVC作为WEB项目开发中的一个最核心环节,正如它三个单词分解开来那样,”C”(控制器)将”V”(用户客户端、视图)与”M”(模块,业务)分开
15、构成了MVC。Spring MVC运行原理如下,首先将客户端的请求提交到DispatcherServlet中,然后由DispatcherServlet控制器快速查询一个或者多个HandlerMapping,找到对应处理请求的Controller,之后DispatcherServlet会将请求提交到了Controller,Controller调用业务逻辑处理之后,又会返回ModelAndView,DispatcherServlet查询了一个或者是多个ViewResoler的视图解析器,找到ModelAndView规定的视图,最后视图负责会将结果显示到客户端。视图(View):总体来说,视图就是代
16、表的用户在使用时的那个界面,也称为交互界面。对于网页来说,可以是JSP、HTML、Applet和XML等等。在一个应用中,会出现多个视图,每个视图也会不一样,MVC模式对视图上只处理数据和用户请求,但是他却不处理各种业务是怎样工作的。业务流程的处理交给模型(model)处理。模型(Model):是处理业务以及业务规定的制定。模型接受了视图请求的数据,并返回最终的处理结果。MVC中最主要的核心的是业务模型的设计。MVC设计模式明确告诉我们,把应用的模型按照一定的规则抽取出来,其中抽取的层次很重要,具体与抽象不能隔的太远,也不能隔得太近。但是MVC并没有提供模型的设计方法,而只是提供组织管理这些模
17、型,有利于模型的重构和提高模型重用性。控制(Controller):可以这么理解,从用户接受请求,将视图与模型匹配在一起,最后共同完成用户的请求。划分控制层的作用非常显而易见,它清楚地告诉我们,它其实就是一个分发器,采用什么类型的模型,采用什么类型的视图,最终完成用户提出的需求。控制层不做任何数据的处理。2.4 MyBatis技术介绍MyB类的实例或一个xml配置文件中获得。使用xml文件搭建SqlSessionFactory实例其实是非常容易的事情。推荐在这个过程中使用类路径资源,但其实也可以使用任何的Reader实例,其中包括用文件的路径或file:/开头的url创建的实例。MyBatis
18、还有一个实用类-Resources,resource有很多方法,可以方便快速地从类路径或者其它位置加载资源。我们可以把Mybatis的功能架构大致分为三层:第一层API接口层:提供给外部使用的接口,开发人员是通过这些本地的接口来操控数据库接口层,接口层一旦接收到调用请求后就会立刻调用数据处理层来完成相应的数据处理流程。第二层数据处理层:这一层主要负责具体的SQL语句的查找、SQL语句的解析、SQL语句的执行和执行结果映射怎么处理等。数据处理atis是支持常见的SQL查询,存储的过程和高级映射的持久层框架,mybatis清除了几乎所有的JDBC代码和和手工设置参数以及结果集的搜索。.mybati
19、s使用了简单的XML或注释的配置和原来的映射,接口和java POJOs(Plain Old java对象,普通java对象)映射成一个新的数据库记录。每一个MyBatis应用程序主要都是运用SqlSessionFactory的实例,一个SqlSessionFactory的实例可以通过SqlSessionFactoryBuilder而获得。SqlSessionFactoryBuilder可以从一个预定义的配置层主要的目的是通过调用的请求用来完成一次数据库的操作。第三层基础支撑层:它负责最基础的功能支持,包括连接的管理、事务的管理、配置的加载和缓存处理等等,这些都是通用的东西,将这些抽取出来成为
20、最基础的组成组件。基础支撑层为上一层的数据处理层提供了最基础的支撑。动态语句功能是MyBatis 最强大的特性之一。之前有使用JDBC或者类似的这种框架的经历,就会知道把SQL语句条件的连接是一件多么痛苦的事情,还要保证不能落下空格或者在columns列后面忽略一个逗号等。然而动态语句能够完美的解决掉这些痛苦的事情。虽然与动态SQL在一起很累,但是MyBatis的确能够通过在任何条件下映射的SQL语句中运用强大的动态SQL进行修改这些状况。对于任何曾经使用过JSTL或者类似于XML之类的文本处理器的人对动态SQL元素都是非常熟悉的。其中在上一个版本中,需要学习非常多的内容,但在MyBatis
21、3 中有了巨大的的改进,现在只剩下大概二分之一的元素了。基于强大的OGNL表达式MyBatis消除了大部分的元素。2.5 MySQL数据库介绍MySQL是个真正的多线程、多用户的SQL数据库服务器。SQL(结构化查询语言)是目前世界上应用最广泛的和标准化的数据库语言。MySQL是由一个客户机或者一个服务器结构来实现的,它是由一个服务器守护程序mysql、很多不同的客户程序以及库组成的。SQL是一种标准化了的语言,它使得存储、存取和更新信息变得更容易。MySQL主要特点是快速、方便、易用。起初是因为我们需要一个这样的SQL服务器,它能够处理与任意一个可以不昂贵硬件平台上的提供数据库的商家在一个等
22、同的数量级上的大型的数据库,但速度更快,MySQL就这样被开发出来。自1996年以来,大家一直都在使用MySQL,有超过40个数据库的环境,包含10,000+个表,其中大约500多个表超过7百万行,这意味着包含着的关键应用数据大约有100个吉字节(GB)2。MySQL具有以下优点:第一,速度。MySQL 运行速度非常快。开发者声称 MySQL 大概是目前能利用的最快的数据库。第二,容易使用。MySQL 是一个高性能并且相对容易的数据库系统,与一些较大系统的设置和管理相比,MySQL的复杂程度也比较低。第三,价格。使用MySQL 是免费的。第四,内存小。21M的数据库安装完了以后是51M的,安装
23、占用内存非常的小。第五,支持查询语言。MySQL 可以利用 SQL,SQL(结构化查询语言) 是一种非常流行的现代数据库系统语言。同时也可以利用支持 ODBC的应用程序,ODBC(开放式数据库连接) 是 Microsoft 开发的一种新型的数据库通信协议。第六,性能。许多客户机能够同时的连接到服务器中。高性能的MySQL数据库是没有用户数的限制要求的,许多个客户机也可以同时的使用同一个数据库进行连接。这里可以使用多个输入查询及可以查看结果的界面来进行交互式地访问 MySQL数据库。这些界面分别为:命令行客户机程序、 X Window System 客户机程序或Web 浏览器。除此之外,还有由各
24、种语言(如C, C+, Eiffel, Java等)编写的程序界面。所以,这里可以有两种选择,第一是选择使用已编好的客户机程序,第二是编写自己的客户机应用程序。第七,连接性和安全性。MySQL是完全网络化的数据库,其数据库可在Internet上的任何一个地方访问。因此,它可以和任何人在任何地方共享数据库。并且MySQL 还可以进行访问控制,可以控制一些人不能看到设置好的数据。第八,可移植性。MySQL 可以在各种版本的 UNIX 或者其他非 UNIX 的系统上运行。从家用 PC 到其他高级的服务器上Mysql都可以实现。第九,开放式的分发。MySQL相比较很容易获得,你只要使用 Web 浏览器
25、就可以4。假如不能理解其中有些东西是怎样起作用的,或者对某个算法感兴趣,可以将其源代码烤走,对其源代码进行分析。例如不喜欢某些东西,就可以修改10。2.6 KindEditor文本编辑器介绍KindEditor是用JavaScript来进行编写的,它可以与Java、.NET、PHP、ASP等程序完美无缝隙的接合在一起。比如CMS、商城、论坛、博客、Wiki、电子邮件等互联网应用都很适合使用KindEditor文本编辑器,自从2006年7月KindEditor文本编辑器首次发布2.0以来,KindEditor正在扩大编辑器市场的占有率,KindEditor有着用户体验感和先进的技术,现在大部分人
26、都喜欢使用KindEditor文本编辑器。3 系统分析与设计系统是基于B/S架构的社交化新闻综合系统,整个系统分为前台和后台,前台用户注册登录,浏览新闻,发布新闻等,后台管理员管理用户信息及用户的相关操作。同时用户使用时又分为用户使用的前台和自己的后台,前台浏览新闻,检索新闻,订阅用户,与此同时用户可以进入自己的后台,发布文章、查看好友动态,设置自己喜欢的状态等等。为既喜欢浏览新闻又喜欢分享新闻的朋友提供一个平台,又可以极大的方便了用户,给用户带来全新的体验。前台用户先注册系统,注册后登录系统,用户登录系统后随意浏览新闻,输入关键字查询新闻,输入关键字后点击搜索,所有关于关键字的新闻都会罗列出
27、来。系统设置个人中心,点击个人中心后进入个人中心,个人中心首页用户可以发布新闻,下一模块是发布广告模块,用户发布广告后可以对自己发布的广告进行管理。下一模块,数据分析模块,再次模块用户可以查看发布的新闻点赞点踩评论情况,还可以查看自己的粉丝数量以及自己订阅的好友,点击好友姓名就可以进入好友主页,查看好友发布过的任何新闻信息,在此模块用户还有一查看自己收藏过的喜欢的文章,方便用户查看新闻。最后一模块式设置模块,用户可以设置主页皮肤,根据自己喜欢的颜色将主页设置成自己喜欢的颜色。另外用户可以查看自己账号的状态以及自己的基本信息。前台用户用例图如下图3.1所示。注册登录浏览新闻搜索新闻个人中心发布新
28、闻发布广告数据统计设置图3.1 用户用例图后台管理员先登录系统,登录系统后管理员管理注册用户的信息,管理员查看用户具体注册信息后审核通过用户注册,前台用户就可以使用账号密码登录了,若前台用户修改信息后也需要管理员进行审核。管理员也对前台用户发布的新闻进行审核管理,查看新闻详情后管理新闻。用例图如下图3.2所示。登录审核用户频道管理审核新闻审核通过不通过编辑撤回图3.2 管理员用例图3.1 系统功能需求分析系统基于B/S架构的社交化新闻综合系统,前台功能模块包括新闻浏览模块:社会频道模块、娱乐频道模块、科技频道模块、汽车频道模块、体育频道模块、财经频道模块、军事频道模块、国际频道模块。新闻搜索模
29、块、活跃用户模块。注册登录后有个人中心个人主页模块,点击个人中心后进行跳转,个人中心的设计这相当于用户进入了用户的小后台,个人中心中又包括主页模块、文章管理模块、广告管理模块、数据统计模块、通知模块、设置模块。后台功能包括审核注册用户模块、审核修改用户模块、用户管理模块、标题搜索模块、文章管理模块、广告管理模块、频道管理模块。系统前端通过使用JSP技术实现前端的显示任务,后台程序使用Java Web 技术以及Spring MVC框架来支撑,系统整体功能齐全,分层合理,操作简单,实用性高,给人们阅读新闻的同时带来其他的乐趣,相信会给用户带来很好的体验14。前台各模块功能介绍:(1)注册登录模块:
30、输入各种信息后完成用户注册,注册后根据用户名以及密码进行登录。(2)新闻浏览模块:设置了社会频道模块、娱乐频道模块、科技频道模块、汽车频道模块、体育频道模块、财经频道模块、军事频道模块、国际频道模块。用户可以浏览该模块其他用户发布的新闻。(3)新闻检索模块:输入关键字查询想要看的新闻,快速方便。(4)活跃用户模块:显示该软件的活跃用户,可以直接订阅此用户,简单方便。(5)个人主页模块:进入个人主页可以看自己曾经发布过的文章。(6)个人中心模块:主页模块、文章管理模块、广告管理模块、数据统计模块、通知模块、设置模块。主页模块:可以进行文章的发表,点击发表文章后,利用第三方插件KindEditor
31、文本编辑器,实现对新闻的编辑。同时用户可以选择发表文章或者是存草稿不发表,若存草稿后,后台管理员是无法看到该文章内容的。可以直观看见自己发布新闻总数,月活跃粉丝数,累计阅读量。文章管理模块:直观查看所有发布过的文章,包括已通过审核的文章,未通过审核的文章,存草稿的文章。清晰明白,直观方便。广告管理模块:首先可以实现发布广告,其次可以管理广告,设置广告位推荐模式。数据统计模块:文章分析:可以直观查看发布过的各种文章点赞量,评论数量等。活跃的粉丝:可以查看所有关注自己的粉丝数量。我的收藏:收藏过的所有文章都会再此保存下来,方便用户查看之前收藏的喜欢的文章。若其它用户删除新闻后该新闻的收藏也会被删除
32、,但是会留有痕迹。订阅用户:包含所有订阅的用户,同时可以操作取消订阅。设置:根据喜欢的皮肤颜色设置皮肤,同时查看账号状态,管理账号信息。后台各模块功能介绍:(1) 审核注册用户:前台用户申请注册后,等待管理员通过,管理员查看用户注册信息后决定是否通过,管理员审核通过后前台用户便可以登录。(2) 审核修改用户:若前台用户修改注册登录信息,管理员可以进行审核。(3) 用户管理:显示所有注册过的用户及用户信息,管理员可以系统的管理用户。(4) 标题搜索:管理员可以进行新闻快速检索,输入关键字,点击查询,所有关于关键字的新闻都会被检索出来,包括审核通过的新闻和审核不通过的新闻。(5) 文章管理:管理员
33、在这里直观系统的管理所有用户发布过的所有文章新闻。其次可以编辑退回,退回后,前台用户新闻信息又变回待审核状态,这时用户可以编辑删除新闻。若管理员不编辑退回则前台用户新闻不能被删除。(6) 广告管理:管理员对用户发布的广告进行管理,同时管理员可以将此广告设置为推荐广告。(7) 频道管理:管理员管理现有的频道。3.2 业务需求分析当今社会Internet高速发展,促进Internet高速发展的原因之一就是Web技术的发展,人们越来越渴望接触更多的事物,这样的社会背景下,纸质新闻等都显得苍白无力,所以网页新闻开始新兴,但是人们对新闻软件的要求越来越高,在此之前有人做过一个调查,85%的人希望新闻软件
34、不只是能看新闻这么简单,而是在看新闻的同时给她们带来更大的乐趣,为了满足人们的这一需求,我设计了社交化新闻综合系统。网上看新闻已经给人们带来了巨大的方便,秀才不出门全知天下事,省时省力。社交化新闻综合系统既有普通新闻网页快速浏览各种各样的新闻检索新闻的功能,又同时增加个人中心,用户可以在个人中心中发表新闻,在享受新闻的同时分享新闻。使人们在这个纷繁复杂的信息时代,快速,方便,快乐的享受新闻,分享新闻,交流观点。整个系统分为前台和后台,在前台用户注册,提交用户注册时填写的各种信息,然后等待管理员审核,后台管理员在审核注册用户中查看用户提交的信息是否合法合理后,决定通过与否,注册审核通过后用户登录
35、。用户登录后可以浏览各种新闻,社会、娱乐、体育等等。同时可以检索想要查看的新闻,输入关键字,点击搜索,就可以查看想要看到的新闻。右侧设置活跃用户模块,用户可以直接订阅活跃的用户。点击个人主页后跳转到个人主页,包括个人发过的一些文章。点击个人中心后进入用户后台,用户后台首页可以发布新闻,用户发布新闻后等待后台管理员审核,管理员在文章管理中查看用户提交的新闻内容,新闻内容合理合法,内容丰富语句通顺可以审核通过,相反否之;同时用户发文章可以选择存草稿,存草稿后管理员无法看到用户写的新闻内容。新闻通过审核后系统前台就会显示用户发的新闻。用户后台主页设置了广告管理,用户可以发广告,前提也是在审核通过的情
36、况下。整个系统井井有条,美观大方,实用性高。4 系统总体设计社交化新闻综合系统的设计主要是为用户提供一个浏览新闻,检索新闻,发布新闻,交流观点的平台,网站设计时采用Spring MVC逐级分层的模式,分别包括了视图层、持久化层、业务逻辑层以及数据库层,逐级分层,条理清晰。对于数据库部分辅助以Mybatis做数据库持久层框架,进行对应的数据库管理操作。视图层使用了JSP技术,同时整个网站也主要是用JSP完成设计实现,JSP的使用使整个网站美观大方,简洁便利。业务逻辑层使用Spring MVC框架技术进行设计与实现,逐级分层管理加快了开发速度,是程序系统看起来条理清晰,开发过程也简单了,并且Spr
37、ing MVC相对比其他的来讲更加保证了系统的安全性11。最后采用Mybatis做为数据库持久层的框架来进行的数据访问,并且把所有的sql都放在配置文件之中,若系统出故障后维护更加方便,最后使用了MySQL作为系统的数据库,利用mysql对数据库进行了数据部分的设计,以及实现了数据库的增删改查等功能12。4.1 功能模块在该系统中按照业务逻辑前台分有新闻浏览模块、新闻检索模块、活跃用户订阅模块、个人主页模块、个人中心模块。其中个人中心模块又分为1.主页模块,主页中可以发布新闻,查看发布过的总数量、月活跃粉丝数、累计阅读量。2.文章管理模块3.广告管理模块,其中包括发布广告和广告管理。4.数据统
38、计模块,数据统计模块中包含文章分析、活跃粉丝、我的收藏、订阅用户。5.设置模块,设置模块中包括个人主页换肤、账号管理、账号状态。其各大模块以及包含的各子功能模块如下图4.1所示。(1) 新闻浏览模块:设置了社会频道、娱乐频道、科技频道、汽车频道、体育频道、财经频道、军事频道、国际频道。(2) 新闻检索模块:输入关键字,点击查询,关于关键字的新闻就会被检索出来。(3) 活跃用户订阅模块:此模块会显示活跃的用户,用户可以订阅其他用户。(4) 个人主页模块:个人主页显示用户发布过的各类型新闻。(5) 个人中心模块:这个模块包括发布新闻、发布广告、数据统计、通知、设置。社交化新闻综合系统前台注册登录新
39、闻浏览新闻检索个人中心个人主页新闻检索数据统计广告管理文章管理主页设置通知用户名密码发文章阅读量粉丝量文章分析活跃粉丝我的收藏订阅用户图4.1 社交化新闻综合系统前台功能模块图后台:1.1) 2) 3) 用户管理模块,其中包括审核注册用户、审核修改用户、用户管理。2.前台发布管理,其中包括标题搜索、文章管理、广告管理。3.频道管理。其中各大模块中包含的各子功能模块如下图4.2所示。(1) 用户管理模块:在本模块中,当前台用户提交注册信息后管理员审核用户注册信息并管理着前台用户修改的个人用户信息,管理员决定是否通过审核。(2) 新闻管理模块:在本模块中,管理员管理前台用户发布的新闻或发布的广告是
40、否能通过,可以对新闻或广告进行设置。管理员可以对新闻进行编辑撤回,撤回后前台用户新闻状态则又变为待审核中。社交化新闻综合系统后台管理员登录审核注册用户前台发布管理频道管理用户管理广告管理审核修改用户用户管理标题搜索文章管理图4.2 社交化新闻综合系统后台功能模块图4.2 数据库表(1)文章作者数据表author,主要用来存储文章作者的信息,包括作者编号、作者姓名、评论。如下图4.1表所示。表4.1 文章作者表(author)字段名称数据类型约束说明auidint主键作者编号authorNamevarcharNot null作者姓名remarkvarcharNot null评论(2)文章数据表a
41、rticle,用于存储文章的基本信息,包括文章编号、频道编号、风格、用户编号、角色编号、昵称、文章标题、文章内容、阅读数、赞、踩、评论、收藏、分享、创建时间。如下图表4.2所示。表4.2 文章数据表(article)字段名称数据类型约束说明artIDint主键文章编号chanidintNot null频道编号ccidintNot nullstyleintNot null风格useridintNot null用户编号roleidintNot null角色编号nicknamevarcharNot null昵称titlevarcharNot null文章标题childtitlevarcharNot
42、null文章内容readnumintNot null阅读数hotnumintNot null赞coldnumintNot null踩commentintNot null评论favouriteintNot null收藏shareintNot null分享createdatevarcharNot null创建时间(3)频道数据表(channel),主要用来存储频道基本信息,包括频道编号、频道名称、父类编号、总数。如下图4.3表所示。表4.3 频道数据表(channel)字段名称数据类型约束说明channelIDint主键频道编号channelnamevarcharNot null频道名称paren
43、tIDintNot null父类编号totalintNot null总数(4)通知数据表(notice),主要用来存取通知信息,其中包括通知编号、用户编号、文章编号、阅读、通知时间。如下图4.4表所示。表4.4 通知数据表(notice)字段名称数据类型约束说明noticeIdint主键通知编号userIdintNot null用户编号articleIdintNot null文章编号readintNot null阅读createDatevarcharNot null通知时间(5)评论数据表(comment),主要用来存储用户评论文航的基本信息,包括评论编号、文章编号、评论人编号、角色编号、评论
44、人名称、评论内容、评论时间、状况、赞、踩。如下图4.5表所示。表4.5 评论数据表(comment)字段名称数据类型约束说明commentIDint主键评论编号articleIDintNot null文章编号visitorIDintNot null评论人编号roleIDintNot null角色编号vistorvarcharNot null评论人名称commentvarcharNot null评论内容createdatevarcharNot null评论时间stateintNot null状况hotnumintNot null赞coldnumintNot null踩(6)角色数据表(role)
45、,这个表主要用来存储使用该网站的各种角色,包括角色编号、角色名称、评论。如下图4.6表所示。整段前移两字符表4.6 角色数据表(role)字段名称数据类型约束说明roleIdint主键角色编号roleNamevarcharNot null角色名称remarkvarcharNot null评论(7)角色作者数据表(roleauthor),这个表主要用来存储角色作者的基本信息,包括角色作者编号、角色编号、作者编号。如下图4.7表所示。表4.7 角色作者数据表(roleauthor)字段名称数据类型约束说明raIdint主键角色作者编号roleIdintNot null角色编号auIdintNot
46、null作者编号(8)皮肤数据表(skins),这个表主要用来存储用户更换主页皮肤的基本信息,其中包括皮肤编号、图片地址、主要颜色、介绍、创建时间等。如下图4.8表所示。表4.8 皮肤数据表(skins)字段名称数据类型约束说明skinIdint主键皮肤编号cssUrlvarcharNot null图片地址mainColorvarcharNot null主要颜色introducevarcharNot null介绍createDatevarcharNot null创建时间(9) 注册数据表(tempuser),这个表主要用来存储用户注册时首页注册的基本信息,其中包括说明、用户编号、用户名称、密码
47、、昵称、角色编号、创建时间、上一次登录时间、进入数、状态、推荐、评分。如下图4.9表所示。表4.9 注册数据表(tempuser)字段名称数据类型约束说明tuIdint主键用户编号userNamevarcharNot null用户名称passwordvarcharNot null密码nickNamevarcharNot null昵称roleIdintNot null角色编号createDatevarcharNot null创建时间lastLoginvarcharNot null上一次登录时间loginNumintNot null进入数stateintNot null状态recommendint
48、Not null推荐scoreintNot null评分(10)用户数据表(users),用户是一个大实体,用户属性也很多,是数据库表中最大的一个实体。主键是ID,用户主键id连接着其他各个表15,用户作为一个最大的实体,这个表主要用来存储用户的基本信息,其中包括编号、用户编号、角色编号、昵称、新昵称、介绍、新介绍、头像、新头像、标语、皮肤编号、频道编号、作者数、访客数、文章数、粉丝数、赞数、自动、批准日期、性别、触点、组织名、职位、电话、新电话、邮箱、高清头像、作者浏览、qq、地址、省份、城市、网站。如下图4.10表所示。表4.10 用户数据表(users)字段名称数据类型约束说明Idint
49、主键编号tuIdintNot null用户编号roleIdintNot null角色编号nickNamevarcharNot null昵称newNickvarcharNot null新昵称introducevarcharNot null介绍newIntroducevarcharNot null新介绍logovarcharNot null头像newLogovarcharNot null新头像sloganvarcharNot null标语skinIdintNot null皮肤编号channelIdintNot null频道编号articleNumintNot null作者数visitNumintN
50、ot null访客数bookNumintNot null文章数fansNumintNot null粉丝数topAdintNot null赞数autoAdintNot null自动confirmDatevarcharNot null批准日期sexvarcharNot null性别contactorvarcharNot null触点orgNamevarcharNot null组织名positionvarcharNot null职位phonevarcharNot null电话newPhonevarcharNot null新电话mailvarcharNot null邮箱headImagevarchar
51、Not null高清头像authorScanvarcharNot null作者浏览qqvarcharNot nullqqaddressvarcharNot null地址provincevarcharNot null省份cityvarcharNot null城市websitevarcharNot null网站(10) 访客数据表(visit),这个表主要用来存储访客的基本信息,其中包括访客编号、文章编号、用户编号、访客编号、作者编号、访问时间。如下图4.11表所示。字段名称数据类型约束说明vidint主键访客编号articleIdintNot null文章编号ownerIdintNot null
52、用户编号visitorIdintNot null访客编号authorIdintNot null作者编号visitTimevarcharNot null访问时间表4.11 用户数据表(visit)4.3 E-R图为了社交化新闻综合系统能够完成一系列操作,设计开发时使用MySQL数据库来对所需要的数据进行存储。数据库的设计是至关重要的,它会对项目的开发效率有着直接的影响,对于项目在运行中的性能和稳定也有着很大的影响。用数据库存储来对这两个角色的信息以及对数据的增删改查,从而实现这两个角色的需求。通过对本系统需求进行分析16,模块中得到以下主要的实体:句号(1) 新闻实体:该实体的基本属性有时间、文
53、章内容、文章编号、用户编号、频道编号等。(2) 用户实体:用户的基本属性有用户编号、用户名称、密码、昵称、角色编号等。(3) 广告实体:广告的基本属性有广告内容、广告编号、用户编号、广告标题、时间等。(4) 个人中心:个人中心中可以更换皮肤,查询粉丝,修改个人账号等。(5) 管理员:管理员属性包括名称和密码。管理员可以管理用户,管理广告,管理新闻。4.3.1 各部分E-R图本节介绍新闻E-R图、用户E-R、个人中心相关E-R图,并分别画出了新闻用户个人中心的各种属性。(1)新闻E-R图如下图4.14所示。新闻实体属性包括时间、内容、标题、作者、频道等。新闻时间频道作者标题内容4.14 新闻E-
54、R图跟图放一页(2) 用户E-R图如下图4.15所示。用户实体属性包括编号、名称、密码、昵称、角色等。角色昵称密码名称编号用户4.15 用户E-R图(3) 广告E-R图如下图4.16所示。广告实体属性包括编号、时间、作者、标题等。广告时间编号标题作者4.16 用户E-R图(4)个人中心相关E-R图如图4.17所示。个人中心不是一个实体,但是个人中心中包括着皮肤、粉丝、个人账号实体。皮肤实体属性包括类型、位置、编号等属性。粉丝试题包括名称、编号、角色等属性。个人账号包括标语、名称、编号、头像等属性。个人中心皮肤粉丝个人账号更换更换更换类型编号位置名称角色编号名称头像编号标语4.17 个人中心相关E-R图4.3.2 总体E-R图在这部分中我将会介绍总体实体关系的E-R图。总体E-R图中分别
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 健康知识培训资料及考卷课件
- 北京市顺义区2023-2024学年九年级下学期中考适应性训练(三模)历史试卷及答案
- 评价器奖惩管理办法
- 新质生产力高质量发展大会
- 学校食堂食品安全突发事件应急处置预案
- 新疆维吾尔自治区高级导游等级考试(导游综合知识)综合能力测试题及答案(2025年)
- 出租车公司安全培训总结课件
- 出国劳务业务课件
- 2025合同审批流程和合同文档管理规范采购合同协议书
- 2025年FIDIC合同框架下EPC工程总承包管理培训教材
- 李毓佩数学历险记
- 3D打印技术(课件)
- (完整版)【钢琴谱】大鱼钢琴谱
- (完整word版)英语四级单词大全
- 取暖器市场需求分析报告
- MATLAB 应用全套课件
- 双侧壁导坑施工工法
- 《培生·小学英语分级阅读80篇》四年级-这套资料难度系数较大
- 2023山东济南市长清区教体系统所属事业单位招聘22人(共500题含答案解析)笔试历年难、易错考点试题含答案附详解
- 城市轨道交通车辆制动系统PPT(高职)完整全套教学课件
- 故宫宫廷文化公司介绍
评论
0/150
提交评论