基于Java Web的新闻发布系统设计与实现

获取项目源文件,技术交流与指导联系Q:1225467431
摘要:现如今快速发展的互联网,已成为新兴的媒体发布形式,逐步影响到传统媒体行业的发展。与传统的信息传播媒体如电视、广播、报纸等相比,电脑、智能手机等终端因其传递信息方便、快捷,并满足人们对外界瞬息万变的信息的好奇心的特点,使得人们对网络新闻媒体越来越依赖。针对上述状况,推出了基于Java Web的新闻发布系统,在开发中基于My Eclipse平台,采用Tomcat 服务器,使用数据库My SQL。系统具有很好的人机界面,不仅实现了管理员管理新闻信息所需的各项功能,而且实现了对用户的各种信息进行管理以及用户浏览新闻信息的各种功能。此外,还具有查找、修改、删除、添加数据方便,数据的稳定性、安全性和可靠性好,简单易用等优点。
关键词:新闻网站 Java Jsp Tomcat
Design and realization of News release system based on Web Java
Student majoring in Computer science and Technology (Internet of things) Wang Caicheng
Tutor Hao Lin
Abstract: Nowadays the rapid development of the Internet has become a new form of media release and has gradually affected the traditional media industry developing. Compared with the traditional information media such as television, radio, newspapers etc, the computers, smart phones and other terminals, characterized by convenient, quick transport, meet the curiosity of people about rapidly changing information, is now getting more dependent from the people. According to the above situation, a new release system based on Java web has been introduced in this paper. In the development of web programming using JSP language and the Tomcat server is chosen as the server, and the relational database management system MySQL is used. Besides, this system has a good man-machine interface, not only realized all the functions which required for administrators to manage news, but also realized the functions for administrator to do information management and deal with user browsing news. At the same time, it offers administrator the functions of query, update, delete, add data convenience, and the advantages such as data good stability, security and reliability, easy to use.
Keywords: News Website; Java; Jsp; Tomcat;
1 绪论
1.1 项目开发的背景
现如今社会是信息化的社会,掌握的信息越多越全面越快速的人,就会在各方面的竞争当中,占据优势,正所谓知己知彼百战不殆,信息的不对称性将会是失败的主要诱因之一。信息的时效性越来越重要,传统的报纸等新闻媒介早已不能满足人们的要求。而现如今计算机已经被广泛应用于社会的各个方面,计算机网络也得到飞速的发展,而对于新闻单位来讲,网络可以更广泛便捷的发布新闻信息,更好的让用户参与到新闻评论等交互之中,所以新闻网站出现了。[1]
新闻网站,是将网络上经常变化的信息,如时事政治、产品发布和体育比赛等最新信息收集起来,然后进行分类化的处理,最后发布到网页上的一种系统应用。新闻网站的出现,使得新闻信息的更新发布速度大大加快,新闻信息的时效性得到了很大的保障,给要求信息的时效性很高的用户带来了福音。
目前许多新闻网站大多是HTML静态页面,上传修改维护非常麻烦,而本次的开发将采用JSP动态页面,信息的管理非常快捷,包括增删改查等,有效的减轻了网页更新的速度,令新闻信息的传播大大加快。[2]
1.2 项目开发的目的
面对着信息时代的变更、新闻行业的快速发展,新闻单位要依靠互联网,利用其交互性、时效性的特点,提高服务质量,即时与用户沟通交流,使用户能够参与到新闻的评论当中,以提高用户的使用满意度。[3]
该系统具有以下优点:
1.数据库能够实现多对多的处理。
2.系统基于Java Web设计,具有良好的安全性和可靠性。
3.用户能得到较高的交互性体验,并满足对新闻的时效性要求。
1.3 课题研究方法
本设计主要采用JSP技术,数据库使用My SQL。具体步骤如下:
(1)背景和功能分析:通过收集资料对现行新闻网站进行分析,得出网站业务流程;并分析管理员和用户对网站的需求,得出各个模块的功能。
(2)组建开发:采用Java语言,以JSP为开发技术,基于开发平台My Eclipse.
(3)数据库设计:数据库使用My SQL,仔细分析网站的各个模块的存储信息的性质,画出数据库表格。
(4)测试和优化:通过白盒测试和黑盒测试等对系统进行测试,并优化。
(5)运行应用程序:完成设计后,在My Eclipse中试运行。
2 需求分析
2.1 可行性分析
可行性分析也叫可行性研究,就是全面、系统的考虑开发本系统是否可行,主要以经济利益为核心,通过分析大量的数据,辩证的看待项目的可行性大小,提出对系统大略的评价,并探讨投入使用时的优缺点。
(1) 政策可行性
我国政府非常重视新闻媒体的发展,十五计划纲要指示,要大力发展信息化,以信息化带动工业化,而新闻网站将是信息化的重要组成部分之一。
(2) 经济可行性
随着信息产业科技的迅速发展,信息基础设备价格不断下降,这就为我们建设网站提供了方便的经济因素。系统的成本主要是系统开发和后期维护时的大量人力和物力,特别是后期维护所消耗的成本,但是相对于运营后所带来的巨大经济效益,成本基本是可以忽略的。
(3) 技术可行性
浏览系统仅需要一台装有浏览器软件的计算机即可,对机器本身没有太高的要求。对于软件技术要求,现在程序设计语言已非常成熟,技术可行性完全足够。
(4) 操作可行性
规划功能模块时,多多对管理员和用户进行换位思考,使得设计出的系统操作简单,更新迅速,修改数据方便,容易扩充。
2.2 功能分析
本系统需要具有以下功能:
(1) 新软件在使用之前,对于使用者来说是完全陌生的新系统,功能模块完全不熟悉,所以系统应当具有很好的人机界面,可以使用户尽快的上手使用。
(2) 实现管理员管理新闻和用户信息所需的各种功能,实现用户快速浏览新闻信息以及查询新闻信息所需的功能。
(3) 数据的增删改查方便,数据稳定、安全以及稳定性好。
2.3 系统架构
系统采用三层结构,前端浏览器端页面通过JSP网页完成,而后端系统内部管理页面主要通过Servlet文件来实现,Java Bean组件在WWW服务器上运行,通过JSP返回到客户浏览器,数据全部存储在服务器端的My SQL数据库中。[4]
在服务器端,系统采用JSP作为表现的手段,使用hibernate中间件访问数据库,采用Tomcat作为服务器引擎,系统业务逻辑由Java Bean 组件完成,使用JDBC驱动程序访问数据库,数据库采用My SQL。[5]

