WEB动态新闻发布系统的设计与实现毕业设计_第1页
WEB动态新闻发布系统的设计与实现毕业设计_第2页
WEB动态新闻发布系统的设计与实现毕业设计_第3页
WEB动态新闻发布系统的设计与实现毕业设计_第4页
WEB动态新闻发布系统的设计与实现毕业设计_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE22WEB动态新闻发布系统的设计与实现摘要21世纪是信息的时代,是网络的时代,进入信息社会高速发展的时代,数字化革命给所有领域带来新的改变。随着Internet的普及,无论人们相隔多么遥远,都有天涯若比邻的感觉。足不出户,便可知天下新近之大事,便可与大洋彼岸的朋友畅谈无阻。网页逐渐融入人们的生活,快速及时地浏览新闻,获取五彩缤纷的网上信息,已成为人们日常生活的一部分,与此同时越来越多的企业建立了自己的WWW网站,企业通过网站可以展示产品,发布最新动态,与用户进行交流和沟通,与合作伙伴建立联系,以及开展电子商务等。互联网的世界里蕴藏无限生机,这里只有想不到的、没有做不到的。网络发展前景无限,及早与网络结合,与信息时代同步,与高科技汇合,定会给社会各行各业的发展注入新鲜的活力。WEB动态新闻发布系统的主要作用是系统管理员通过Internet能够方便,快速,洁的管理各种新闻;普通用户能够快速地浏览新闻。系统制作过程中基于windowsxp平台,用jsp和access进行系统开发。系统实现了新闻的分类浏览、添加、修改和删除等功能。系统以数据库为后台,采用JSP技术开发前台,其功能简单、鲜明、实用性强,且具有良好的外设接口,能够很好的配合站点的其它子系统服务于各种新闻发布。关键词:JSP;ADO;新闻管理Abstract21stcenturyistheeraoftheinformation,itistheeraofthenetwork,enterthehigh-speederafordevelopmentofinformation-intensivesociety,thedigitizedrevolutionbringsthenewchangetofields.WiththepopularizationofInternet,nomatterhowremotepeopleareseparatedby,thereisfeelingthatdistancecan'tkeepwetwoapart.Stayindoors,canknowthemajorissuerecentlyofworld,canhavetalkedaboutanimatedlynothinderingtothefriendintheothershorebytheocean.Thewebpageincorporatespeople'slifegradually,browsethroughthenewsintimefast,obtaincolorfulonlineinformation,hasalreadybecomepeople'spartofthedailylife,meanwhilemoreandmoreenterprisessetupone'sownWWWwebsites,enterprisescanshowtheproductsthroughwebsites,releasethenewesttrends,exchangeandcommunicatewithusers,establishtheconnectionwiththecooperativepartner,andlaunche-commerce,etc..Internetworldcontainlimitlesslife,whomhereunexpectedonly,make.Thedevelopmentprospectofthenetworkislimitless,bindwithnetworkearly,isinpacewithinformationage,convergewithHi-Tech,willinjectfreshvigorintodevelopmentofthesocialalltradesandprofessionsdefinitely.Inthefieldofthenetworktechnology。Thepurposeofnewsmanagementofmixsystemisletthestudentsandteacherscanreadnewsasquicklyaspossibleandthesystemmanagercanmanagethesystemeasily.thesystemisbasedonwindowsxp.developedinaspandaccess.Thissystemhascarriedoutthefunctionofclassifiedbrowse,accession,editanddeletingofnews.ThisNewsPublicationSystemtakesDatabaseasbackground,exploitforegroundbyJSPtechnology,itssimple,brilliant,practicalfunctionandwell-setPeripheralInterfacecancooperateothersub-systemofsitetopromulgateallkindsofnews.Keywords:JSP;ADO;NewsManagement目录摘要 IAbstract II1绪论 11.1课题意义 11.2课题背景 11.3开发工具的选用及介绍 11.3.1JSP的优势 21.3.2JSP的特点 22基础知识 42.1JSP技术 42.1.1JSP访问数据库的原理 42.1.2JSP页面的结构: 42.1.3JSP的运行环境 62.1.4JSP的内建对象 72.1.5JSP的主要内置组件: 72.2SQLSERVER2000技术简介 83需求分析 103.1市场需求分析 103.2任务目标 113.2.1新闻发布系统的特点 113.2.2对性能的规定 113.2.3数据管理能力要求 113.2.4应用目标 113.3运行环境 124系统概要设计 134.1总体功能 134.2E-R图 155系统详细设计 165.1数据库的搭建 165.2后台数据库设计 175.2.1SQLServer2000介绍 175.2.2数据库表结构 175.3处理流程设计 195.3.1系统操作流程 195.3.2数据增加流程 215.3.3数据修改流程 215.3.4数据删除流程 226部分编码实现 246.1管理员登陆 246.2新闻管理 266.3首页界面 296.4在线交流界面 386.5新闻分类界面 477系统的调试与测试 537.1程序调试 537.2程序的测试 537.2.1测试的重要性及目的 537.2.2测试的步骤 547.2.3测试的主要内容 55结论 57参考文献 58致谢 59附录1外文参考文献(译文) 60附录2外文参考文献(原文) 641绪论1.1课题意义每个学校都有自己的一套独特的教学资源,但却缺少一个功能完备的平台来存放,简单的校园网的建设已不能满足学校资源精细存放的需求。所以设计一个动态新闻发布系统,为学校提供了一个功能强大的资源共享平台是很有必要的。这样的一个动态新闻发布系统可以将杂乱无章的信息(包括文字、图片和影音)经过组织,合理而且有序地呈现在大家面前。简单的说,新闻发布系统就是充当一个网络新闻媒介的功能。主要实现对新闻的分类,审核,发布,模拟了一般新闻媒介的发布的过程,因为可以动态发布新闻信息,所以使得对信息的管理更加及时、高效,提高了工作效率。同时也可以为学生提供大量的系统整理的学习资源,学生不需到外网,仅在校园网上就能找到自己所需大量学习资料,有效的避免了外网对校园环境的污染,为学生提供一个安全而纯净的网上学习环境。1.2课题背景随着信息时代的高速发展,传统的报纸杂志已经远远满足不了人们的需求,人们更加希望于能够在网上了解更多的新闻和信息,于是我们就很有必要在网上创建一个新闻发布管理信息系统了。大部分网站都是采用静态的方式来发布和管理信息的,可是网站需要更新的信息量也越来越大,所以这很不利于网站管理人员的工作。为了更加方便的管理网站,于是我们就很迫切的需要利用动态技术创建一个新闻发布管理信息系统了。1.3开发工具的选用及介绍1.3.1JSP的优势JavaServerPages:“Java动态服务器网页”,一般简称为“JSP”,JSP是一种以Java语言为基础的动态网页技术。JSP可以应用Java下的各种包和类,并且继承了Java以面向对象理论为中心的设计架构,这些特点让JSP可制作出功能更为多样的动态网页。1.3.2JSP的特点JSP是Sun公司推出的新一代站点开发语言,他完全解决了目前ASP,PHP的一个通病--脚本级执行(据说PHP4也已经在Zend的支持下,实现编译运行).Sun公司借助自己在Java上的不凡造诣,将Java从Java应用程序和JavaApplet之外,又有新的硕果,就是Jsp--JavaServerPage。Jsp可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。但JSP代码被编译成Servlet并由Java虚拟机解释执行,这种编译操作仅在对JSP页面的第一次请求时发生。

