版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录TOC\o"1-4"\h\z\u中文摘要 1英文摘要 21概述 32网站可行性 42.1简述网站可行性分析 42.1.1技术的可行性 42.1.2经济可行性 42.1.3操作的可行性 53需求分析 63.1网站开发工具和运行环境 63.2国内新闻网站现状和蚌埠热点新闻系统特点 63.3网站的数据流程图 73.4网站的界面需求和功能需求 83.5网站性能 103.6网站设计约束 103.6.1.安全性约束 103.6.2.数据库约束 113.6.3.软件约束 114概要设计和数据库设计 124.1网站系统功能结构图 124.2后台登录业务流程图 134.3网站模块化设计 134.4网站数据库设计 134.4.1数据库概念设计 144.4.2数据库逻辑设计 154.4.3网站数据库的实现 165网站详细设计和功能的实现 185.1网站文件系统结构图 185.2网站首页设计 185.2.1首页图片设计 185.2.2网站轮播图特效实现 215.2.3网站浏览人数实现 225.3网站首页动态实现 245.3.1轮播图动态实现 245.3.2热点新闻信息获取 255.3.3投稿功能实现 265.3.4新闻信息分类获取和分页功能实现 265.4网站列表页和内容页实现 265.5网站管理中心的功能实现 285.5.1网站管理中心登录模块实现 285.5.2后台管理首页模块实现 295.5.3新闻信息上传模块实现 305.5.3信息列表模块实现 316系统测试 327总结 337.1网站的功能 337.2网站特点 337.3网站评估与改进方向 337.4开发体会与收获 34谢辞 35参考文献 3638-39-3-蚌埠热点新闻系统摘要:本系统采用B/S(Browser/Server)结构,JAVA为开发语言,MyEclipse8.5为开发工具和MySql数据库,使用了Photoshop、HTML+CSS+JS、JAVA+MySql、JQuery等技术。通过Photoshop进行静态页面设计,包括首页和其它页面的设计;用HTML+CSS对各个页面的代码布局;用JS完成客户端中对提交的的表单或者数据的验证;用JQuery实现各种前端特效;用JAVA+MySql实现网站的动态设计与实现。蚌埠热点新闻系统主要包括首页各类新闻展示,网站内新闻的搜索,新闻详细浏览,对新闻发表评论,对本网站进行新闻的投稿等功能。本系统的运行环境是在Tomcat服务器上。在系统设计与实现上包括需求分析、功能设计和系统设计等,通过流程图和文字加以解释说明。在系统设计中给出数据库和功能的设计,在系统实现中具体介绍了各个功能的预期效果情况和主要代码,同时附有运行图,最后总结开发和测试阶段遇到的问题并找到解决方法。关键词:新闻网站;HTML+CSS+JS;JQuery;JAVA+MySql;B/S结构;Bengbuhotnewssystem\o"添加到收藏夹"Abstract:ThissystemusesB/s(Browser/Server)structure,Javaasthedevelopmentlanguage,Myeclipse8.5asthedevelopmenttoolandMySqldatabase,usingPhotoshop,html+CSS+js,Java+MySql,JQueryandothertechnologies.UsingPhotoshoptodesignstaticpage,includingthedesignofthehomepageandotherpages;usinghtml+CSStolayouteachpageaccurately;usingJavascripttoverifytheformordatasubmittedintheclient;usingJquerytoimplementvariousfront-endspecialeffects;DynamicDesignandimplementationofWebsitewithJava+MySql.BengbuHotnewssystemmainlyincludesthefrontpageofallkindsofnewsdisplay,newssearchinthewebsite,newsdetailedbrowsing,commentsonthenews,thenewsofthesitetosubmitnewsandotherfunctions.TherunningenvironmentofthissystemisonTomcatServer.Inthesystemdesignandimplementation,includingrequirementsanalysis,functionaldesignandsystemdesign,throughtheflowchartandtexttoexplain.Inthesystemdesign,thedatabasedesignandthefunctiondesignaregiven.Inthesystemrealization,theexpectedeffectofeachfunctionandthemaincodeareintroducedindetail,finally,theproblemsencounteredinthedevelopmentphaseandthetestphasearesummarizedandthesolutionsarefound.Keywords:newswebsite;HTML+CSS+JS;jQuery;JAVA+MySQL;B/Sstructure;
蚌埠热点新闻系统1概述计算机网络发展迅速。用于编写网站的编程语言在不断的变化,种类也在不断的增加,模块化、集成化也在指数增高。蚌埠变化日新月异,快速发展的互联网,作为新兴的媒体发布形式,已经逐步影响到传统媒体行业的发展。现有的用来实现新闻发布的技术已经比较成熟,但是在素材管理、编辑、上载以及最终的页面发布和更新等方面,多数还采用较为落后的方法。我们针对上述状况,推出了蚌埠热点新闻系统,使所有功能集成在一个系统中,可自动有效地完成工作,并且支持多种存储格式,可有效地提高系统效率,并使管理规范化。21世纪是信息化时代,互联网和计算机的普及,改变了大多数人的生活方式和习惯。人们可以利用网络进行办公事务、休闲娱乐、从网络中获取各种讯息等。本次设计,是在充分了解新闻业务流程的基础上,采用一系列最新的信息处理技术,对新闻从发布到展示进行科学化管理,实现了新闻信息的最广泛共享,使新闻可以通过互联网快速高质量地完成发布。2网站可行性2.1网站可行性分析网站可行性分析是非常重要的,是网站实际开发的前提,并且对后期开发也起到了很大的作用。网站可行性分析可以从三个方面着手。2.1.1技术的可行性蚌埠热点新闻系统主要采用的是HTML+CSS+JS和JQuery技术设计前台的页面,采用div+css+js进行搭建页面框架,美化页面,完成表单的验证。根据要求使用JavaWeb技术,采用MyEclipse作为开发工具,用MySQL存储数据,其中MyEclipse可用于多种语言的开发,MySQL简单易用、性能较好、安全性高。2.1.2经济可行性经济可行性主要是指网站开发成本和维护成本是否能够在控制范围内。蚌埠热点新闻系统采用的是小型数据库MySql,便于学习和维护网站的运营。Java是跨平台的语言目前及以后不会被淘汰。2.1.3操作的可行性网站的操作可行性就是指网站在运营维护中,网站的管理员能否通过后台管理中心完成对网站的前台内容动态更新的操作以及对网站数据库的增删查改的操作。蚌埠热点新闻系统分为前台后台,前台主要是各类新闻的展示,后台是管理员登录后可以对新闻进行增删改查操作。会对管理员有一些操作限制,例如删除某一个主题,若此主题存在新闻则必须删除该主题上所有新闻才能删除该主题。3需求分析不同的网站,它们的需求不同,功能自然也各不相同。一个新闻系统,需要包括展示新闻,搜索新闻,新闻分类,可以联系管理员报告网站运行期间发生的错误。一个好的新闻网站,需要至少一个维护管理员,可以对新闻进行定期的更新与清理。从网站发展的可持续性,我们可以进行相应的需求分析,并及时调整工作方向,更完善的准备。有了准确的需求分析,我们才能更好地实现新闻管理系统。3.1网站开发工具和运行环境蚌埠热点新闻系统开发工具主要有DreamweaverCS6、MySql数据库,Java语言编写。DreamweaverCS6可作为蚌埠热点新闻系统开发的前台框架布局设计工具,使用小型数据库MySql实现动态网站的开发,Java的后台开发语言连接前台页面和后台数据。3.2国内新闻网站现状和蚌埠热点新闻系统特点从90年代开始,国外的媒体就进入了互联网的时代,并且逐步的掌握了互联网的相关技术,设计出一些新闻发布网站。国内起步比较晚,经过多年的学习也逐步掌握了一些技术,网络新闻越来越多样化、丰富化,网站自己编写的采访新闻以及国外的在此基础上,结合新媒体发展的现状及趋势探究了新闻客户端未来的智能化的发展趋势。蚌埠热点新闻系统是属于蚌埠市的一种小型网站,他可以准确实效的包含蚌埠周边的一些新闻,大事小情等等各种新闻。如果你是蚌埠市的居民想要关注有关蚌埠的一些事,如果在网上搜索那么会出现许多新闻,虽然也能满足一部分人的需求,但是大部分的用户还是不满足的,会觉得这种新闻太笼统,不够系统的解释蚌埠目前处于的现状,而且基本都是特别重大的事件,关于蚌埠的大事小情还是不够全面,但是蚌埠热点新闻系统就可以满足这一类用户的需求,可以快速便捷的知道蚌埠你想要知道的新闻。3.3网站的数据流程图网站数据流程图就是将网站系统对网站数据输入、处理、输出过程,以图形的方式表示。蚌埠热点新闻系统流程图制作方案。⑴把蚌埠热点新闻系统所有功能看作一个整体,确定数据的流入与流出。⑵确定蚌埠热点新闻系统的外部实体(管理员和普通用户),从而确定他们数据流向。⑶找到网页浏览者和网站管理者的输入和输出数据流。⑷从数据输入流出发,根据网站系统的功能需求。逐步画出对应的流向。⑸将蚌埠热点新闻系统内部的数据处理在看作一个整体,它的内部又有数据的处理。⑹这样循环的剖析,直到所有的逻辑都处理完善为止。数据流程概要图如图3-1所示。图3-1数据流程概要图3.4网站的界面需求和功能需求蚌埠热点新闻系统包含对蚌埠的各类新闻的介绍还可以发布一些便民的生活资讯,让蚌埠市人民可以通过这个网站找到自己想要知道的新闻内容,还可以对本网站进行新闻投稿,对自己周边发生的一些热点新闻做出详细的介绍。3.4.1网站的界面需求网站的页面是网站的门面,好看的页面可以吸引更多的用户浏览本网站。也可以使网站用户得到新闻资讯的同时,满足用户审美需求。下面列出了一些有关界面方面的需求:⑴设计一个独特的网站logo,可以突出显示网站特色,也可以让第一次进入本网站的用户清楚明朗的知道网站的大概内容。⑵网站的配色方案要和谐统一。⑶网站的字体和字号设置要合理。⑷网站前台页面布局要合理,网站的首页布局尤为重要。⑸网站要兼容现今流行的浏览器。⑹页面布局要合理,可以先用Photoshop设计好布局,再进行代码设计。⑺网站后台管理界面功能分配要合理,避免功能堆砌,功能位置安排要简洁和明确,具有可操作性。3.4.2网站的功能需求蚌埠热点新闻系统的主要功能是前台是用户的注册登录,展示新闻,浏览新闻,对新闻进行投稿,搜索想要的新闻,后台主要是对新闻的查看、修改、增加、删除,对管理员信息和普通用户信息进行删除修改。对投稿新闻进行审核。详细如下:⑴首页展示热点轮播图,各类主题新闻。⑵能够根据需求搜索需要的新闻。⑶对各类新闻信息进行分页显示。⑷各类主题新闻可以详细查看。⑸普通用户登录后才可以投稿,未登录只能浏览新闻。⑹管理员登录后能对新闻,用户,投稿,主题进行各种操作。⑺用户在登录到网站时,首页能够显示当前用户。⑻网站管理员能够重置自己的登录信息,也可以修改其他普通用户的信息,或者删除。⑼网站管理员能够查看各类新闻信息,主题信息,投稿信息,并且分页显示。⑽网站管理员能够上传新闻信息。能够利用文件上传技术,上传图片。⑾网站管理员能够增加新闻内容,主题名称。⑿网站管理员能够对投稿新闻进行增加到各类主题中,进行新闻展示。⒀网站管理员能够删除和修改新闻信息时,当删除和修改信息时给出警告提示避免网站管理员的误操作。⒁后台管理页面提供退出功能。退出功能是主要采用session技术销毁蚌埠新闻网站管理中心的所有session变量。3.5网站性能蚌埠热点新闻系统主要提供的功能是用户可以浏览新闻,安全级别要求不是那么高,但是须防止用户的恶意攻击。3.6网站设计约束3.6.1.安全性约束网站主要分为网站前台、网站后台和网站的数据库。蚌埠热点新闻系统用户主要分为两个部分,一种是网站浏览者,一种是网站管理员。两种身份的用户访问网站时具有不同的权限,网页浏览者只能访问网站的前台展示页面,网站管理员不仅能够访问网站的前台页面,同时也能操作网站的数据库,完成对新闻信息的操作。根据用户名和密码登录到后台管理中心页面,而普通网站浏览者只能浏览前台页面,不同的用户可以登录进行不同的操作。3.6.2.数据库约束数据库中的数据表每条记录都需满足三范式。第一范式保证具有原子性即可。MySql数据库是关系型数据库,因此只要使用此数据库就自动满足第一范式。第二范式要保证每条新闻信息的唯一性,可以通过设计主键来满足。第三范式要求数据表不能有冗余数据。所谓的冗余数据指的是某个字段的数据不能够被其他字段的数据推算而得到。3.6.3.软件约束⑴系统客户端网站系统运行时使用的浏览器,可以为IE、火狐、谷歌等浏览器。对浏览器客户端没有特别的要求,用户连接网络后,即可访问蚌埠热点新闻,获取新闻资讯。⑵网站开发环境限制WebStorm提供大量的插件功能,开发者在使用JS、JQuery等前端技术,编写代码时可以给出提示;WebStorm在编写小型网站时,它的轻便性和开发功能齐全性是它的最大优点。网站在Windows7操作系统下开发的,使用Java语言编写项目的基础是安装MySql数据库和Tomcat服务器。4概要设计和数据库设计4.1网站系统功能结构图根据对蚌埠热点新闻系统的需求分析和网站的整体构想,这里给出蚌埠热点新闻系统的功能结构图,如图4-1所示。图4-1蚌埠热点新闻系统的功能结构图4.2后台登录业务流程图网站后台管理中心登录验证业务流程图如图4-2所示。图4-2后台管理中心登录验证业务流程图4.3网站模块化设计网站的模块化设计:将蚌埠热点新闻系统划分为多个子系统,对每个子系统单独实现并测试通过,再将子系统组装成个蚌埠热点新闻系统的大系统。蚌埠热点新闻系统主要模块可以分为以下几个方面:网站首页模块新闻主题模块新闻内容页模块新闻投稿内容页新闻搜索模块登录注册模块管理员修改用户模块新闻信息管理模块新闻投稿管理模块新闻主题管理模块4.4网站数据库设计本网站系统采用开源的MySql5作为后台数据库,MySql5提供界面管理器,建立数据表。在MySql5中创建数据库,命名为:bbnews,选择数据库编码类型为utf-8。在MySql数据库中创建4个表,用于存储新闻信息、登录用户信息、新闻主题信息、新闻投稿信息。蚌埠热点新闻系统数据库结构如图4-3所示。图4-3蚌埠热点新闻系统数据库结构图4.4.1数据库概念设计根据网站的需求分析,蚌埠热点新闻系统设计了满足用户需求实体以及它们的关系。蚌埠热点新闻系统的实体主要有:新闻信息实体、用户信息实体、主题分类实体、投稿信息实体。以下详细介绍了这些实体的属性。新闻信息实体包括新闻编号、新闻标题、主题编号、新闻作者、新闻时间等属性,主要用来存储新闻资源的详细信息。新闻资源信息实体图如图4-4所示。图4-4新闻信息实体图管理员信息实体主要包括管理员编号、用户名、密码等属性,主要用来存储用户在登录网站的基本信息。用户信息实体图如图4-5所示。图4-5用户信息实体图主题信息实体包括主题编号、主题名称等属性,主要用来存储新闻信息类别的基本信息。主题信息实体图如图4-6所示。图4-6主题信息实体图投稿信息实体包括信息编号、投稿信息标题、主题编号、投稿作者、投稿时间、图片路径、投稿内容属性,主要用来存储新闻信息类别的基本信息。投稿信息实体图如图4-7所示。图4-7投稿信息实体图4.4.2数据库逻辑设计通过设计的E-R图创建蚌埠新闻网站数据库的逻辑结构,以下说明各个表的作用:新闻信息表,在数据库中采用下划线的命名方式命名为news,用于存储新闻信息。主要有新闻信息的编号、标题、主要内容、主题编号、图片路径、等字段。新闻信息编号设置为自动增长型编号。用户表,在数据库中命名为user,用于存储用户登录网站的登录信息。主要包括用户名和密码等字段。用户信息编号设置为自动增长型编号。主题信息表,在数据库中命名为topic,用于存储主题信息分类的基本信息。主要包括编号和主题名称等字段。主题信息编号设置为自动增长型编号。投稿信息表,在数据库中命名为contribute,用于存储用户投稿的基本信息。主要包括分类编号和新闻名称,新闻作者等字段。投稿信息编号设置为自动增长型编号。数据库中各表的结构如下:(1)news(新闻信息表),该表结构如表4-1所示。表4-1新闻信息表字段类型额外是否为空备注nidint(4)auto_incrementnotnull自动编号,主键ntidint(4)notnull主题编号ntitlevarchar(100)notnull标题nauthorvarchar(100)notnull作者ndatedatetimenull时间npicpathvarchar(100)null图片路径ncontentvarchar(1000)null新闻内容(2)user(用户表),该表结构如表4-2所示。表4-2用户表字段类型额外是否为空备注uidInt(4)auto_incrementnotnull用户编号,主键uname Varchar(10)notnull用户名,主键upathVarchar(10)null图片路径upwdVarchar(10)notnull密码utypeInt(4)notnull用户类型uphoneVarchar(10)null手机号码umaillVarchar(10)null电子邮箱(3)topic(主题信息表),该表结构如表4-3所示。表4-3主题信息表字段类型额外是否为空备注tidint(4)notnull主题编号,主键tnamevarchar(20)notnull主题名(4)contribute(投稿信息表),该表结构如表4-4所示。表4-2投稿信息表字段类型额外是否为空备注cidint(4)auto_incrementnotnull自动编号,主键ctidint(4)notnull主题编号ctitlevarchar(100)notnull标题cauthorvarchar(100)notnull作者cdatedatetimenull时间cpicpathvarchar(100)null图片路径ccontentvarchar(1000)null新闻内容4.4.3网站数据库的实现建立MySql数据库,使用Java语言连接数据库,Tomcat服务器作为项目运行的服务器。在浏览器搜索栏中输入http://loaclhost:8080/,进入到tomcat管理界面,在数据库管理器界面中,完成数据库中数据表的创建,基本步骤如下:⑴创建一个新的数据库,命名为bbnews,选择整理为utf_unicode_ci即编码类型为utf-8。⑵在bbnews的选中状态下,在该数据库中创建名为news的数据表,选择添加7个字段数,然后点击执行按钮。⑶根据news的逻辑结构图添加各个字段的详细信息。⑷新闻信息表的字段设计完毕后,选择该表的存储引擎为myisam。⑸如果在添加字段的过程中,漏掉了一些字段,可以选择在表中添加字段。⑹user,topic和contribute数据表的创建过程类似于news数据表的创建过程。⑺bbnews数据库中的数据表设计完毕后,可以添加一些测试数据,便于测试。5网站详细设计和功能的实现5.1网站文件系统结构图每个软件项目都有对应的文件夹组织结构图,如果网站系统中的文件数量很多,可以将不同的资源放在不同的文件夹中。网站的后台管理文件单独放在后台管理文件夹中。蚌埠热点新闻系统就是按照以上描述的文件夹组织结构安放文件的。网站文件夹结构图如图5-1所示。图5-1网站文件夹结构图5.2网站首页设计蚌埠热点新闻系统的首页设计,先用PhotoshopCS6将网站页面以图片的形式设计出来,用HTML+CSS+JS布局方式将网页静态布局用代码写出来,再使用JQuery完成网站特效。最后编写Java语言连接数据库,将需要的信息查询出来,动态显示在页面中。5.2.1首页图片设计使用PhotoshopCS6制图和处理图像软件,设计蚌埠新闻资源网站首页图片。首页图片设计步骤概要如下:⑴网站首页头部设计网站首页头部主要是以蚌埠热点新闻系统logo和搜索框组成,独特的logo可以很清晰明了的知道网站的主要内容,而且可以吸引用户继续浏览本网站,搜索框的设计可以填充右侧空白部分,设计的合理可以使整个头部不是很多空白也不会显得很拥挤。具体设计如图5-2所示。图5-2网站首页头部⑵网站导航条设计当某个导航被选中时,背景颜色变为深红色。网站导航条如图5-3所示。
图5-3网站导航条⑶网站的轮播图和各类新闻信息标题网站的轮播图可以以轮换照片的形式观看新闻的内容,各类新闻信息以每个模块的方式展示新闻主要标题,可以轻松快捷的找到自己想要知道的新闻。网站的轮播图和各类新闻信息标题如图5-4所示。图5-4新闻信息图⑷网站主题新闻信息分类设计点击某一个模块的主题,就可以有选择性的查看网站的主题新闻信息。以分页显示的方式展示新闻标题,可以很快捷的知道新闻内容。网站主题新闻信息分类图如图5-5所示。图5-5网站主题新闻信息分类图⑸网站首页底部设计网站的底部主要是网络许可和网站访问量组成,用户可以看到自己是第多少个访问的用户。网站首页底部图如图5-6所示。图5-6网站首页底部图5.2.2网站轮播图特效实现网站轮播图是目前很多网站都在使用的特效。在网站首页应用轮播图特效,可以循环动态地展示不同的图片,而一般的图片的展示方式,图片只能一张一张平铺在网站首页的页面上,不能提供循环动态地显示,也浪费了网站首页的有限的空间资源。使用网站轮播图,可以展示最近一段时间最热门的图片资源,用户可以点击轮播图中的左右按钮和数字按钮切换图片,提高用户与网站的交互性。网站轮播图具体实现步骤如下:⑴静态布局①准备9张相同大小的图片、图片文字介绍和左右翻页箭头图片。②用HTML+CSS布局方式,将9张图片叠放在一起,将轮播图样式布局出来。这里由于部分浏览器兼容问题,导致显示了图片链接的默认边框,可以根据需要选择是否要设置轮播图边框,保持网站界面在各种浏览器上的一致性。③轮播图上的左右箭头图片是放置在不同的盒子中的。盒子边框的样式是使用圆角型的边框。圆角型边框的设计思路是采用盒子的背景线条距离盒子左右边框的距离递减的思想,再用CSS代码一步步叠加,逐渐在盒子的四角形成圆弧形。⑵轮播图具体需求和详细实现①网站的轮播图特效是使用Jquery技术实现的,在使用Jquery技术之前需要引入Jquery函数库,才能使用Jquery函数库中提供的函数。②当网页HTML元素加载完毕后执行函数的函数体。代码段:$(document).ready(function(e){…代码…}。③初始化一些值,包括在轮播图的第一张图片的信息位置上添加对应图片标题信息;在轮播图区只显示第一张图片,将其他图片全部隐藏。代码段:vararr=my$("arr");varscreen=box.children[0];varimgWidth=screen.offsetWidth;④当单击图片标题时,以新页面的方式链接到相关的页面。代码段:<ahref=”detail.jsp”><imgsrc="<%=ns.getNpicpath()%></a>⑤点击图片圆圈按钮跳到对应的图片。创建小按钮根据ul中的li个数。代码段:for(vari=0;i<list.length;i++){}。⑥设置ol中第一个li有背景颜色,赋给对应图片的标题。代码段:olObj.children[0].className="current";⑦克隆一个ul中第一个li,加入到ul中的最后。代码段:ulObj.appendChild(ulObj.children[0].cloneNode(true));⑧鼠标进入到box的div显示左右焦点的div。代码段:box.onmouseover=function(){arr.style.display="block";clearInterval(timeId);};⑨注册鼠标进入事件。代码段:liObj.onmouseover=function(){for(varj=0;j<olObj.children.length;j++){olObj.children[j].removeAttribute("class");}this.className="current";pic=this.getAttribute("index");animate(ulObj,-pic*imgWidth);};} ⑩鼠标离开自动播放。代码段:vartimeId=setInterval(clickHandle,2000);eq\o\ac(○,11)左边和右边按钮,点击可以切换上一张和下一张新闻图片。代码段:my$("right").onclick=clickHandle;my$("left").onclick=function(){};eq\o\ac(○,12)鼠标离开到box的div隐藏左右焦点的div。代码段:box.onmouseout=function(){arr.style.display="none";timeId=setInterval(clickHandle,2000);};5.2.3网站浏览人数实现网站浏览人数设计主要是根据你登录时存的变量session,如果session改变则会使计数器加1,并存入count.txt文件中,以便下次有用户访问时可以读取count.txt的文件中保存的数据,这样就可以记录住浏览本网站中的人数。网站浏览人数效果图如图5-7所示。图5-7网站浏览人数图实现网站浏览人数的关键代码如下:CounterCountFileHandler=newCounter();longcount=0;if(application.getAttribute("count")==null){count=CountFileHandler.readFromFile(request.getRealPath("/")+"count.txt");application.setAttribute("count",newLong(count));}count=(Long)application.getAttribute("count");if(session.isNew()){count++;application.setAttribute("count",count);CountFileHandler.write2File(request.getRealPath("/")+"count.txt",count);}5.3网站首页动态实现网站首页动态实现主要包括首页的轮播图信息获取、主题新闻信息的获取、蚌埠新闻信息分类中的信息获取和分页实现。网站首页动态实现需要连接后台MySql数据库,主要是对数据库按照不同的条件完成查询操作,将查询结果动态地显示在前台界面上。5.3.1轮播图动态实现首页的业务处理页将蚌埠热点新闻系统数据库中的所有信息按照正序排列的条件输出到结果集变量ln7中。在变量ns中,将满足条件的轮播图信息提取出来,存放在另外一个数组中,在对该数据进行循环取出其中的值,分配到轮播图框中对应的位置。轮播图动态实现的关键代码如下:<divclass="all"id='box'><divclass="screen"><!--相框--><ul><%newsn=newnews();newsBiznb=newnewsBizimpl();n.setNtid(1); List<news>ln7=nb.querynews2(n);for(newsns:ln7){%><li><imgsrc="<%=ns.getNpicpath()%>"width="600"height="350"/></li><%}%></ul><ol></ol></div>5.3.2热点新闻信息获取热点新闻信息获取直接循环取出结果集ln6的前10条记录即可。该模块实现的关键代码如下:<divclass="c-right"><ul><liclass="title">热点新闻</li><%n.setNtid(2);List<news>ln6=nb.querynews2(n);for(newsns:ln6){%><li><strong></strong><ahref="detail.jsp?nid=<%=ns.getNid()%>"><%if(ns.getNtitle().length()<=16){%><%=ns.getNtitle()%><%}else{%><%=ns.getNtitle().subSequence(0,16)%><%}%></a></li><%}%></ul></div>5.3.3投稿功能实现 <formaction="do_addcontribute.jsp"method="post"enctype="multipart/form-data"> <tableclass="tabletable-borderedtable-hoveractivebg-info"> <tbody> <tr> <tdalign="center">新闻标题:</td> <td><inputtype="text"class="form-control"name="title"/></td> </tr> <tr> <tdcolspan="2"align="center"> <buttonclass="btn-primary">确定</button> <inputtype="button"class="btn-primary" onclick="javascript:history.go(-1);"value="取消"/> </td> </tr> </tbody> </table> </form>5.3.4新闻信息分类获取和分页功能实现新闻信息分类是按照信息类别进行分类的,将主要的新闻信息、主题信息吗,两种新闻信息在前台列举出来。用户可以通过不同的选项卡,浏览不同的信息。用户在点击不同的选项卡时,程序中设置的标志位获得不同的值,浏览器将标志位提交给服务器,服务器处理页面按照不同的标志位构建不同查询语句,查询数据库中的数据表将结果返回给前端界面。分页功能在蚌埠热点新闻系统中有很普遍的使用,在新闻主题信息模块、新闻主题信息列表页和后台管理中心都有用到。这些分页功能的处理机制类似,第一次加载页面时,显示的是第一页的信息,根据用户点击的页码显示对应页码的信息。5.4网站列表页和内容页实现由于论文的篇幅有限,这里的列表页和内容页具体实现过程和代码省略。网站的列表页包括热点新闻、今日聚焦、便民咨询、逛吃逛吃、校园生活等列表页,不同的新闻信息在不同的列表页显示。新闻列表页图如图5-8所示:图5-8新闻列表页图内容页将获得的标题、图片、和介绍等信息填入在内容模板中对应的位置。网站内容页图如图5-9所示。图5-9网站内容页图5.5网站管理中心的功能实现蚌埠热点新闻系统管理中心主要用于蚌埠热点新闻系统的新闻信息的更新和维护。网站管理中心主要包括用户登录、新闻信息上传、信息列表的查找、信息列表的修改、新闻信息删除,用户投稿,投稿审核等功能模块。5.5.1网站管理中心登录模块实现网站管理中心登录主要是用于对进入蚌埠热点新闻系统后台管理中心的用户进行安全性验证,以防止非法用户进入网站的后台管理中心,对网站的数据造成恶劣的影响。网站管理中心登录界面如图5-10所示。图5-10网站管理中心登录界面网站登录技术分析如下:登录界面获取用户名和密码通过用户登录按钮将表单数据提交给后台对应的处理页面。编写sql查询语句在数据库中的管理员表查询,调用Java提供的接口,将查询结果返回给登录处理页面。如果有符合条件的用户,则返回1,跳转到对应的页面,并将登录的用户名称存入到session中。如果没有符合查询条件的结果则返回0,代表登录验证失败,在登录界面中给出提示重新登录。登录界面实现的关键代码片段如下:request.setCharacterEncoding("utf-8"); Stringusername=request.getParameter("username"); Stringpwd=request.getParameter("userpassword"); userlogin=newuser(); login.setUname(username); login.setUpwd(pwd); userBizubiz=newuserBizimpl(); booleanflag=ubiz.login(login); List<user>us=ubiz.queryuser(login); inttype=0; if(flag==true){ session.setAttribute("user",username); for(useru:us){ type=u.getUtype(); } if(type==0){ %> <scripttype="text/javascript"> alert("登录成功!"); location.href="index.jsp"; </script><%}elseif(type==1){ %> <scripttype="text/javascript"> alert("管理员登录成功!"); location.href="<%=path%>/jsp/back/indexback.jsp"; </script><% }}else{%> <scripttype="text/javascript"> alert("登录失败!"); location.href="login.jsp"; </script><%}%>5.5.2后台管理首页模块实现后台管理主要是管理员管理前台展示的新闻以及投稿信息审核。左侧是新闻的主题分类可以清晰明切的知道新闻主题类型,准确快捷的找到新闻并进行相应的增删改查操作。后台管理首页界面如图5-11所示。图5-11管理中心首页界面网站后台管理中心界面是采用HTML+CSS+JS布局方式完成布局的。在后台管理中心首页界面的头部部分将登录网站的用户名称和主题logo呈现出来,用户信息保存在session中,只要不退出登录就会一直保存在session中。5.5.3新闻信息上传模块实现信息上传模块主要是向蚌埠热点新闻系统数据库中添加新闻信息。添加一条新闻信息主要包括新闻标题、作者、主题、图片、介绍等信息。管理员在初始化新闻信息数据时,就可以通过信息上传操作界面上传新闻信息。蚌埠热点新闻系统的前台能够将上传到数据库中信息取出来,并呈现在网站的前台界面中。信息上传界面如图5-12所示。图5-12新闻上传界面信息上传模块技术分析如下:信息上传就是对数据库中的数据表增加一条记录,是访问MySql数据库的过程。管理员通过上传界面,在对应输入框中填写对应的信息,点击确定提交按钮将表单中的数据提交给服务器的上传模块的处理页面,处理页面主要分析是非文件表单字段还是文件表单字段,根据信息的不同,进行相应的处理。之后处理页面会调用数据库的服务文件中增加一条新闻信息的方法。在该方法中再继续调用操作数据库的工具类,完成数据库的连接和增加记录的操作。这里是图片文件上传技术。技术关键代码如下: if(isMultipart){ FileItemFactoryfactory=newDiskFileItemFactory(); ServletFileUploadupload=newServletFileUpload(factory); try{ List<FileItem>items=upload.parseRequest(request); Iterator<FileItem>iter=items.iterator(); while(iter.hasNext()){ FileItemitem=(FileItem)iter.next(); if(item.isFormField()){ fieldName=item.getFieldName(); if(fieldName.equals("title")){ title=item.getString("UTF-8"); }elseif(fieldName.equals("date")){ date=item.getString("UTF-8"); }elseif(fieldName.equals("author")){ author=item.getString("UTF-8"); }elseif(fieldName.equals("topic")){ topic=Integer.parseInt(item.getString("UTF-8")); }elseif(fieldName.equals("content")){ content=item.getString("UTF-8"); } }else{ StringfileName=item.getName(); if(fileName!=null&&!fileName.equals("")){ FilefullFile=newFile(item.getName()); FilesaveFile=newFile(uploadFilePath,fullFile.getName()); item.write(saveFile); uploadFileName="images/"+fullFile.getName(); }}} }catch(Exceptione){ e.printStackTrace(); }}5.5.3信息列表模块实现新闻信息列表模块主要包括查看新闻信息、增加新闻信息、删除新闻信息、修改新闻信息、新闻信息的分页显示等功能。点击增加图标,进入增加界面对新闻信息的数据填写添加并提交,即可完成增加。删除新闻信息时,点击删除图标,可删除一条信息。修改新闻信息时,点击修改图标,进入修改界面修改该条新闻信息的数据并提交,即可完成修改。对信息列表的分页显示可以控制界面的大小,保持界面的美观性,并且避免一次性从数据库中提取所有数据,而造成网页打开不流畅。信息列表模块如图5-13所示。图5-13信息列表模块新闻列表模块技术分析如下:管理员在管理中心首页中点击新闻列表按钮,打开新闻列表界面时,新闻列表处理页将数据库中新闻信息表中数据以数组的显示返回给信息列表页,信息列表页在循环地显示出这些数据。管理员在进入列表页时,显示的是第一页的新闻信息数据,点击下一页再向服务器发请求,从数据库中调出第二页的数据,在信息列表页中呈现出分页信息,完成分页功能。分页实现的关键代码片段如下://给定每页数,获取共有多少页,和总共多少条记录<ulclass="paginationpagination-centered"> <li> 当前页数:[<%=pageIndex%>/<%=totalpages%>]<br/> </li><%if(pageIndex>1){%> <li> <ahref="newslist.jsp?ntid=<%=ntid%>&pageIndex=<%=pageIndex-1%>">上一页</a> </li> <%}%> <c:forEachvar="i"begin="1"end="<%=totalpages%>"step="1"> <c:iftest="${pageIndexeqi}"> <liclass="active"> </c:if> <c:iftest="${!(pageIndexeqi)}"> <li> </c:if> <ahref="newslist.jsp?ntid=<%=ntid%>&pageIndex=${i}">${i}</a> </li></c:forEach> <%if(pageIndex<totalpages){%> <li> <ahref="newslist.jsp?ntid=<%=ntid%>&pageIndex=<%=pageIndex+1%>">下一页</a> </li> <%}%></ul>管理员在修改和删除时,都给出提示按钮,用户确认是否真的确定修改或删除,避免误操作。用户修改和删除的实现流程类似于信息上传的实现,这里就不在赘述。6系统测试网站系统测试是网站发布之前的一个必不可少的环节。网站的系统测试是在完成单元测试(对每个功能模块单独测试)之后的工作,没有发现错误,调试运行成功。接下来要做的就是网站的系统测试,将几个功能模块组合在一起测试,不会出现问题,则说明通过网站的系统测试。1、蚌埠热点新闻系统测试的原则⑴测试人员不能为网站的开发者,要确保对网站操作的随意性,才能测出效果。⑵测试的数据在没有说明情况下可以任意输入。⑶测试结果要保存下来,以供网站改进升级时,作为参考依据。2、蚌
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 某航空厂质量管理体系办法
- 标准化高级工程师考试试卷及答案
- 2026年云南昆明一中三中高三1月考前适应性考试化学试题含解析
- 心理评估干预:多学科协作信息化系统
- DB31∕T 1232-2026 城市森林碳汇监测与核算技术规程
- 专题三能量与动量阶段检测(提升教师版)
- 2026届福建省漳州市龙海程溪中学高三第二次大联考化学试题含解析
- 2026春小学信息技术四年级下册期末练习卷(清华版新疆)含参考答案
- 老年综合评估大数据平台构建与价值挖掘
- 2026届贵州省黔西南市重点中学高三第三次月考(期中)化学试题试卷含解析
- 2025+NICE指南:跌倒风险评估与预防解读课件
- 预制箱梁分包合同范本
- 血液透析的人体容量监测仪课件
- 教你填《广东省普通高中学生档案》精编版
- 苏教版《小学科学课程标准》电子版
- 中药炮制工考试题与答案
- 2023-2024学年云南省楚雄市小学语文 2023-2024学年三年级语文期末试卷期末高分试卷
- 系统解剖脊神经
- GB/T 28775-2021同步带传动T型梯形齿同步带轮
- GB/T 20641-2006低压成套开关设备和控制设备空壳体的一般要求
- GB/T 15651.4-2017半导体器件分立器件第5-4部分:光电子器件半导体激光器
评论
0/150
提交评论