毕业设计(论文)-基于JAVA WEB的新闻管理系统设计.doc_第1页
毕业设计(论文)-基于JAVA WEB的新闻管理系统设计.doc_第2页
毕业设计(论文)-基于JAVA WEB的新闻管理系统设计.doc_第3页
毕业设计(论文)-基于JAVA WEB的新闻管理系统设计.doc_第4页
毕业设计(论文)-基于JAVA WEB的新闻管理系统设计.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

题 目: 新闻发布系统 组 员: 专 业: 计算机科学与技术 班 级: 计科二班 指导教师: 摘 要现在是一个科学技术飞速发展、信息更替日新月异的世纪。计算机已深入到各个领域,并且形成了功能强大、覆盖全球的信息传输网络。各个领域都向系统化、规范化、自动化的方向发展,使得工作效率、工作成绩和生活水平都日益提高。新闻网站也是绝大多数人了解时事的渠道,新闻信息管理系统包括对新闻网站信息的查询、删除、更新等, 本文详细论述了运用JavaWeb技术新闻分布系统的开发、设计环境及其具体的实现。该系统采用模块化程序设计方法,便于系统功能的各种组合和修改。可以及时根据企业需求进行新闻信息的添加、删除、修改等操作。本系统采用oracle数据库,进一步提高系统安全性。本系统符合新闻管理的规定,能够满足新闻网站日常更新,并达到操作过程中的直观、方便、实用、安全等要求。关键字:JavaWeb;新闻管理;新闻查询;新闻浏览;新闻编辑II东华理工大学毕业设计(论文) 目录目 录摘 要II第一章 系统概述12.1 需求分析12.2目标设计1第二章 系统设计23.1总体设计23.1.1系统整体设计23.1.2系统功能模块图23.1.3管理员模块33.2数据库设计33.2.1数据库介绍33.2.2 常用数据库介绍 Access数据库 Oracle数据库 SQL Server43.2.2数据库的连接43.2.3系统数据库的概念设计43.2.4数据库的逻辑设计43.2.5数据库的实现6第三章 系统实现134.1 开发工具选择134.2 开发平台134.3分页技术问题134.3.1指针分页134.3.2海量的数据查询134.3.3 JDBC和分页14第四章 系统运行1551运行环境1552运行效果15结束语16参考文献1616湘南学院JSP课程设计 第一章 系统概述1.1 需求分析目前,网页制作如火如荼,网站建设热火朝天,及社会的竞争是越来越激烈,各厂家及生产公司都在不断的提高生产的产品质量,特别是电子上午的发展正在关键的时刻,各商家都在最后的冲刺、网页月月改版,信息日日更新,这时他们就得借助媒体来提高他们的产品的知名度,而网络新闻发布信息就是一种很好、很现代的工具。JSP是一种简单的、安全的,性能非常之高的、动态的脚本语言。JSP可以用来开发Web应用程序,JSP具有较高的执行效率,强大的数据库支持和网络支持, 具有多平台特性和极大的开放性和扩充性,拥有广泛的应用前景。1.2目标设计用JSP完成网络新闻发布系统的总体设计及各个细化模块的具体编程实现所开发的新闻发布网站系统必须具有新闻发布、新闻修改系统、各类新闻显示及相关内容浏览等功能。在新闻浏览之前,要对新闻进行发布。在发布的时候,出点错误和遗漏是在所难免,这时就需要对新闻进行修改。因为新闻是直接与广大浏览者进行会面的,所以必须对所发布的新闻做到尽可能的正确、准确,这样浏览者才会经常浏览我们所发布的新闻。第二章 系统设计2.1系统整体设计此系统主要是内部新闻管理系统应用管理系统。而系统的功能模块划分既要注重各个部分本身的功能,又要注重各个功能模块之间的联系,形成一套高效、快捷的新闻发布系统。这就要求从管理需要和系统开发两个方面进行综合考虑,各个模块既有较强的独立性,又要留有适当的接口,以便日后对功能进行扩充和完善求。1) 站内新闻搜索根据用户输入的查询条件以所选类别的新闻进行分类查询。2) 新闻分类展示主要包括分类显示新闻类别、标题列表,和显示新闻详细内容3部分。用户可通过新闻列表中的新闻标题查看该新闻的详细信息。3) 即时新闻显示当天的最新新闻,并提供单击新闻标题查看新闻详细信息的功能。4)链接管理添加、修改、删除网站的友情链接,这是只有管理员进入后台才允许使用的功能。5) 新闻管理包括时事要闻、经济动向、世界军事、科学教育、法治道德、社会现象、体育世界、时尚娱乐等所有新闻信息的添加、修改、删除。与链接管理类似,只有管理员进入后台才有这个权限。6) 管理员管理这是一个非常特殊的模块,只有拥有最高权限的管理员才拥有此权限(只有一个),该管理员可以添加、修改、删除其他管理员,并为其分配相应的权限。注意,拥有最高权限的管理员是不允许修改密码的,而其他管理员可以修改自己的密码。2.2系统功能模块图后台主要用于管理员对新闻信息和一些其他信息进行管理。新闻网的后台功能结构如图3-1所示: 图3-12.3管理员模块企业用户管理管理员可以对企业用户发送信息,可以查看他的基本资料,还可以删除这个用户.Y结束开始登陆登陆成功?功能选择查看新闻添加新闻更新新闻修改新闻删除新闻评论新闻N2.3.1 常用数据库介绍2.3.2 Oracle数据库Oracle公司是第一个推出基于SQL标准的关系数据库产品的公司。它推出的Oracle数据库系统支持多种硬件平台及操作系统,用户的Oracle应用可以很方便地从一种计算机配置移植到另一种计算机配置上。Oracle数据库系统具有以下特点:严格遵守数据存取语言,操作系统,用户接口和网络通信协议的工业标准;适合于大型数据库和多用户的事务处理;支持分布式处理。2.3.3 SQL ServerSQL Server并不提供单独的,完全自给自足的应用程序开发环境,不像Access那样自身就可以用来开发那些纯数据访问的应用程序,SQL Server是完全作为后端来管理和运行数据库。SQL Server主要具有以下特点:适合于大型的数据库应用程序的开发;支持多用户;灵活性很高;支持分布式事务处理和Internet。2.3.4数据库的连接在Java的函数库中,有一组专门处理与数据库有关的API:JDBC(Java Database Connection).我们主要利用JDBC这组API来和数据库沟通。JDBC最主要完成的事情有:与数据库创建连接;送SQL命令给数据库,操作数据库及数据表;接受及处理数据库所执行的结果。不过在创建数据库连接前,我们必须合适的数据库连接的驱动程序。目前JDBC根据数据库连接的方式,将驱动程序分成四种类型:Type1,Type2,Type3,Type4。我使用第一种类型Type1来连接数据库。Type1的驱动程序是通过与ODBC的连接来与数据库沟通(JDBC-ODBC Bridge),也就是JDBC会将所有要与数据库沟通的SQL命令通知ODBC,由ODBC来负责与数据库沟通。由于JDBC API内部已经有这种驱动程序的存在,我们不用考虑太多驱动程序问题,只要将ODBC设置完成即可,而且不论是何种数据库,只要支持ODBC连接方式就可以连上,所以是一种简单又方便的方式。不过利用此种方式有一定的缺点。当项目很大 或者用户很多时,维护的ODBC连接是一件麻烦又恼人的工作。再者由于需要在JDBC与ODBC之前做数据传递及转换,许多时间浪费在这上面,造成性能上的不良后果。2.4数据库的逻辑设计在本新闻管理系统发布系统数据库中,本论文所描述的模块所涉及到的表有管理员表 admin、站内新闻表news、链接表link等等。分别对各个表进行设计说明,在管理员表中,个人的ID为主键,这是字段的数据类型为自动编号,用自动编号做主键可以加快数据的读取速度,而且ID号是由oracle自动分配不可能出现重复的,所以选择个人的ID号为主键。管理员表Admin,管理员表用来保存管理员的基本信息,关键字为管理员的登录名。设计如表3-4所示:管理员表表3-4管理员可以发布新闻文章,新闻文章是放在首页上,此新闻存放在表news中,文章的ID号为关键字,设计如表3-5新闻表表3-5管理员可以发布相关链接,链接在首页上,此链接放在表link中,文章的ID号为关键字,设计如表3-6链接表 表3-62.5数据库的实现根据以上的逻辑表在oracle中可视化建立表结构。管理图3-7管理员表主键设置图3-8新闻表图3-9新闻表主键设置图3-10链接表图3-11链接表主键设置图3-12湘南学院JSP课程设计 第三章 系统实现3.1 开发工具选择新闻管理系统作为提供新闻信息,必须具备一些基本的条件。首先,它应该具有友好的界面,方便的操作,与用户之间有很好的沟通;其次,它对数据的处理,数据的交换有着较高的要求。它应该具有速度快,容量大,便于管理的特点。正是因为这些因素,我们选择了JavaWeb作为本次系统开发的工具。JavaWeb是Java技术的一个分支,主要是JSP,JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。3.2 开发平台基于JavaWeb和oracle 对运行环境的要求,并考虑到目前学校的计算机硬件设备的实施情况,本系统采用Tomcat 6.0服务器,MyEclipse 5.5,dreamweaver8.0作为开发测试和运行平台。3.3分页技术问题分页,是web应用程序非常重要的一个课题。数据库的数据可能是几千,几万,几百万行,但我们不可能把几万行数据一次显示在浏览器上面,这样浏览器受不了,用户也受不了。一般的每页显示20行,是一个比较理想的显示状态。3.3.1指针分页取出所有符合条件的数据,放到数据集或者内存当中,然后逐页浏览。那么,有可能你每页只需浏览20条记录,但要把几百万行记录取出来。我把这种分页叫做“指针分页”。指针分页法主要是利用数据集的指针(或者集合的下标)来标识。比如,分页要显示20条数据,那么第一页的指针从开始,第二页的指针从(2-1)*20+1开始,依次类推。“指针分页”适合数据量和并发量不是很高的应用系统,不适合海量的数据查询。3.3.2海量的数据查询对于海量的数据查询,看多少取多少,显然是最佳的解决办法。假如某个表中有200万条记录,第一页就取前20条,第二页取2140条,这里我们用select top 当前页*每页记录数 * from 表A where 主键字段 not in (select top (当前页-1)*每页记录数 主键字段 from 表A)这样形式的语句来实现。因这种查询方式,要用到主键,我们把它叫做“主键分页”。3.3.3 JDBC和分页在使用数据库的过程中,不可避免的需要使用到分页的功能,可是JDBC的规范对此却没有很好的解决。对于这个需求很多朋友都有自己的解决方案,比如使用Vector等集合类先保存取出的数据再分页。但这种方法的可用性很差,与JDBC本身的接口完全不同,对不同类型的字段的支持也不好。这里提供了一种与JDBC兼容性非常好的方案。Sun的JDBC规范的制定,在JDBC1.0中,对于一个结果集(ResultSet)你甚至只能执行next()操作,而无法让其向后滚动,这就直接导致在只执行一次SQL查询的情况下无法获得结果集的大小。所以,如果你使用的是JDBC1.0的驱动,那么是几乎无法实现分页的。好在Sun的JDBC2规范中很好的弥补了这一个不足,增加了结果集的前后滚动操作,虽然仍然不能直接支持分页,但我们已经可以在这个基础上写出自己的可支持分页的ResultSet了。有一些数据库,如MySQL(和PHP搭配之最佳组合),比如MySQL(和PHP搭配之最佳组合)可以使用limit子句,Oracle(大型网站数据库平台)可以使用ROWNUM来限制结果集的大小和起始位置。这里以Oracle(和JAVAWEB搭配之最佳组合)为例,其典型代码如下: / 计算总的记录条数 编辑删除 另一种繁琐的实现方法我看过一些人的做法,即不使用任何封装,在需要分页的地方,直接操作ResultSet滚到相应的位置,再读取相应数量的记录。其典型代码如下: intPageCount) intPage = intPageCount;% 姓名 年龄0) /将记录指针定位到待显示页的第一条记录上 sqlRst.absolute(intPage-1) * intPageSize + 1); /显示数据 i = 0; while(i 很显然,这种方法没有考虑到代码重用的问题,不仅代码数量巨大,而且在代码需要修改的情况下,将会无所适从。还见过另一些实现分页的类,是先将所有记录都select出来,然后将ResultSet中的数据都get出来,存入Vector等集合类中,再根据所需分页的大小,页数,定位到相应的位置,读取数据。或者先使用前面提到的两种分页方法,取得所需的页面之后,再存入Vector中。扔开代码的效率不说,单是从程序结构和使用的方便性上讲,就是很糟糕的。比如,这种做法支持的字段类型有限,int, double, String类型还比较好处理,如果碰到Blob, Text等类型,实现起来就很麻烦了。这是一种更不可取的方案。一个新的Pageable接口及其实现,很显然,看过上面三种实现方法后,我们对新的分页机制有了一个目标,即:不与具体数据库相关;尽可能做到代码重用;尽可能与原JDBC接口的使用方法保持一致;尽可能高的效率。一个好的基础类应该是便于使用,并且具备足够的可移植性,同时要保证其功能的完善。在上面的实现中,我们从java.sql.ResultSet接口继承出Pageable,并实现了它。这就保证了在使用中与JDBC原有操作的一致性,同时对原有功能没有缩减。同时它也是易于使用的,因为封装了一切必要的操作,所以在你的代码中唯一显得难看和不舒服的地方就是需要自己去构造一个PageableResultSet2。不过只要你愿意,这也是可以解决的。湘南学院JSP课程设计 第四章 系统运行41运行环境开发语言:JSP后台数据库:Oracle 10g服务器 : Tomcat 6.0客户端运行平台: Windows 2000(中文版)以上42运行效果管理员登陆界面图5-1管理员登陆到系统后的界面图5-2添加友情链接图5-3查询以及管理链接图5-4新增编辑新闻界面图5-5查询以及管理新闻图5-6湘南学院JSP课程设计 结束语经过三个多月的设计和开发,网上新闻发布系统基本开发完毕。其功能基本符合新闻发布需求,能够完成新闻发布、新闻修改和新闻显示以及新闻评论。并提供部分系统维护功能,使用户方便进行新闻浏览和管理员对新闻进行修改、数据删除。对于新闻同类性的问题也通过程序进行了有效的解决。但是由于毕业设计时间较短,所以该系统还有许多不尽如

温馨提示

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

评论

0/150

提交评论