JSP特点:

=1\*GB3①将内容的生成和显示进行分离

使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。

=2\*GB3②强调可重用的组件

绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者EnterpriseJavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。

③采用标识简化页面开发

Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServerPage技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。

通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。

JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用Java技术家族的一部分,以及Java2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。

由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为JavaServlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。

作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。

2基础知识2.1JSP技术2.1.1JSP访问数据库的原理JSP通过JDBC访问数据库时的流程;当Jsp被调用时,它通过jdbcAPI

来访问数据库并执行查询和更新,jdbc是采用SQL语言与底层的数据库交互的。如果一条SQL语句会从数据库中产生一组结果记录,它们就会被JDBc打包成一个Result对象,JsP处理这些记录并动态地生成HTML页面,最后浏览器将得到的页面显示给用户。

简而言之,必须知道5个JDBC的类或接口:数据库的JDBC驱动器类,DriverManager类、Connect接口、Statement接口、Result接口。它们用如下方式和数据库建立连接和操作数据库:

1)JsP代码通过带参数调用Class.forName(),为DriverManager类实例化、加载

驱动器。

2)在JSP中用DriverManagere.getConnection()取得一个Connection对象。

3)用Connection.createStatement()创建一个Statement对象。

4)用JSP代码通过Statement.executeQuery()或Statement.executeUpdate()查询或更新数据库。

5)如果执行了一个查询JSP代码会处理Statement.executeQuery()返回Result对象。

2.1.2JSP页面的结构:⑴JSP页面的基本结构在JSP(JavaServerPage)页面中,利用符号标识<%和%>把页面代码分成为两个部分,在标识之间的部分为JSP程序代码部分,在标识以外的部分为非程序代码部分,非程序代码部分与一般的静态网页的编写方法一样。JSP页面组成如下图2.1所示:图2.1JSP页面的基本结构

JSP页面由三类原素组成:HTML标签、JSP标签和JSP脚本。其中JSP脚本又可分为java程序片(thg)、java表达式、变量及(ey)方法等的声明。

如果服务器上的JSP页面被第一次请求,则服务器上的JSP引擎先将该页面转译成java文件,再编译成java字节码文件,最后通过执行字节码文件来响应客户的请求;而当此JSP页面再次被请求时,服务器则直接执行此页面的字节码来响应客户的请求。这些字节码的作用是让服务器执行JSP的标签和脚本,并将结果连同HTML标签一起发送给客户的浏览器显示。