图2-1 系统模式图
2.4 关键技术
2.4.1 JSP技术简介
JSP属于Java服务器页面的一种,英文全称是Java Server Pages,本质上就是一个简单的Servlet文件,是由Sun Microsystems公司牵头建立的动态网页技术。JSP和ASP类似,在HTML文件里插入Java程序和JSP标记,因此JSP本质上就是一种Servlet,那么用JSP技术设计出来的应用自然也是跨平台的,它实现了HTML语法中的Java扩展。JSP和Servlet是一样的,在服务器端执行,用户只要有浏览器就可以浏览查看。[6]
Servlet是JSP的技术基础,运用JSP技术开发大型的Web应用程序离不开Servlet。Java的一切特点如安全可靠、面向对象、具有平台无关性、简单易用等JSP都具备。
JSP具有如下优点:
(1)JSP代码可以跨平台。
(2)JSP组件也可以跨平台。
(3)JSP支持多种网页格式。
(4)JSP标签可扩充,开发者可以自己对JSP标签进行扩展,定制JSP的标签库。
(5)健壮性与安全性,JSP使用的语言是Java语言,所以它的健壮性和安全性与Java技术一样。
JSP是一个特别棒的动态页面开发语言,JSP + Java Bean的组合现在应用越来越广泛。对程序员来说,Java Bean代码可以重复利用,在Java模型中,通过Java Bean可以不断扩充Java程序的功能,可以很快的生成新的程序,在维护的时候也很方便,并且Java Bean通过Java虚拟机可以得到正确的执行,对于平台没有特殊的要求。[7]
2.4.2 Java Bean简介
Java Bean有三个部分组成:
(1)属性:Bean的属性就是对象的属性,属性的命名规则很简单,这样可以非常方便的找出Bean提供的属性,然后进行操作。
(2)方法:Bean本身是Java对象,与其交互的途径有且唯一:调用对象的方法。
(3)事件:Bean与其他组件交流信息的方式主要是发送和接收事件,事件相当为Java Bean组件提供了给其他组件发送通知的方法。[8]
2.4.3 My Eclipse简介
My Eclipse是企业级的工作平台,在数据库、Java的开发以及服务器的整合等方面效率非常高。它相当于功能丰富的Java EE集成开发环境,编码、调试、测试和发布等功能俱全。
My Eclipse 是一个用于开发Java,J2EE的 Eclipse 插件集合,在Eclipse 基础上加上自己的插件就构成了这个企业级的开发平台。My Eclipse的功能非常强大,支持也很广泛,目前支持Java Servlet,JSP, JSF, Struts,Spring, Hibernate,JDBC数据库链接工具等很多功能,基本上涵盖了目前所有主流开源产品的开发。[9]
2.4.4 My SQL数据库简介
My SQL是一种关系型数据库管理系统,并且源代码是开放的,其速度、可靠性和适应性较高,My SQL数据库使用结构化查询语言(SQL)对数据进行管理,由于My SQL源代码是开放的,因此任何人都可以在许可的情况下下载,然后根据自己的需要进行修改。[10]
2.4.5 Severlet简介
Servlet是用Java编写的Server端程序,它与协议和平台无关,Servlet运行于Java-enabled Web Server中,是一种Java文件,可以动态地扩展Server的功能。[11]
Servlet在服务器端处理用户信息具有以下作用:
(1)获取客户端浏览器通过HTML表单提交的数据及相关信息。
(2)创建并返回对客户端的动态响应页面。
(3)访问服务器端资源,如文件、数据库。
(4)为JSP页面准备动态数据,与JSP一起协作创建响应的页面。
3 系统总体设计
3.1 总体功能
系统结合跨平台的JSP语言技术,数据库采用My SQL,使系统具有易用性、个性化、跨平台等特点,同时也提高了数据的安全和稳定。该网站将主要提供以下功能模块:
前台实现的功能如下:
1.首页:各个功能模块的集合,管理员和用户都在首页进入自己所需的界面;2.新闻栏目查看:新闻信息分栏目显示,用户点击不同的栏目浏览不同类型的新闻;3.新闻查询:对新闻信息进行快速的寻找查询;4.用户中心:用户的登录注册界面。
后台实现的功能如下:
1.新闻栏目管理:管理员根据新闻的性质对新闻栏目进行管理;2.新闻信息管理:管理员可以对新闻信息进行添加修改删除;3.通知公告管理:管理员也可以对通知公告进行添加删除的管理;4.用户评论管理:管理员对用户的评论进行管理;5.系统用户管理:管理员对用户的账号进行管理;6.登录密码修改:管理员修改登录密码。

