3)新闻订阅是为方便用户浏览新闻,每个注册用户都有一个“个人新闻中心”,在用户浏览新闻的过程中,随时可以查看自己已浏览过的新闻和关心的新闻,还可以修改其订阅的新闻栏目,系统会根据用户订阅的栏目为用户提供实时新闻。
新闻选定子系统可以查询新闻、修改已选新闻和提交新闻,新闻订购流程图如5.4.3所示:
会员管理子系统划分成会员删除、查看会员模块。子系统查看、删除用户的流程图如图5.4.4所示:
自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。
JavaScript是一种能让你的网页更加生动活泼的程式语言,也是目前网页中设计中最容易学又最方便的语言。你可以利用JavaScript轻易的做出亲切的欢迎信息、漂亮的数字钟、有广告效果的跑马灯及简易的选举,还可以显示浏览器停留的时间。让这些特殊效果提高网页的可观性。
3)用户管理分为:用户组管理、用户管理。系统超级管理员可以通过用户组管理功能修改网站注册前台注册用户的分组类型,添加、删除、修改分组。用户管理功能实现对注册用户查看、删除、修改登录状态等操作。
4)安全管理,实现对系统超级管理员的查看、添加、删除以及每一位管理员使用后台对各个栏目新闻进行增加、删除、编辑、审核操作的权限分配。
JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。
JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
后台用户登陆时,通过登陆合法性判断后系统,需要对某个栏目的文章进行操作时就调用权限判断函数对,对登陆用户的权限进行判断。
checkUser接收到用户ID,和操作栏目需要的权限,通过数据库查询用户权限,然后调用Common里的Chkpower方法对用户权限进行判断。
网站系统用户面临不同的阶层,我们不光要使后台的数据库设计满足需求,也因为用户使用的访问工具因人而异,所以我们需要在浏览器的兼容性方面下苦功夫,并且要尽量达到W3C标准。
实时新闻管理发布系统主要是满足用户浏览实时新闻,通过新闻管理发布系统来关注自己感兴趣的新闻,获取有用的实时信息,并且通过自己的新闻订阅功能可以在第一时间得到自己关注的信息,增强了信息传播的有效性。除此之外新闻管理与发布系统能够方便管理员、新闻编辑等系统后台用户对新闻的管理以及实事新闻的发布,提高工作的效率。
本系统的每一个模块都用相应的处理的Servlet,不同模块的Servlet根据页面的请求,控制程序流程转向。系统中主要包括:新闻处理的Servlet、评论处理的Servlet、栏目处理的Servlet、登陆处理的Servlet、图片处理的Servlet、用户收藏的Servlet等。
1)结构清晰系统项目文件结构,便于对文件进行管理,有助于提高我们开发软件的效率,图
系统根据用户浏览的信息、用户收藏内容、订阅栏目自动提供新闻推荐(用户关注、感兴趣的栏目)。
新闻管理与发布系统后台主要为管理员提供新闻管理的平台,管理员登陆后台后系统根据管理员的权限提供不同的操作,管理员可以通过后台系统对网站的新闻进行编辑、发布、删除、审核等管理操作。超级管理员除了可以对新闻信息进行管理外,可以对普通管理员进行管理,如添加、删除、管理员,更改普通管理员的权限。
填写好表单后,是否提交图片,是否允许评论后,点击提交。系统会将请求提交给ArticleServlet,ArticleServlet首先判定输入是否合法,如果输入正确,ArticleServlet调用articleAdd操作方法,将数据插入数据库。(本系统使用SmartUpload,来实现上传图片)articleAdd方法:获取页面传入的数据后,将图片上传,保存到服务器中,保存成功后将一条数据记录插n_picture数据表,然后通过picID = pdao.queryMaxId();获取图片的ID,再将一条包含新闻标题、新闻内容、图片ID、图片路径的记录插入n_article表。
表示逻辑负责与表示有关的逻辑,如页面如何条件性跳转、根据用户的输入进行数据验证,然后显示不同的信息、根据系统运行情况显示不同的信息等。概括来说,美工决定了“怎么显示”,表示逻辑决定了“显示什么”。
本课题是为了实现一套比较完整的新闻管理与发布系统。方便前台用户通过系统接收有效的新闻时讯,快速浏览到用户关注的实时报道。而新闻管理人员可以通过系统对进行编辑、发布、审核等工作,提高工作效率。
表示逻辑根据不同状态显示不同页面内容,如用户登录后在页面上加入用户的信息、根据操作的不同调用不同的操作控制器,绑定显示数据,更新列表信息(如最新发布的新闻、最新评论、点击排行榜等)。
本系统页面动态数据的显示控制主要用到了JSP表达式和JSTL标签。如在页面的首页顶端,用户没有登录时无Session数据,页面显示“登录”、“注册”。用户登陆后则显示用户信息和个人新闻中心入口、退出登陆链接。
21世纪是信息化的时代。随着信息技术,特别是网络技术、通信技术和多媒体技术的飞速发展,极大提高了现实生活中新闻信息的传播速率、拓展了信息的覆盖面。只要我们一打开电脑,连上网络,便可以在第一时间接收到全球各地、各个时段的财政资讯、实时报道、娱乐活动等各个方面的各种类的巨量信息。网络的发展,拓展了信息的传播渠道,提高信息传播速率、增广覆盖面的同时,也导致了网络信息的日益膨胀,同时夹杂在新闻报道的各类商业广告、不良信息充斥着我们的眼球。对于信息接受者而言,虽然通过各类新闻浏览网站便可接触到最新的时讯,但往往巨量的新闻其实并不全是自己感兴趣的信息,所以在浏览新闻时不得不花掉大量的时间进行筛选,才能得到自己想要的有效信息。新闻的快速更新、新闻量的不断增大,也给新闻管理的工作者带来新闻组织、信息分类上的工作压力。
系统基本统计信息=注册用户数总新闻数量系统名称版本号
图片信息=图片编号描述存储地址添加时间所属栏目所属板块
收藏信息=收藏编号新闻编号收藏时间收藏新闻标题所属栏目收藏用户编号收藏时间
网络技术的飞速发展,促进信息传播的速率,拓展了信息的覆盖面。我们每天都会轻易的接受到大量的新闻资讯。然而,快速更新、数量巨大的新闻数据,给新闻信息管理者带来了新闻管理工作的巨大压力;同时对于新闻受体,在浏览信息前不得不花大量的时间进行筛选,才能得到对自己有效的信息,传播新闻的速率提高了,但针对性、有效性却下降了。本课题针对这一问题,使用JavaWeb技术、MySQL数据库、Tomcat服务,通过MCV架构实现了一套基与B/S结构的新闻管理与发布系统。论文介绍了该系统的设计与实现过程,主要包括系统概述、使用的相关技术简介、需求分析、系统总体设计、系统详细设计、数据库设计、系统实现等八个部分内容。绪论部分概述本系统问题的提出,开发目的;技术介绍部分简要的介绍开发本系统用到的技术;需求分析部分包括对本系统开发的总体需求分析及功能需求分析等;系统总体设计包括对本系统的数据流的分析图和系统总体功能模块图;系统详细设计是针对每一个功能模块的设计说明;系统数据库设计部分是系统数据库的设计与实现说明;系统实现部分包括系统实现过程的描述。
随着技术的不断进步,现在需要用越来越多的方式来访问应用程序。MVC模式允许你使用各种不同样式的视图来访问同一个服务器端的代码。它包括任何WEB(HTTP)浏览器或者无线浏览器(),比如,用户可以通过电脑也可通过手机来订购某样产品,虽然订购的方式不一样,但处理订购产品的方式是一样的。由于模型返回的数据没有进行格式化,所以同样的构件能被不同的界面使用。例如,很多数据可能用HTML来表示,但是也有可能用WAP来表示,而这些表示所需要的命令是改变视图层的实现方式,而控制层和模型层无需做任何改变。
用户浏览记录信息=记录编号用户编号浏览新闻编号浏览新闻所属编号
本系统采用JspServletJavaBean方法实现MVC设计模式。编写本系统时,力求做到简单明了,严格遵循三层结构。模型(Model):用Java类以及Java对象实现,封装业务逻辑,提供相应的接口。视图层:主要由Java Server Page(JSP)承担,生成视图的代码则可能是一个servlet的一部分。控制器:由Servlet来实现,视图发送请求控制器(servlet),控制器依据请求的不同,调用相应的模型(java类),模型处理之后的结果会返回给控制器,控制器会依据结果选择合适的视图(JSP)。
1)用户信息:用户名、密码、订阅内容、等级、注册时间hth华体会、权限、订阅记录、个人说明等数据项,用以完成对注册用户的描述。
该系统的具体模块设计:其中前台管理包括会员登记、新闻展示、新闻订阅三大部分,后台管理包括会员管理、新闻管理、分类处理三大模块。
会员登记子系统划分成会员登录、会员注册模块,图3.5.1是会员登记流程图5.4.1:
新闻管理发布系统的使用用户基本分为三类:系统管理员、普通管理员、注册用户、普通浏览用户。
管理员,通过后台管理系统实现网站内容的更新与维护,及时发布新的新闻资讯。系统管理员还可以管理员进行权限的管理。
注册用户,完成注册后可以根据自己需求修改订阅不同栏目的新闻信息,收藏自己感兴趣的新闻、更改个人信息等。
新闻管理子系统分为添加新闻、查看新闻、修改新闻、删除、审核新闻四个部分,其查看新闻、修改新闻、删除新闻模块的流程图如图5.4.5所示:
在建设网站系统之前,必须对系统所用到的数据进行大致的分类和具体的结构设计,既要做到清晰明了,又要能适应系统各项功能的调用,而不至于产生结构上的逻辑混乱,保证关键数据在意外情况下不会被破坏,可以说数据库是系统的重中之重。
会员信息=会员编号+用户名+密码+等级+登陆状态+积分+订阅栏目+权限+Email+注册日期+性别
栏目信息=栏目编号+栏目名称+所属板块新闻总条数显示状态描述
根据系统的功能需求新闻管理发布系统的页面主要分为两大类:前台页面和后台页面。
前台页面主要包括:新闻网站首页、用户新闻文章浏览、用户登陆注册页面、用户信息更改页面、新闻栏目订阅页面、用户收藏夹页面、新闻推荐显示页面等。
后台页面主要包括:管理员登陆页面、系统管理页面、系统信息页面、用户管理页面、安全管理页面(管理员权限管理)、新闻编辑管理页面。
加入收藏后,打开个人收藏夹,既可以查看和管理收藏夹的内容。本系统收藏夹现在的实现了“查看“、“删除”、“清空收藏夹”功能。如图7.6.3.2
1)用户注册成功后,登入个人新闻中心,系统会自动订阅两个的内容,用户点击“栏目名称”,便可以通过超链接查看该栏目中最新发布的前六条新闻。订阅目录显示,如图7.6.5.1
B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对c/s结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。B/S结构,主要是利用了不断成熟的www浏览器技术,结合浏览器的多种Script语言(VBScript,JavaScript)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,是一种全新的软件系统构造技术。随着Windows 98/Windows 2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。显然B/S结构应用程序相对于传统的c/s结构应用程序将是巨大的进步。B/S结构的系统一般由浏览器、Web服务器和数据库服务器组成,其结构如图2.3.1
表示层负责接收用户的输入以及将输出数据呈现给用户,并且根据CSS样式表决定呈现样式。表示层可以对简单的用户输入数据的有效性负责,同时管理会话及页面跳转等逻辑。鉴于此表示层又可分为页面的美工以及表示逻辑。
后台系统主页为用户登陆界面,用户通过用户名和密码验证后进入到系统,根据权限使用后台系统的管理功能。如图7.7.1
后台新闻管理,为用户提供对系统新闻的增删改、及审核操作。下面介绍新闻添加:
管理员进入系统后,在菜单栏中选择“内容管理”,hth华体会点击新闻管理,页面会显示查询到的当前数据库中的新闻信息。图7.7.2.1
管理员登陆时验证用户名和密码,通过后可以使用后台系统。系统根据管理员权限,分配管理员的操作。
系统超级管理员可以对整个系统的信息进行更新,对前台用户进行增、删、改管理,给系统的普通管理员进行权限的修改。
系统普通管理员通过验证后可以,使用后台系统对网站的新闻条目进行增加、编辑、审核等功能,以及对新闻评论评论进行统一管理。
进入个人新闻中心后用户可以“查看收藏”,“查看订阅”,“查看系统推荐新闻”、“修改个人信息”等。个人新闻中心如图7.6.2.1
注册用户登陆后可以在浏览新闻时对感兴趣的新闻进行,“添加收藏”将新闻添加到个人的收藏夹中。如图7.6.3.1
1)系统管理分为系统设定、公告管理。管理员以超级管理者的身份登录后台后,只要具备系统管理的权限,就可以对使用系统设定功能对系统的名称、系统描述等基本信息进行设定。公告管理功能完成对网站友情链接、公告的增加、删除、修改。
2)内容管理:包括板块管理、栏目管理、新闻管理、评论管理。管理员以管理者身份登陆后,通过板块管理、栏目管理对网站系统的板块、栏目进行增加更改、删除、修改。新闻管理实现网站管理员对网站前台新闻的添加、编辑、删除、hth华体会审核、发布以及修改新闻在前台显示的状态。管理员如果具备评论管理权限可使用评论管理功能对,网站新闻的评论进行查看、审核、删除及更改其显示状态(设定是否前台显示)。
用户进入系统后可以通过注册页面注册成为为系统的用户,系统会在用户表内增加一条包含有个人的ID,userName等信息的记录的。用户可通过前台登陆页面登陆系统,系统根据数据库信息显示,“个人主页”。
数据库设计要遵循一些规则,一个好的数据库满足一些严格的约束和要求。尽量分离各实体对应的表,一个实体对应一个表,分析该实体有哪些属性,对应有些什么字段,以及各实体之间的联系。实体、属性与联系是进行概念设计时要考虑的三个元素,也是一个好的数据库设计的核心。
数据库概念模型设计是在需求分析的基础上进行的。根据分析的结果得出的以下几个实体:管理员、注册用户、新闻信息、评论信息、收藏信息、订阅信息等。
10)用户浏览信息:用户ID、浏览新闻ID、浏览新闻标题、浏览新闻所属栏目。
本系统主要分为:前台展示新闻和后台管理两大部分,下面对系统的各部分功能模块加以详细说明。
前台系统大模块包括页面展示、个人新闻中心。细化后分为为页面展示、会员登陆注册、新闻展示、栏目订阅、新闻收藏、新闻推荐。
1)页面展示,包括首页新闻展示、单篇新闻显示、评论列表显示。首页中包含各类板块新闻的展示,用户点击单篇新闻后进入单篇新闻的展示,及文章评论。总的来说页面展示是该网站为用户提供的一个浏览新闻的平台,管理员会把近期的新闻展示给用户看,可以分类查询,把数据库中的新闻按板块、及各类排行显示出来,不仅方便了用户查找新闻信息,同时也使得网站有一个清晰的系统结构。
根据需求分析,可以得到系统的总体模块。系统总体模块可分为前台和后台两块系统总体功能模块如图:
2)用户可以通过“修改订阅”功能,修改订阅的栏目。更改完成后,提交用户的订阅情况会在订阅列表里显示。如图7.6.4.2
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
在用个人新闻中心里,系统会通过n_article(新闻表)、n_record(用户浏览文章记录表)、n_favorites(用户收藏表)以及用户订阅的信息,根据新闻记录的评论总数(review)、点击率(kitsNum)等因素为用户提供四个栏目的新闻内容。点击“查看推荐”,打开推荐列表,如图7.6.5.1
MVC是一个设计框架,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。
视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可。因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。
3)订阅信息的存储,在数据中表示为用户的表n_user的“subscribe”字段,subscription是一个具有如下形式的字符串“,5-33,8-34,8-35,”,“,2-16,2-17,2-18,3-13,3-14,”其中有效数据为5-33, 8-34,8-35,数据中”-”前一位表示板块ID,“-”后一位数据表示栏目ID。在后台提取数据时首先用split方法对字符串进行切分得到一个一维数据,然后以形式板块ID号(栏目ID、栏目ID、栏目ID、栏目ID)的形式进行分组。其切分关键代码如下:
新闻传播不能只是在传播速度上的提高,也要关注新闻信息发布的有效性,将新闻信息传播给需要它的受体。提高新闻发布的针对性、准确性。
因此,为了方便人们快速的获取自己关注的新闻消息,促进新闻传播的有效性,提高新闻系统的管理者在管理、发布新闻上工作的效率,必须开发一个功能完善、使用方便的新闻管理与发布系统来满足人们的需求。
超级管理员登陆后可以对普通系统管理员的权限进行修改。超级管理员登陆后,通过后台“安全管理”的管理员管理进入管理界面。如图7.8.3.1
系统采用了DAO设计模式实现数据层的访问。DAO模式是J2EE核心模式中的一种,其主要目的就是在业务核心方法和具体数据源之间再增加一层,用这一层来连接业务方法和数据源,这样就实现了两者的解耦,如图7.2.1
数据源为关系数据库MYSQL。通过使用DAO模式hth华体会,业务核心部分就不用关心数据层是如何实现数据库操作的,只关心自己的业务操作即可。数据库的操作全部交给DAO代理。系统中对应每一个实体对象都有相关的DAO操作类。
网站的页面是与用户交互的直接前台,用户感受网站好坏的一个影响因素便是对网站页面可视化感官,因此表示层的设计的可观性、协调性、交互性程度是评价一个网站优良的重要因素。所以页面的美工效果对网站的能否推广起着关键性作用。
在设计页面时需要考虑网站的整体统一性,个人认为一个网站不适宜包括太多风格的页面,应该凸显主题、实现整个系统的统一性。因此在设计页面的美工时会选择一些主题样式文件(如.skin、CSS样式文件以及整张的模板页和网站frame框架等)作为网站统一的主题。
由于开发此新闻管理与发布系统需要的环境有Windows 2000及以上系统,基于WEB的网络编程开发语言Java,需要操作人员熟练使用Java语言进行网络编程。MySQL数据库的熟悉,需要操作人员熟练使用进行相关数据库的操作,具有一定的数据库开发功底及编程能力。使用的网页设计开发工具Drameweaver和Photoshop相结合,优美的界面设计。再加上Windows 2003或WindowsXp稳定的运行环境的支持和开发人员的过硬技术,从功能和性能上完全都满足系统的要求,因此从技术方面来讲开发此新闻管理系统是可行的。
需要注意的是,在JSP页面中包含多媒体文件的表单from中在页面上设置form标签的“enctype”的属性,如下:
4)新闻收藏为注册用户提供一个收藏新闻信息的空间,用户在浏览新闻时可以把自己喜欢的新闻加入到收藏夹。以便再次查询浏览。
5)用户注册后,在个人新闻空间可以使用新闻推荐功能,该功能根据用户平常浏览的喜好,及各类新闻的点击率为用户提供三个栏目的新闻信息。
本网站页面设计中采用了“DIVCSS”页面样式布局方法,这样的设计方法可以通过.css文件统一设计页面样式使得内容和样式的分离,使页面和样式的调整变得更加方便,而且CSS的极大优势表现在简洁的代码,能够增强网页的可读性。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP与JavaServlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
新闻管理与发布系统前台主要是实现网上浏览新闻的整个业务流程,通过网站上的新闻展示和分类查询功能、浏览新闻的信息、浏览新闻的信息;找到想要浏览的新闻后,会员便可以将想了解的新闻先放入“我的新闻中心”中,然后再找其它新闻,会员可查询“我的新闻”里面的已选定的新闻项,并可以删除项目。
使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上。
为管理员选择权限后,点击提交,系统就会跳入Uservlet,Servlet根据用户提交的需求进行操作。Uservlet获取表单中复选框checkName的数值,得到powers数组然后,将数组值以“,”号间隔的形式存入字符串power中。最后调用DAO中的权限修改方法更改数据库中的数据。
在数据库表n_user中用户的操作权限用一个字段powers表示“,1-1,1-2,1-3,1-4,4-3,4-4,5-1,5-2,5-3,5-4,6-1,”的形式保存,以“,“开头,以”,“结尾。字符串中“-”前的数据表示新闻系统里栏目编号,“-”后的数字1,2,3,4表示分别表示管理员对栏目文章的操作权限,1表示“发布”,2表示“编辑”,3表示“审核”,4表示“删除”。如字符串内含有“,1-2,”表示管理员有编辑ID为1的栏目里的文章。
由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。
新闻管理与发布系统主要分为前台和后台两大部分,呈现给用户浏览器的是前台的网站部分,这一部分提供给用户系统内的新闻资讯供用户浏览和使用;后台部分一般不与用户打交道,由管理员对后台的信息进行管理。它主要包括应用程序服务器和数据库服务器。应用程序服务器控制着前台网站的功能和表现形式,而数据库服务器则用来存放大量的站内新闻信息资源。管理系统的前台网站的具体的组织实施过程就是网站的建设过程,我们一般从网页的设置和布局方面来考虑。网页设计的总体原则是要把项目开发信息以及相关消息、资源集中在网站页面上,这样有利于简化用户对有用信息的查寻。而具体的处理过程,则是根据不同的需求类型来确定不同的页面构成。如果每次建立一个新的网站都需要从最低层的网站的设计着手将是一个重复而繁琐的工作。包括网站页面的布局和设置,后台数据库的描述,信息资源的整合等方面。