JSP页面的首次执行往往由服务器管理者来完成。而当有多个用户同时请求同一个页面时,JSP引擎则为每个用户启动一个线程。2.1.3JSP的运行环境从最开始的JSWDK到现在的Tomcat、WebLogic等,JSP的运行环境发生了很大的变化,出现了很多优秀的JSP容器,如Tomcat、BEAWebLogicServer和WebLogic等。下面简单介绍几种常用的JSP容器及其特点。⑴TomcatTomcat是ApacheJakarta软件组织的一个子项目,是一个JSP/Servlet的容器。它是在Sun公司的JSWDK(JavaServerWebDevelopmentKit)基础上发展起来的一个JSP和Servlet规范的标准实现,试用Tomcat可以体验JSP和Servlet的最新规范。经过多年的发展,Tomcat不仅成为JSP和Servlet规范的标准实现,而其具备了很多商业JavaServlet容器的热心,这使得它常被一些企业用于商业用途。⑵BEAWebLogicServerBEAWebLogicServer是Web应用服务器的重要产品,是用于集成、开发、部署和管理大型分布式Web应用、网络数据库应用的Java应用服务器。它将Java的动态功能和JavaEnterprise标准的高效性和安全性引入了大型Web应用的继承和开发之中,BEAWebLogicServer是第一个提供EJB组建、Java消息传递和事件服务、微软COM集成以及零管理客户机的Web应用服务器,代表了新一地啊Web应用服务器的发展方向。⑶IBMWebSphereIBMWebSphere是一直领先的互联网基础设施软件,适用于跨多种平台创建、运行和集成各种业务的应用。它的优点是能够将繁琐的IT流程进行整合,并使其框架清晰,使用简便,节省大量人力和事件,从而提高企业的办公效率。2.1.4JSP的内建对象JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应)request:用户端请求,此请求会包含来自GET/POST请求的参数。response:网页传回用户端的回应。pageContext:网页的属性是在这里管理。session:与请求有关的会话期。applicationservlet:正在执行的内容。out:用来传送回应的输出。configservlet:的构架部件。pageJSP:网页本身。exception:针对错误网页,未捕捉的例外。2.1.5JSP的主要内置组件:◆Request[请求]对象

Request对象用于接受所有从浏览器发往你的服务器的请求内的所有信息。

与request相联系的是HttpServletRequest类。通过getParameter方法可以得到request参数,通过GET、POST、HEAD等方法可以得到request的类型,通过cookies、Referer等可以得到引入的HTTP头。

◆Response[响应]对象

Response对象用于向客户端浏览器发送数据,用户可以使用该对象将服务器的数据发送到用户端的浏览器。

与Response相联系的是HttpServletResponse类。

◆Out对象

Out对象用于向客户端输出数据。

◆Session[工作]对象

Session对象用于分别保存每一个用户信息的对象,以便于跟踪用户的操作状态。

与Session相联系的是HttpSession类,Session是自动创建的。

注:不同的用户对应的Session对象一般是不相同的。

◆pageContext对象

pageContext对象用于管理对属于JSP中特殊可见部分中已经命名对象的访问。JSP中的一个新类。

◆Application[应用程序]对象

Application对象用于在多个程序中保存信息。用来在所有用户间共享信息,并可以在Web应用程序运行期间持久地保持数据。

与application相联系的是ServletContext类,通过使用getServletConfig().getContext()方法得到。一旦创建application对象,该对象将一直保持下去,直到服务器关闭为止。

注:每个用户的application对象都是相同的,每一个用户都共用同一个application对象。

◆Config对象

Config对象用于配置处理JSP程序的句柄,而且只有在JSP页面范围内合法。

它是一个ServletConfig类的对象。

◆Page对象

Page对象仅用于保存在脚本的语言不是JAVA时的时间,在JAVA中不很实用。

2.2SQLSERVER2000技术简介SQLServer2000是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。SQLServer近年来不断更新版本,1996年,Microsoft推出了SQLServer6.5版本;1998年,SQLServer7.0版本和用户见面;SQLServer2000是Microsoft公司于2000年推出的版本。SQLServer特点:1.真正的读者机/服务器体系结构。2.图形化用户界面,使系统管理和数据库管理更加直观、简单。3.丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。4.SQLServer与WindowsNT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQLServer也可以很好地与MicrosoftBackOffice产品集成。5.具有很好的伸缩性,可跨越从运行Windows95/98的膝上型电脑到运行Windows2000的大型多处理器等多种平台使用。6.对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。7.SQLServer提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。