图3-1 系统功能模块
3.2 系统处理流程设计

图3-2 系统操作流程图
(1)数据增加流程:添加数据时,用户或管理员输入新的数据,然后经过系统对合法性的判断,若合法则写入数据库并保存,不合法重新输入。
(2)数据修改流程:修改数据时,选中需要修改的数据,然后输入新数据,经过系统判断是否合法,若合法则保存到数据库,不合法需要重新输入。
(3)数据删除流程:删除数据时,选中需要删除的数据,单击删除,然后选择确定删除,数据库中的数据就会被删除。
3.3 数据库设计
数据库表结构如下:
表3-1 公告信息表
列 名 数据类型 长度 说 明
id int 4 编号
Title varchar 50 标题
Content varchar 50 内容
Sj varchar 50 时间

表3-2 管理员信息表
列 名 数据类型 长度 说 明
id int 4 编号
name varchar 50 管理员ID
password varchar 50 管理员密码
Realname varchar 50 增加时间
Sex varchar 50 性别
age varchar 50 年龄
address varchar 50 地址
tel varchar 50 电话
addtime varchar 50 时间

表3-3 新闻栏目信息表
列 名 数据类型 长度 说 明
id int 4 编号
Mc varchar 50 名称

表3-4 用户信息表
列 名 数据类型 长度 说 明
id int 4 编号
Username varchar 50 帐号
Realname varchar 50 姓名
Sex varchar 50 性别
Age varchar 50 年龄
Address varchar 50 地址
Email varchar 50 邮箱
Regtime varchar 50 时间
Ifuse varchar 50 使用

