摘 要
随着电脑、智能手机等能够连接网络设备的家庭化和大众化,各种网站开始被设计和开发出来,功能多种多样,涉及的领域也各有不同,生活、商业、科技等等。而信息的发布是网络的一大特点,人们上网的主要需求就是汲取自己想要的信息或者感兴趣的信息,因此新闻发布及管理系统也就此诞生。
从近几年WEB网站如春笋般出现不难看出人们对外界信息了解很大程度上依赖于信息类发布网站,由于智能手机的普及会导致该需求在日益增长,人们都开始依赖于这些信息类发布网站,对信息的阅读也不仅仅只限于几个信息发布网站,而是越多越好,只要是能够满足他们对信息了解的需求的网站都能够孕育而生,这些信息类发网站的出现影响了我们这一代人的生活习惯和信息获取方式,也为人们茶前饭后的业余生活增添了色彩。
上述就是我会选择《新闻发布及管理系统》作为我的毕业设计题目的原因。
本文所描述的《新闻发布及管理系统》的设计和开发技术,前端设计方面运用了B/S技术,只为了给用户最完美的用户操作体验。本应用的后台开发运用的是java开发技术,数据库采用了MySQL数据库进行数据的存储操作。
第一章 绪论
随着电脑、智能手机等能够连接网络设备的家庭化和大众化,各种网站开始被设计和开发出来,功能多种多样,涉及的领域也各有不同,生活、商业、科技等等。而信息的发布是网络的一大特点,人们上网的主要需求就是汲取自己想要的信息或者感兴趣的信息,因此新闻发布及管理系统也就此诞生。
从近几年信息发布网站如春笋般出现不难看出人们对外界信息了解很大程度上依赖于信息类发布网站,由于智能手机的普及会导致该需求在日益增长,人们都开始依赖于这些信息类发布网站,对信息的阅读也不仅仅只限于几个信息发布网站,而是越多越好,只要是能够满足他们对信息了解的需求的网站都能够孕育而生,这些信息类发网站的出现影响了我们这一代人的生活习惯和信息获取方式,也为人们茶前饭后的业余生活增添了色彩。
如今计算机已经被广泛应用于人工智能,信息获取,信息发布的各个方面,计算机网络技术也得到飞速的发展。我们上网不单单只是为了看电视和收发电子邮件,日常生活中的娱乐活动,人们都可以通过网络来完成。而对于新闻发布来讲,通过网络可以更快捷的发布国际国内新闻信息。随着互联网技术的重要提升,为媒体和信息商家行业提供了更好的信息传播,信息发布行业采用最前端技术使信息的制作质量得到了飞速提高。新闻发布系统,它的内容对于如今社会各层次的人们来说都至关重要,所以新闻发布系统应该能够为用户提供真实实用的信息和便捷的查询手段,及快捷的发布方式,让媒体更快发布给读者等等。随着科学技术的不断提高,计算机科学日渐成熟,它强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对新闻信息进行管理,有着手工管理所无法比拟的优点.检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
新闻推荐系统,在充分了解新闻业务流程的基础上,采用一系列最新的信息处理技术,对新闻进行科学化管理,实现了新闻信息的最广泛共享,使新闻可以通过计算机网络完成发布。而用户则随时随地都可以通过计算机浏览该网站。
新闻发布系统别称消息管理和信息编辑管理系统,它能够将网站上的好多消息,消息管理者等主要知识实现集中的操作,以信息的内容类别进行分类,然后整体化,标准化,规范化整到网上再放到网站上供人们查阅的的一类网络信息的管理程序,它可以使用网络互联网为开发组件组件消息发布系统,页面内的消息透过这个简单的插入项加入数据,最后把设计制作的网页的例子插入进去这样就可以发布到网站供浏览者观看。利用互联网数据库,把网站的管理方法简化到至用录入文字就可以完成,进而使站点可以更快速调用实时信息,通过新闻发布系统可以有效减少站点管理维护的工作量,对消息的发展速率有了非常可观提高。
科学技术日新月异发展的今天,生活节奏加快导致的人民需求也提高。人们渴望获得更加及时性,简单明确的新闻消息。传统的以报纸期刊,杂志已经不能满足人们期待获得第一手消息的愿望。因此,以互联网为传媒单位的新闻发布管理系统开始逐步替代原有的落后的消息,而成为当代新的潮流方式。新闻采编发布系统以最迅速便捷的方式,使得人们不需要出门而获得分享世界各地的资源,进行交流。而新闻网站的时效性,让所有的评论和阅读可以实时更新。新闻采编发布系统,是通过管理网上发布的新闻和评论,将变动的信息进行有效的管理,网络用户因此可以获得新闻的多媒体显示。 论文介绍了新闻发布管理系统的研究背景、项目意义和目前的研究与应用现状,明确了论文研究的内容和主要工作;进行业务分析的过程后,系统存在的问题、整体结构、原来的业务流程等都做了进一步的研究,由此得到了改造后的业务流程;模块的功能分析,用例分析和用例描述,并确定了系统的功能,该系统图和包图和子功能的整体功能,包括新闻发布和其他包图;最后的数据分析环节中,整个系统每个功能模块所需要处理的数据都有被分析讨论,根据这些数据之间的关系,实体类关系图和数据库表结构建立起来;文章最后的部分是新闻发布管理系统研究与分析工作进行了总结,提出了分析中存在的问题,对将来的深入工作投入更多的努力和细致的研究,做出了新的展望。
第二章 相关技术介绍
2.1 JAVA简介
Java是一门面向对象编程语言,不同与C++的面向过程编程语言,但是java中继承了许多C++中的许多优点,同时少了 C++里的多继承、指针,因此Java语言具有面向对象和单继承的特征。Java中面向对象编程语言是编程语言的代表,体现了面向对象理论可以使用java的面向对象和跨平台性多线程队程序进行编写和实现使程序的可拓展性更强
2.2 JSP技术简介
第三章 系统设计
3.1功能需求
本系统的目的是实现新闻发布系统的基本功能。新闻发布系统提供了不同类型新闻(如社会新闻、娱乐新闻和技术前沿新闻等) 满足不同用户需求;系统将用户分为:普通用户,系统管理员和新闻管理员。 普通用户能在本系统中进行新闻浏览,阅读,新闻搜索。每条新闻的标题被做成一个链接,用户点击它们就能跳转页面进行新闻阅读;新闻阅读页面,每条新闻的详细信息将被取出,包括内容、标题等;用户能根据自己的需要搜索新闻,如可以通过新闻标题或新闻内容对新闻进行搜索,这样可以快速地找到符合条件的新闻,并输出搜索结果;用户能对新闻进行被评论(允许匿名评论)。 系统管理员可以进行新闻分类管理、添加新闻、修改新闻、新闻审核和删除新闻,同时系统管理员能完成用户管理如包括系统用户管理、添加用户和更改账号。 新闻管理员拥有添加新闻和更改账号的权限。根据用户不同,给予不同权限,这样加强系统的管理,同时加强系统的安全性。
普通用户的用例图如图3-1,普通用户可以浏览新闻,用户登入,新闻评论的功能;
管理员用户用例图3-2管理员拥有用户登入,评论管理,新闻栏目管理,新闻管理这些权限。
3.2性能需求
根据新闻系统的需求进行开发设计,主要实现如下目标:界面设计友好、美观、数据要准确、安全、可靠。 强大查询功能,方便用户浏览网站的所有信息。 设计会员登陆功能,保证新闻留言的安全性。实现对信息、比赛项目等信息的添加、修改、删除,便于更新网站内容。 系统最大限度地实现易维护性和易操作性。 操作的简易实用性本系统是社会新闻发布系统,针对的用户大多数是社会人员。因此操作的简易实用性就体现的尤其重要。在此系统的开发中就很好的体现了这一点,系统的界面美观,典雅,充满了人性化;用户操作起来也容易上手。对于一个社会新闻发布系统而言新闻信息是很多的,而且使用人数较多,所以对系统的安全性有比较高的要求:对于数据库,要设置不同用户的权限,数据的修改必须由合法用户操作。
3.3 可靠性和用户界面需求
为更好地加强新闻网络系统、新闻网站、个人主页的管理,认真落实网络和信息安全保障制度,防范和处理社会网络管理重大突发事件和敏感事件,确保网络提供稳定、安全的信息服务。
法律可行性研究本系统的设计和开发不会在社会和个人上构成侵权或其它一些责任纠纷。因为该系统是作为毕业设计来研究的,它与商业无关,而且是自我进行的设计开发,因此不会造成信息泄露,系统中的一些数据都是自己模拟出来的不会对社会对个人造成不必要的侵权,因此在法律上是可行的。
网站界面是用户直接访问的页面,要让用户一访问就能看出来这个网站的主题思想是什么,一下就能体现出这个网站的中心内容。并且首页的模块之间要联系紧密,更好的让用户理解明白。在这个页面上我们要做到所有查看消息的功能都能实现,或者说有能实现查询信息功能的连接。
3.4系统E-R模型
为了确保正确的数据在系统中能够客观真实地反映世界,其中的一些完整性规则通过一些控制的标准作业应用程序来实现。数据库要具有安全性,这数据库系统重要的一个方面,它是指保护数据库以防止非法使用,包括破坏和未授权访问等行为。
但是由于本次设计开发的系统涉及到的数据都不具备保密性的数据,因此不需要采取特别复杂的安全措施,只须防止数据被人随意改动即可。根据系统要求,可以列出以下数据项和数据结构,下面用E-R图2-4来表示实体模型
3.5 系统流程分析
为了使用户进一步了解本系统设计,这节将对系统进行流程过程的分析。用户进行身份判断分为两个阶段:
(1).判断该用户是否是本系统的注册用户。
(2).判断注册用户属于管理员还是普通用户。
第一阶段是将准备登录的用户名和密码与系统连接的数据库中的用户信息表中的数据进行匹配,如果能够在数据库中找到对应的用户则登录成功。第二个阶段是根据该有效用户的用户名查找出该用户对象,根据用户对象中的style属性值决定其工作界面。
该系统一分为二的分成了前台系统和后台系统,后台系统具有对身份判断的上面两个阶段,前台对身份的判断只有上面的第一阶段
图3-6展示了后台系统的登录流程。超级管理员能够对所有普通用户的信息和普通管理员的信息进行管理以及对所有新闻信息进行管理,而普通管理员少了一个对普通用户信息管理的权限。
第四章 系统功能实现
4.1 系统架构
本次设计开发的系统是B / S模式系统。后台数据处理层,中间业务逻辑层,用户界面层组成三层结构的体系。后台使用数据库,中间层使用数据的分析和处理程序,前台使用WEB连接的三种层次结构的发展模式。使用和MySQL数据库和JSP技术平台开发。
前端软件使用Web技术开发,通过在服务器端下载的方式使客户端运行,这样可以在最大程度上提高整个系统的安全性能;客户界面采用浏览器,操作起来非常简单,大量的培训费用和时间又可以节省。在具体实施的时候,我们可以充分的利用JSP技术,WEB开发出来大大提高了应用的扩展性、功能性及可靠性,最终的结果就不是简单的HTML页面了,而是可在它之上构筑一种应用完整的平台。系统主要是针对新闻发布工作的管理。根据分析系统确定的功能以及目标,采用逐步求精、自顶到底的设计结构化方法,系统进行了结构设计。系统开发设计分析图如图4-1所示
4.2 系统设计
系统不仅要求功能完善,而且还要界面友好,因此,对于一个成功的系统设计,功能模块的设计是关键。由于本系统可执行的是一般性质的教学管理工作,本系统具有一般适用性,其所实现的功能满足学校对日常课程网站工作的管理,方便老师和学生的沟通。系统设计的图像的数据流分析阶段的需要结构化设计的概要说明的基础上,根据映射到软件体系结构的某些程序。首先,整个系统分成几个小的模块,小的问题,然后,进一步细分模块,添加细节。
据新闻发布系统的需求分析,确定此系统分为前台新闻显示和后台管理两类。前台新闻显示模块分为新闻浏览、新闻搜索、留言板等几个模块,管理员通过输入的用户名和密码登陆后台管理区,可以对后台进行管理页面、新闻类别管理、新闻管理、公告管理和系统设置等几个模块的操作[11]。如图3-2所示
在本系统中,根据对系统需求的分析,可以总结出如下的需求集:
(1)系统应有前台和后台;
(2)系统前台应该可以显示新闻栏目和新闻以及用于管理员登录系统后台的登录界面;
(3)一般用户应该可以在前台自由浏览新闻,包括选择性地浏览新闻即先选择新闻栏目再浏览新闻栏目下的新闻条目;
(4)注册用户可以发表相关新闻的评论,系统管理员应该可以登录到系统
后台;
(5)系统管理员应该可以对新闻栏目和新闻进行查看、修改、删除和添加操作,也可以对注册用户管理,同时还可以对相关新闻的评论进行管理。
由以上需求集分析可知:
(1) “新闻栏目”和“新闻”为系统的两个主要内容,所以应该分别作为一个类,而新闻栏目和新闻的显示需要管理类进行管理,系统管理员要对栏目和新闻进行查看、添加、修改和删除,也需要相应的管理类进行管理,所以,系统对于新闻栏目和新闻分别需要“栏目管理类”和 “新闻管理类”;
(2)系统中应该要有超级管理员、管理员、注册用户等角色,超级管理员是最高权限的,管理员是超级管理员发放的,注册用户是前台注册产生的。
(3)系统要保存信息,必须用到数据库,所以需要一个数据库连接的类;
(4)要将系统的各个功能执行成功,少不了相应的控制类。 因此,识别出系统主要的类:新闻管理类,栏目管理类,用户管理类,评论管理类数据库连接的连接对象类以及各个类。
4.3 系统数据库设计
该新闻系统的数据库包含三个表:新闻的基本信息表:fz_news、用户的留言表:Discuss和用户的信息表:users。
下面分别介绍这些表的结构。
1.新闻的基本信息表fz_news
基本新闻表fz_news用来保存网上新闻的基本信息,结构如表4-1所示。
第五章 系统功能实现
5.1前台新闻发布系统界面
在地址栏输入:http://localhost:8080/xwtj游客可以进入前台新闻界面进行浏览新闻发布系统的如图5-1所示。
5.1.1用户注册界面
如果想更好的体验这个系统我们需要先注册一个会员,这样可以进行评论和更好的体验该系统,注册界面如图5-2所示
用户注册界面是通过MemberBean.java类中的personReg方法同过servlet类来完成向数据库中表member中存储数据,其注册代码:
public int personReg(String username,String password,String type,String realname,String sex,String bir,String sheng,String city,String telphone,String email,String question,String answer,String lastip,int off,String address){ password=MD5.MD5(password);
String sql = "insert into member(username,password,type,regtime,ifuse,logintimes,lasttime,lastip)" +"values('"+username+"','"+password+"','"+type+"','"+date+"','"+off+"','0','"+date+"','"+lastip+"') ";DBO dbo = new DBO();dbo.open();try{int i = dbo.executeUpdate(sql);
if(i == 1){ rs = dbo.executeQuery("select id from member where username='"+username+"'");rs.next();int mid = rs.getInt(1); String sql2 = "insert into pmember(mid,realname,sex,bir,sheng,city,telphone,email,question,answer,address)"+"values('"+mid+"','"+realname+"','"+sex+"','"+bir+"','"+sheng+"','"+city+"','"+telphone+"','"+email+"','"+question+"','"+answer+"','"+address+"')";int j = dbo.executeUpdate(sql2);if(j == 1)return Constant.SUCCESS;elsereturnConstant.SYSTEM_ERROR;}else{returnConstant.SYSTEM_ERROR; }}catch(Exception e){ return Constant.SYSTEM_ERROR; }finally{dbo.close();}
}
5.1.2用户登入界面
在用户登入后就能拥有一些基本的权限,评论权限并且用户可以阅读后进行相应的评论的发表用户登入界面如图5-3所示:
用户登入界面也是通过
MemberBean.java类查询表member中是否存在该用户其核心代码如下所示:
public int memberLogin(String username,String password,String type){
password=MD5.MD5(password);
String sql = "select password from member where username='"+username+"' and type='"+type+"' and ifuse='1' ";
//String sql2 = "update member set logintimes=logintimes+1,lasttime='"+date+"',lastip='"+lastip+"' where username='"+username+"' ";
DBO dbo = new DBO();
dbo.open();
try{
rs = dbo.executeQuery(sql);
if(rs.next()){//如果有该用户名
String str = rs.getString("password");
if(str.trim().equals(password)){
//dbo.executeUpdate(sql2);
return Constant.SUCCESS;
}
else{
return Constant.PASSWORD_ERROR;
}
}
else{//如果没有
return Constant.NAME_ERROR;
}
}catch(Exception e){
return Constant.SYSTEM_ERROR;
}finally{
dbo.close();
}
}
5.1.3用户浏览新闻界面
用户登入后可以进行新闻的浏览,点击相应的栏目就可以阅读相应的新闻内容方便快速查找我们想看的新闻,如图5-4所示:
5.2后台新闻界面系统
在地址栏输入:http://localhost:8080/xwtj/admin/login.jsp可以进入后台管理员登入界面如图5-2所示:
后台管理界面是通过匹配表fz_admin表中的数据来完成登入其核心代码如下:
public int adminLogin(String username,String md5password,String password,String loginip,String useros){
String sql = "select * from fz_admin where username = '"+username+"' and isuse='1'";
String sql4 = "update fz_admin set logintimes = logintimes+1 where username = '"+username+"' ";
DBO dbo = new DBO();
String pwd;
dbo.open();
try{
rs = dbo.executeQuery(sql);
if(rs.next()){
pwd = rs.getString("password");
if(pwd.trim().equals(md5password)){
dbo.executeUpdate(sql4);
return Constant.SUCCESS;
}
else{
return Constant.PASSWORD_ERROR;
}
}
else{
return Constant.NAME_ERROR;
}
}catch(Exception e){
e.printStackTrace();
return Constant.SYSTEM_ERROR;
}finally{
dbo.close();
}
}
5.2.1后台管理界面
在管理员登入后可以进入后台管理界面,后台管理界面主要功能有系统账号管理,公告管理,新闻栏目管理,新闻资讯管理,注册用户管理,友情链接管理功能如图5-5所示:
5.2.2新闻栏目管理界面
在新闻栏目管理中可以对前台新闻栏目进行添加和删除操作,这用可以对新闻栏目进行完善的管理,新闻栏目删除界面如图5-6所示:
新闻栏目删除的核心代码如下:
if(method.equals("delFenlei")){//删分类
String id=request.getParameter("id");
int flag = newsBean.delFenlei(id);
if(flag == Constant.SUCCESS){
request.setAttribute("message", "操作成功!");
request.getRequestDispatcher(sysdir+"/fenlei/index.jsp").forward(request, response);
}
还有新闻栏目的增加如图5-7所示:
5.2.3新闻资讯管理界面
新闻资讯管理界面是新闻系统中的核心部分是对新闻的编辑和发布,新闻资讯管理,新闻资讯的发布,评论的管理的重要功能,新闻资讯管理如图5-8所示:
新闻资讯管理界面核心代码如下:
if(method.equals("DELNEWS")){//删除新闻
String check[] = request.getParameterValues("checkit");
if(check == null){
request.setAttribute("message", "请选择要删除的记录!");
request.getRequestDispatcher(sysdir+"/news/index.jsp").forward(request, response);
}
else{
int id2[]= new int[check.length];
for(int i = 0;i<check.length;i++){
int s = Integer.parseInt(check[i]);
id2[i] = s;
}
int flag = new NewsBean().delNews(id2);
if(flag == Constant.SUCCESS){
request.getRequestDispatcher(sysdir+"/news/index.jsp").forward(request, response);
}
else{
request.setAttribute("message", "系统维护中,请稍后再试!");
request.getRequestDispatcher(sysdir+"/news/index.jsp").forward(request, response);
}
}
}
六、联系与交流
q:969060742 完整代码、sql、辅导视频、报告