3需求分析3.1市场需求分析动态新闻发布系统(DynamicNewsReleaseSystemorContentManagementSystem)又叫做内容管理系统,是一个基于新闻发布和内容管理的全站管理系统,新闻发布系统是基于B/S模式的WEBMIS系统,本系统可以将杂乱无章的信息(包括文字、图片和影音)经过组织,合理有序地呈现在大家面前。当今社会是一个信息化的社会,新闻信息作为信息的一部分有着信息量大,类别繁多,形式多样的特点,新闻发布系统的概念就此提出。新闻发布系统的提出使电视不再是唯一的新闻媒体,从此以后网络也充当了一个重要的新闻媒介的功能。简单地说,新闻发布系统就是充当一个网络新闻媒介的功能,主要实现对新闻的分类、上传、审核、发布,模拟了一般新闻媒介的新闻发布的过程,通过不同权限的账号分别实现以上所说功能,当然这些功能也可以是某一个账号全部具有。随着互联网的进一步发展,网络媒体在人们心中的地位进一步提高,新闻发布系统作为网络媒体的核心系统,其重要性是越来越重要:一方面,它提供一个新闻管理和发布的功能;另一方面,现在的新闻发布要求实现与普通的用户实现交互,用户可以很方便地参加一些调查和相关新闻的评论,这一点也是其他一些媒体现在无法做到的(电视、电台等),同时,INTERNET发展到当今,可以说,只要你上INTERNET,你就会接触到新闻发布系统,新闻发布系统的用户是相当惊人的,其重要性是不容置疑的。在素质教育与终身教育成为必然的今天,人们对信息的需求有了更新、更高的要求,而网页由于本身所具有的信息量大,传递速度快,没有时空限制等特点恰好满足了这种要求。所以网页也逐渐成为一种新兴的教育资源。在校园网盛行的今天,每个学校都有其自己精彩的网站,而网站中的新闻发布系统几乎是必不可少的。新闻发布及管理在校园网中具有广泛的应用,随着时代的进步,信息的社会化,学校作为教育的前沿地带,研究和开发学校新闻发布系统,有着重要的意义,当然这也对新闻发布系统的开发提出了更高的要求。3.2任务目标3.2.1新闻发布系统的特点与一般的信息系统相比较,新闻发布系统具有以下特征:是基于B/S模式下的WEB信息系统,数据库逻辑相对简单,但数据量一般比较庞大;用户数量大,服务器压力大,是系统设计中必须考虑的问题之一,而一般的信息系统相对压力要少了很多;系统是一个开放式的系统,前台浏览无需验证。3.2.2对性能的规定(1)操作应方便、灵活。(2)系统应有较高的稳定性。(3)系统应有较高的安全性。(4)系统应有较高的容错性。(5)速度上要求前台要能够很快地反应用户,后台操作不能出现超时现象。3.2.3数据管理能力要求(1)能处理大量的新闻数据。(2)安全指数高,防止黑客攻击。(3)负荷能力强,防止数据量过大,而影响速度。3.2.4应用目标新闻发布系统是以JSP网页编程+ACCESS数据库,其系统功能在Tomcat服务器上运行。用户都可以了解系统软件的基本工作原理。用户只需进行一些简单的操作即可达到自己想要的目的。3.3运行环境为了保证新闻发布系统运行的效率和可靠性,服务器应具有较高的软硬件配置,客户端的要求不是很高。此应用程序可广泛运行于国际互联网即Internet,也可适用于内部的局域网。其运行要求如下:

软件环境:

客户端:Windows95/98/2000/XP,InternetExplorer(IE)等。服务器端:Windows95/98/2000/XP,InternetExplorer(IE)等数据库:采用Access和SQL,运行于服务器端。