表3-5 评论信息表
列 名 数据类型 长度 说 明
id int 4 编号
Sid varchar 50 新闻id
Nr varchar 50 内容
Member varchar 50 用户
Sj varchar 50 发布时间

表3-6 新闻信息表
列 名 数据类型 长度 说 明
id int 4 编号
Bt varchar 50 标题
Fl varchar 50 栏目
Nr varchar 50 内容
Sj varchar 50 发布时间
4 系统详细设计
4.1 首页
系统首页有通知公告页面,新闻栏目分类页面等等,用户在此页面可以查看各种栏目的新闻,如体育新闻、娱乐新闻、政事新闻等,新闻被分类查看,可以让用户的浏览新闻更加的一目了然。
系统首页中还设有新闻查询,通知公告和用户中心的链接,用户可以点击新闻查询进入新闻查询页面,更加快捷的找到自己需要的新闻。通知公告则是用户查看系统管理员发布的一些网站的重要通知变更等等信息的界面,方便用户查看一些重要通知。用户中心则是用户的登录界面,登录的用户则能够更好的浏览新闻信息,如发表一些用户自己的评论等,参与到交互之中。
图4-1 首页
4.2 新闻分类浏览
新闻分类浏览就是将新闻分为不同的栏目进行查看浏览的功能,是通过管理员在后台发布新闻信息时,根据新闻的内容性质,将新闻归为不同的类别,如一些与体育相关的新闻信息则分类为体育新闻栏目,如一些与国家政事相关联的新闻信息则分为政事新闻栏目,还有世界新闻栏目旅游新闻栏目等等,此功能可以让用户系统的查看自己感兴趣的新闻,过滤掉不感兴趣的新闻类型,提升用户浏览新闻的速度与感受。

图4-2 娱乐新闻栏目查看
已登录的用户在浏览新闻信息时,可以参与到对新闻信息的评论当中,对新闻信息发表自己的言论看法,在新闻信息下方的输入框里输入用户想要发表的言论,点击提交后,用户对新闻信息的评论即可发表成功。

图4-3 新闻评论界面
4.3 新闻查询
新闻查询功能也是为了提高用户浏览新闻信息时的体验乐趣,通过新闻查询界面,用户很轻易的就可以找到自己想要浏览的新闻,当用户有想要查看的新闻,通过新闻查询快捷的过滤掉多余的新闻,迅速找到中意的新闻。

图4-4 新闻查询
4.4 用户中心
用户中心包括新用户注册以及已注册用户登录和修改密码的功能。
(1)用户登录
用户中心界面首先是登录界面,用户输入账号密码正确即可登录,参与到评论点赞等交互活动之中,为新闻浏览带来更多的乐趣体验。

图4-5 用户登录
(2)用户注册
新用户若想对新闻信息发表个人新颖的观点评论,必须注册一个账号并登陆,点击登录界面中的注册链接,将进入以下注册界面:

图4-6 用户注册
(3)用户修改密码
当用户觉得密码不安全或难以记住,可以在登陆以后点击修改密码,跳转到修改密码界面进行修改密码。