程序基于JSP+JavaBean开发,数据库可以使用MySQL数据库。开发平台:WinXP+Apache2.0.52+Tomcat7.0+JDK1.54系统概要设计4.1总体功能WEB动态新闻发布系统WEB动态新闻发布系统管理员用户用户管理新闻管理新闻分类管理公告管理留言管理在线留言新闻搜索发布和浏览新闻图4.1系统功能图系统角色:1.游客:可以搜索、浏览新闻,不能评论新闻2.会员:可以搜索、浏览新闻,评论新闻,可以修改密码等个人信息3.编辑:对新闻进行编辑、发布,可以添加删除修改新闻4.管理员:拥有系统最高权限,可以添加删除修改新闻,能够添加、修改和删除新闻栏目,还能够添加、删除和修改用户的信息,能够对所有的新闻按照点击量进行排行,对分栏的新闻也一样按照点击量进行排行。前台:首页:1.新闻分类:(国际娱乐体育等等)新闻分类需要从数据库中动态取出(因为后台中有添加删除修改分类的功能)可以只显示4—5个分类,后面加个“更多”链接,来罗列所有分类2.新闻搜索:(可以选择分类)以新闻标题模糊搜索,有分页功能3.热点新闻:按新闻点击率高低显示前10条左右的新闻(显示点击率)4.最新新闻:显示最新添加的新闻(显示日期)5.公告栏:显示公告信息6.登录:可选角色有用户、管理员,有注册链接按钮,找回密码链接用户可以对新闻进行评论,游客点击评论时提示注册注册时包含密码提示问题,以便找回密码,注册验证用ajax动态验证,有分页功能,包含在线文本编辑器登陆后有欢迎信息:“您好,XXX”后台:管理员拥有所有权限新闻分类管理分类列表(包含删除、修改)添加分类新闻管理新闻列表(包含删除、修改新闻)添加新闻(支持新闻、图片上传)查找新闻(包含删除、修改新闻)评论管理公告修改会员管理会员列表(包含删除)查找用户(包含删除)修改密码用户:修改密码等个人信息系统采用了敏捷开发的思想,结合跨平台的J2EE技术架构,数据库采用了SQLserver;使得系统具有易用性、个性化、跨平台等特点;同时又保证数据的安全、稳定、快速和完整;使其运行得高速、安全、稳定。4.2E-R图密码密码用户名用户管理信息新闻分类新闻用户管理密码管理图4.2系统ER图5系统详细设计5.1数据库的搭建数据只有用数据库来管理才能有自动化管理的可能。数据的结构将影响整个管理机制的应用,而且一旦建立,以后要修改常会出现麻烦。所以一开始就要仔细慎重地搭建一个完整而合理的结构。MicrosoftAccess数据库相对其它的数据库来说要简单容易操作些,新闻发布系统中的数据库文件就是Access类型的数据库,数据库中共有七张表页面模块化,页首和页脚,blog排序都模块化,所有用到的页面直接include,方便维护和修改。本案例架构——MVC功能模块三层结构架构本实例采用三层架构设计,它的工作原理如图5.1所示。图5.1三层架构的工作原理图采用三层架构以后,用户界面层通过统一的接口向业务层发送请求,业务层按自己的逻辑规则将请求处理之后进行数据库操作,然后将数据库返回的数据封装成类的形式返回给用户界面层。这样用户界面层甚至可以不知道数据库的结构,它只要维护与业务层之间的接口即可。这种方式在一定程度上增加了数据库的安全性,同时也降低了对用户界面层开发人员的要求,因为它根本不需要进行任何数据库操作。上面javaBean通过返回对象的形式来返回数据,在类的内部可以规定哪些数据可访问,那些数据是只读的等,从而通过封装数据达到再一次提高数据的安全性的目的。5.2后台数据库设计5.2.1SQLServer2000介绍SQLServer2000是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。SQLServer近年来不断更新版本,1996年,Microsoft推出了SQLServer6.5版本;1998年,SQLServer7.0版本和用户见面;SQLServer2000是Microsoft公司于2000年推出的版本。SQLServer特点:1.真正的读者机/服务器体系结构。2.图形化用户界面,使系统管理和数据库管理更加直观、简单。3.丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。4.SQLServer与WindowsNT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQLServer也可以很好地与MicrosoftBackOffice产品集成。5.具有很好的伸缩性,可跨越从运行Windows95/98的膝上型电脑到运行Windows2000的大型多处理器等多种平台使用。6.对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。7.SQLServer提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。5.2.2数据库表结构为了满足系统存储数据需要,方便进行插入,更新,统计和查询分析等操作,数据一共设计为两个部分,第一部分为满足插入,更新,删除较多的数据存储。第二部分为满足查询和统计分析。为了方便进行数据库之间的迁移,数据库中不建议采用存储过程,触发器等数据库特征明显的代码,所有表建立,操作SQL均采用标准语句。数据库表结构如下:管理员表(admin)表5-1管理员表列名数据类型长度允许空IdInt4否UsernameNvarchar50否PasswordNvarchar50否CreattimeDatetime8否FlagInt4否IsuseInt4否LogintimesInt4否QuanxianNvarchar1000否新闻表(news)表5-2新闻表列名数据类型长度允许空IdInt4否TitleNvarchar150否PicNvarchar150否ContentText16否AddtimeDatetime8否AdderNvarchar50否IfhideInt4否VisitInt4否UpInt4否用户表(member)表5-3用户表列名数据类型长度允许空Id Int4否Usernamenvarchar50否PasswordNvarchar100否TypeNvarchar50否RegtimeDatetime8否IfuseInt4否LogintimesInt4否LasttimeDatetime8否LastipNvarchar50否(4)游客表(guestbook)表5-4游客表列名数据类型长度允许空IdInt4否NicknameNvarchar100否PicNvarchar100否EmailN50是QQNvarchar50是WeburlNvarchar100是BlogurlNvarchar100是ExpressionsNvarchar100否ContentNvarchar200否AddtimeDatetime8否5.3处理流程设计5.3.1系统操作流程系统登录界面输入操作员及密码系统主界面系统管理错误信息系统登录界面输入操作员及密码系统主界面系统管理错误信息数据库检查密码错误 数据库检查密码错误密码正确功能界面功能处理密码正确功能界面功能处理图5.2系统操作流程图5.3.2数据增加流程添加信息时,编号字段由系统自动生成,且不能修改,其他信息由用户输入,之后对数据进行合法判断,合法则写入保存至数据库,不合法则重新输入数据。数据增加流程图如图5.3所示:开始开始自动生成编号输入数据是否合法写入数据库结束图5.3数据增加流程图5.3.3数据修改流程在修改信息时,先选中一条待修改的记录,然后直接输入数据,判断合法性,合法则保存至数据库,不合法重新输入。数据修改流程图如图5.4所示。开始开始选择需要修改记录输入数据是否合法写入数据库结束图5.4数据修改流程图5.3.4数据删除流程当用户选定一条记录时,单击删除按钮,会提示用户是否确定删除,然后删除数据库相关内容。数据删除流程图如图5.5所示。开始开始选择需要删除记录是否删除更新数据库图5.5数据删除流程图