图4-7 用户修改密码
4.5 新闻栏目管理
新闻栏目是对新闻信息的分类,管理员可以在后台对新闻栏目进行增加和删除,如增加一个新的新闻栏目娱乐新闻,或者删除已有的体育新闻栏目等。

图4-8 新闻栏目增加

图4-9 新闻栏目删除
4.6 新闻信息管理
管理员可以在后台添加新的新闻信息,对已有的新闻信息进行修改,或者删除无用的新闻信息。
当管理员添加新闻信息时,点击增加新闻信息链接进入以下界面,然后输入需要添加的新闻标题,根据新闻的种类选择新闻所属栏目,然后输入新闻的内容,最后点击提交数据即可添加新的新闻。

图4-10 新闻信息增加
当管理员需要对已有的新闻信息进行操作时,点击新闻信息管理,即可进入以下界面,点击修改进入与添加新闻信息类似的界面进行修改,或者是点击删除链接即可删除掉无用的新闻信息。

图4-11 新闻信息删除

图4-12 新闻信息修改
4.7 通知公告管理
管理员通过后台发布一些新的通知公告,通告一些与网站相关的消息,提前通知用户一些变动等,令用户提前得知并做好准备,比如预告新闻信息,或者通告某一位用户因何种行为受到网站的删号等一些不是新闻信息却又有必要让用户了解的信息。

图4-13 通知公告查看
管理员发布通知公告时,输入通知公告内容以后点击提交数据即可发布成功。

图4-14 通知公告增加
管理员删除过期的通知公告时,点击删除即可删除。

图4-15 通知公告删除
管理员点击修改即可对通知公告进行修改。

图4-16 通知公告修改
4.8 用户评论管理
在交互式的新闻网站中,难免会出现有些用户的评论内容含有不文明用语或政治色彩或宗教歧视等一些违禁的语言,此时管理员就需要将这些违禁用语删除。

图4-17 用户评论删除
4.9 系统用户管理
若是有些用户违禁用语屡删不改,在评论的时候脏话连篇,内容满满的都是违禁用语,管理员有权利直接予以删除账号处理。

图4-18 删除用户账号
4.10 管理员密码修改
管理员若是感觉当前密码难以记住或有被盗风险,可以点击密码修改进入修改密码的界面进行密码修改。

图4-19 管理员密码修改
5 系统测试
5.1 测试的重要性及目的
(1)测试的重要性
软件的测试非常重要,是在将软件交给用户使用之前保证软件质量的重要途径。软件开发过程中每一阶段都要测试,早发现错误早修正,如果不在软件开发的早期阶段进行测试,系统的错误最终将会累积,最终会给成品的测试带来巨大阻碍。
(2)测试的目的
测试的目的是为了找出错误并修改:
① 软件测试是发现错误的过程。
② 测试不是为了表现自己的程序完美,而是为了找出程序的不足之处。
③ 发现了新错误才是成功的测试。
当然,偏执的认为没找出错误就是失败的测试也是不正确的,测试是为了通过查找错误产生的原因和错误的分布特征,以帮助发现当前软件的缺陷,并不是单纯为了鸡蛋里挑骨头,我们要设计出有针对性的测试方法,改善测试的有效性。
5.2 测试的主要内容
测试的过程一共就分为五个阶段,分别是:代码审查、单元测试、集成测试、确认测试和最后的系统测试。
(1) 代码审查:针对代码比较复杂的部位和比较容易出错的部分,仔细的排查。
(2) 单元测试:单元是测试的最小单位模块,测试该模块实现的实际功能与预期功能是否符合。
(3) 集成测试:集成测试是将所有模块组装起来进行整体测试,看与接口有关问题是否正常。
(4) 确认测试:确认测试是向用户展示系统工作一切正常,符合预期目标。
(5) 系统测试:软件开发完成以后,需要与系统中其他部分的软件配合运行,系统测试主要从以下几方面入手:
① 功能测试:测试功能模块是否满足用户的需求,设计所描述功能是否都能实现。
② 强度测试及性能测试:软件在一些超负荷情况下功能是否正常。
③ 安全测试:主要是对权限系统的测试和对非法数据抗干扰能力的测试。
5.3 测试用例
实例测试时,测试了添加新闻和注册新用户等8个相关实例,测试结果符合预期值。 测试用例如下:
表5-1 测试用例表
测试目的 测试用例 预期结果 实际结果
1 用户正确输入,能否成功登录 用户名:wcc 密码:111 登录成功 同预期测试结果相同
2 用户输入错误,能否成功登录 用户名:wcc 密码:123 显示登录信息错误 同预期测试结果相同
3 新闻查询测试 新闻栏目分类 新闻关键字 显示相关新闻信息 同预期测试结果相同
4 新闻分栏目查看 娱乐新闻 只显示娱乐新闻 同预期测试结果相同
5 管理员删除测试 用户账号删除 用户账号删除成功 同预期测试结果相同
6 密码修改 用户名:wcc 旧密码:111 新密码:222 密码修改成功 同预期测试结果相同
7 新用户注册 输入新用户相关数据 新用户注册成功 同预期测试结果相同
8 管理员添加测试 添加新的新闻栏目:世界新闻 世界新闻栏目添加成功 同预期测试结果相同
9 新闻添加测试 添加新闻信息 添加新闻信息成功 同预期测试结果相同
5.4 测试总结
运行用户注册的功能,然后再通过用户登录功能检验登录以及登陆以后的新闻浏览体验,尽皆达到了预期结果。在后台管理员登录以后对于新闻信息的增删改查,新闻栏目的管理,以及用户的管理都达到了理想的效果,这些测试表明网站各项功能都能按设计要求完成操作,达到预期的目标。
参考文献:
[1]冯艳.基于J2EE的遂宁市职校新闻发布系统的设计与实现[D].成都:成都电子科技大学,2012.
[2]鞠凤娟.基于Java Web的新闻发布系统的设计与实现[J].湖北:信息通信,2013(07)17-20.
[3]黄红.基于WEB技术的新闻发布系统的设计与实现[D].成都:成都电子科技大学,2008.
[4]张琪.基于MVC设计模式的Struts框架设计与应用[D].武汉:武汉科技大学,2008.
[5]唐晨.小型网络新闻发布系统的设计与实现[D].长春:吉林大学,2015.
[6]蔡亮.基于 JSP 的网络性能测试系统的分析与实现[J].湖北:信息通信,2013(6)9-11.
[7]孙年芳.基于jsp网页自动生成工具的设计与实现[J].安徽:计算机与信息技术,2008(11)13-14.
[8]薛惠.基于JAVA的移动新闻搜索引擎的研究与设计[D].石家庄:河北科技大学,2009.
[9]许昭霞.基于Web的信息发布与信息交流平台的设计与实现[D].长春:吉林大学,2015.
[10]杨毅.基于WEB的教务新闻发布系统的设计与实现[D].西安:西安电子科技大学,2007.
[11]张春元.Web新闻自动采集发布系统的设计与实现[J].海南:计算机技术与发展,2009(09)8-12.
致谢:
通过这次毕业设计的制作使本人受益匪浅,不仅大大提高了自学能力,而且对JSP等Java相关技术有了进一步的认识。在毕业设计的过程中遇到了非常多的困难,在指导老师蒿琳老师的帮助之下都一一解决,在此特别感谢蒿琳老师的大力帮助。蒿琳老师对我在编程的细节上给予了耐心且详细的指导,毕业论文也给予了最大程度上的解惑,这些是我完成毕业设计的最坚实后盾。
通过本次的设计使我深深的明白了软件开发设计不是一个人,软件开发设计需要的是一个团队,一个人力量是渺小的,倘若没有蒿琳老师的耐心教导,没有许多热心的同学的集思广益,我将是寸步难行,因此在以后的工作当中应当努力学习新技术,与同事们一起做出更好更出色的软件。

你可能感兴趣的:(基于Java Web的新闻发布系统设计与实现)