6部分编码实现6.1管理员登陆在用户登录界面,在用户名对应的文本框中输入用户名,在密码对应的文本框中输入密码,如果用户名和密码同时与数据库中的用户名和密码相对应,点击“确定”后进入系统的主界面。如果输入的信息不正确,则给出提示。输入:用户名和密码。处理:校检字符的有效性。用户要登录本系统需要提供用户名和密码,在这里就是要检验用户是否满足输入的要求,即检验用户名和密码文本框是否为空,若为空,则提示用户输入用户名和密码。检验用户名是否存在或密码是否正确,即是否存在用户输入的用户名,并且密码是否正确。输出:登录成功,进入用户的系统使用资源页面,不成功则显示错误信息页面。图6.1管理员登陆界面图主要代码如下:packageutil;importjava.sql.*;publicclassDBConn{static{try{ Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");// Class.forName("com.mysql.jdbc.Driver");//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(Exceptionex){ex.printStackTrace();}}publicstaticConnectiongetConn(){try{ Connectionconn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databasename=hshygl","sa","123");// conn=DriverManager.getConnection("jdbc:mysql://localhost/fzshop","root","123");// Connectionconn=DriverManager.getConnection("jdbc:odbc:temp");returnconn;}catch(Exceptionex){ex.printStackTrace();returnnull;}}publicstaticvoidclose(Connectionconn,Statementst,ResultSetrs){ if(rs!=null){try{rs.close();}catch(SQLExceptionex){}}if(st!=null){try{st.close();}catch(Exceptionex){}}if(conn!=null){try{conn.close();}catch(Exceptionex){}6.2新闻管理功能描述:此模块要实现对新闻的管理功能,管理员可以添加删除和修改新闻的相关信息。新闻信息管理模块的IPO过程:a) 添加新闻信息操作: 点击添加新闻信息按钮,输入需要添加新闻的内容。内容包括新闻的标题、内容、分类。 检验用户输入的新闻的标题、内容、分类是否符合新闻数据库表中字段定义。若不符合则提示输入有误。 提示用户信息添加成功。 更新用户数据库表的信息。b) 修改新闻信息 点击修改新闻信息按钮。内容包括新闻的标题、内容、分类。检验用户输入的新闻的标题、内容、分类是否符合用户数据库表中字段定义。若不符合则提示输入有误。 如果用记录存在,进行修改操作,输入新的字段,并根据用户数据库表中对应字段的定义检查输入是否合法,如果输入有错误则进行提示。 如果输入正确,执行(UPDATE)SQL语句,更新用户数据库表中该用户所对应的记录。 提示用户信息添加成功。 更新用户数据库表的信息。界面如图6.2所示:图6.2新闻管理界面图主要代码如下:packageutil;importjava.io.UnsupportedEncodingException;importjava.text.SimpleDateFormat;importjava.util.Date;publicclassValidate{ /** *是否为数字和英文验证 * */ publicintgetIntAndChar(Stringstr){ charc; inti; for(i=0;i<str.length();i++){ c=str.charAt(i); if(!((c>='0'&&c<='9')||(c>='a'&&c<='z')||(c>='A'&&c<='Z'))){ break; } }//判断字符是否在某个区间 if(i<str.length()){ return-1; }else{ return0; } } /** *是否为整数验证 * */ publicintgetInt(Stringstr){ charc; inti; for(i=0;i<str.length();i++){ c=str.charAt(i); if(!(c>='0'&&c<='9')){ break; } }//判断字符是否在某个区间 if(i<str.length()){ return-1; }else{ return0; } } /** *是否为非法字符验证 * */ publicbooleangetLawlessChar(Stringstr){ booleanflag=false; charc; for(inti=0;i<str.length();i++){ c=str.charAt(i); switch(c){ case'<':flag=true;break; case'>':flag=true;break; case'"':flag=true;break; case'&':flag=true;break; case'':flag=true;break; } } returnflag; }6.3首页界面图6.3首页界面图主要代码如下:<%@pagelanguage="java"import="java.util.*"contentType="text/html;charset=gb2312"%><%@includefile="iframe/head.jsp"%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""/TR/1999/REC-html401-19991224/loose.dtd"><HTMLxmlns="/1999/xhtml"><HEAD><LINKhref="images/default.css"type=text/cssrel=stylesheet><LINKhref="images/css.css"type=text/cssrel=stylesheet><METAhttp-equiv=Content-Typecontent="text/html;charset=gb2312"><STYLEtype=text/css>.ycbt{ BORDER-RIGHT:#fff1pxsolid;BORDER-TOP:#fff1pxsolid;PADDING-LEFT:1.8em;BACKGROUND-COLOR:#EAF2EF;BORDER-LEFT:#fff1pxsolid;PADDING-TOP:7px;BORDER-BOTTOM:#fff1pxsolid;HEIGHT:20px}.xsbt{ BORDER-RIGHT:#fff1pxsolid;BORDER-TOP:#fff1pxsolid;PADDING-LEFT:1.8em;BACKGROUND-IMAGE:url(images/head1.gif);BORDER-LEFT:#fff1pxsolid;PADDING-TOP:7px;BORDER-BOTTOM:#fff1pxsolid;HEIGHT:20px}.xsnr{ DISPLAY:block}.ycnr{ DISPLAY:none}</STYLE><SCRIPTtype=text/javascript>functiontb_xs(t,m,n){for(vari=1;i<=m;i++){if(i!=n){document.getElementById("tb"+t+"_bt"+i).className="ycbt";document.getElementById("tb"+t+"_nr"+i).className="ycnr";}else{document.getElementById("tb"+t+"_bt"+i).className="xsbt";document.getElementById("tb"+t+"_nr"+i).className="xsnr";}}}</SCRIPT><SCRIPTlanguage=JavaScript><!--//屏蔽出错代码functionkillErr(){ returntrue;}window.onerror=killErr;//--></SCRIPT><SCRIPTlanguage=JavaScript><!--//处理大分类一行两个小分类functionautoTable(div){ fs=document.getElementById(div).getElementsByTagName("TABLE"); for(vari=0;i<fs.length;i++){ fs[i].style.width='49.5%'; if(i%2==1){ if(document.all){ fs[i].style.styleFloat="right"; }else{ fs[i].style.cssFloat="right;"; } }else{ if(document.all){ fs[i].style.styleFloat="left"; }else{ fs[i].style.cssFloat="left;"; } } }}//--></SCRIPT><SCRIPTlanguage=JavaScriptsrc="images/inc.js"></SCRIPT><SCRIPTlanguage=JavaScriptsrc="images/default.js"></SCRIPT><SCRIPTlanguage=JavaScriptsrc="images/swfobject.js"></SCRIPT><METAcontent="MSHTML6.00.2900.3268"name=GENERATOR></HEAD><BODYtext=#000000bgColor=#ffffffleftMargin=0topMargin=0><SCRIPTlanguage=JavaScript><!--//目的是为了做风格方便document.write('<divclass="wrap">');//--></SCRIPT><TABLEclass=MainTablecellSpacing=0cellPadding=0width="100%"align=centerborder=0><TBODY><TR><TDvAlign=topwidth="37%"height=200><!--*******************************幻灯开始*******************************--><TABLEclass=dragTablecellSpacing=0cellPadding=0width="100%"align=centerborder=0><TBODY><TR><TDclass=headid=tb1_bt1onmouseover=tb_xs(1,2,1)width="100%"height="30"><SPANclass=TAG>最新资讯</SPAN> </TD> </TR><TR> <TDclass=middlealign="left"colspan="2"><!--*******************************新闻资讯**********************************--><SCRIPTtype=text/javascript>varimgUrl=newArray();varimgtext=newArray();varimgLink=newArray();imgUrl[0]='images/1.jpg';imgLink[0]='';imgtext[0]='51黄金旅游';imgUrl[1]='images/2.jpg';imgLink[1]='';imgtext[1]='旅游线路大促销';imgUrl[2]='images/3.jpg';imgLink[2]='';imgtext[2]='最新景点大全';imgUrl[3]='images/4.jpg';imgLink[3]='';imgtext[3]='风格无限美女走光'; varpics=imgUrl[0];varlinks=imgLink[0];vartexts=imgtext[0];for(vari=1;i<imgUrl.length;i++){ pics+='|'+imgUrl[i]; links+='|'+imgLink[i]; texts+='|'+imgtext[i];}varfocus_width=330varfocus_height=178vartext_height=22varswf_height=focus_height+text_heightdocument.write('<objectclassid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"codebase="/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"width="'+focus_width+'"height="'+swf_height+'">');document.write('<paramname="allowScriptAccess"value="sameDomain"/><paramname="movie"value="<%=basePath%>images/rollpic.swf"/><paramname="quality"value="high"/><paramname="bgcolor"value="#F0F0F0">');document.write('<paramname="menu"value="false"><paramname=wmodevalue="opaque">');document.write('<paramname="FlashVars"value="pics='+pics+'&links='+links+'&texts='+texts+'&borderwidth='+focus_width+'&borderheight='+focus_height+'&textheight='+text_height+'">');document.write('<embedsrc="<%=basePath%>images/rollpic.swf"wmode="opaque"FlashVars="pics='+pics+'&links='+links+'&texts='+texts+'&borderwidth='+focus_width+'&borderheight='+focus_height+'&textheight='+text_height+'"menu="false"bgcolor="#F0F0F0"quality="high"width="'+focus_width+'"height="'+focus_height+'"allowScriptAccess="sameDomain"type="application/x-shockwave-flash"pluginspage="/go/getflashplayer"/>');document.write('</object>');</SCRIPT> </TD> </TR> </TBODY> </TABLE><!--*******************************幻灯结束*******************************--> </TD><TDclass=SidevAlign=topalign=leftwidth="37%"height=200><!--*******************************新闻资讯开始*******************************--><TABLEclass=dragTablecellSpacing=0cellPadding=0width="100%"align=centerborder=0><TBODY><TR><TDclass=headid=tb1_bt1onmouseover=tb_xs(1,2,1)width="100%"height="30"><SPANclass=TAG>最新资讯</SPAN> </TD> </TR><TR> <TDclass=middlealign="left"colspan="2"><!--*******************************新闻资讯**********************************--><TABLEclass=xsnrid=tb1_nr1cellSpacing=0cellPadding=0width="100%"border=0><TBODY><%if(!newsList.isEmpty()){ for(intnews11=0;news11<newsList.size();news11++){ ListnewsList2=(List)newsList.get(news11); %> <TR><TDalign="left"> <Ahref=<%=basePath%>newsinfo.jsp?id=<%=newsList2.get(0).toString()%>target=_blank> <%=newsList2.get(1).toString().length()>17?newsList2.get(1).toString().substring(0,17):newsList2.get(1).toString()%></A><BR> </TD> <TDalign="right"> <%=newsList2.get(2).toString().substring(0,10)%><BR> </TD> </TR> <%}}%> </TBODY> </TABLE> </TD> </TR> </TBODY> </TABLE><!--*******************************新闻资讯结束*******************************--> </TD><TDclass=SidevAlign=topalign=rightwidth="25%"><!--*******************************滚动公告开始*******************************--><TABLEwidth="100%"height="240"border=0cellPadding=0cellSpacing=0class=dragTable> <TBODY><TR><TDclass=head><SPANclass=TAG><P>站内公告</P></SPAN> </TD> </TR><TR><TDclass=middlealign=left><MARQUEEonmouseover=if(document.all!=null){this.stop()}onmouseout=if(document.all!=null){this.start()}scrollAmount=1scrollDelay=1direction=upheight=180><TABLEcellSpacing=0cellPadding=0width="100%"border=0><TBODY><%if(!affList.isEmpty()){ for(intaff=0;aff<affList.size();aff++){ ListaffList2=(List)affList.get(aff); %> <TR><TDwidth="100%"> <%=affList2.get(1).toString()%><%=affList2.get(2).toString()%><BR> </TD> </TR> <% } } %> </TBODY> </TABLE> </MARQUEE> </TD> </TR> </TBODY><!--*******************************滚动公告结束*******************************--> </TABLE></TD></TR></TBODY></TABLE><!--*******************************2个信息分类开始*******************************--><TABLEclass=MainTablecellSpacing=0cellPadding=0width="100%"align=centerborder=0><TBODY><TR><TDvAlign=topwidth="49%"height=200><!--*******************************幻灯开始*******************************--><TABLEclass=dragTablecellSpacing=0cellPadding=0width="100%"align=centerborder=0><TBODY><TR><TDclass=headid=tb1_bt1onmouseover=tb_xs(1,2,1)width="100%"height="30"><SPANclass=TAG>热点新闻</SPAN> </TD> </TR><TR> <TDclass=middlealign="left"colspan="2"><!--*******************************新闻资讯**********************************--><TABLEclass=xsnrid=tb1_nr1cellSpacing=0cellPadding=0width="100%"border=0><TBODY><TR><TDalign="center">新闻标题</TD> <TDalign="center">新闻分类<BR> <TDalign="center">发布时间<BR> <TDalign="center">发布人<BR> <TDalign="center">点击率<BR> </TD> </TR><%Listhlist=news.get10HotNews();if(!hlist.isEmpty()){ for(intnews11=0;news11<hlist.size();news11++){ ListnewsList2=(List)hlist.get(news11); %> <TR><TDalign="left"> <Ahref=<%=basePath%>newsinfo.jsp?id=<%=newsList2.get(0).toString()%>target=_blank> <%=newsList2.get(1).toString().length()>17?newsList2.get(1).toString().substring(0,17):newsList2.get(1).toString()%></A><BR> </TD> <TDalign="center"><%=newsList2.get(2).toString()%><BR> <TDalign="center"><%=newsList2.get(4).toString().substring(0,10)%><BR> <TDalign="center"><%=newsList2.get(5).toString()%><BR> <TDalign="center"><%=newsList2.get(6).toString()%><BR> </TD> </TR> <%}}%> </TBODY> </TABLE> </TD> </TR> </TBODY> </TABLE><!--*******************************幻灯结束*******************************--> </TD><TDclass=SidevAlign=topalign=leftwidth="49%"height=200><!--*******************************新闻资讯开始*******************************--><TABLEclass=dragTablecellSpacing=0cellPadding=0width="100%"align=centerborder=0><TBODY><TR><TDclass=headid=tb1_bt1onmouseover=tb_xs(1,2,1)width="100%"height="30"><SPANclass=TAG>新闻列表</SPAN> </TD> </TR><TR> <TDclass=middlealign="left"colspan="2"><!--*******************************新闻资讯*****************************

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论