JSP新闻网站系统设计—毕业设计论文

上传人:无*** 文档编号:78436359 上传时间:2022-04-21 格式:DOC 页数:36 大小:1.13MB
收藏 版权申诉 举报 下载
JSP新闻网站系统设计—毕业设计论文_第1页
第1页 / 共36页
JSP新闻网站系统设计—毕业设计论文_第2页
第2页 / 共36页
JSP新闻网站系统设计—毕业设计论文_第3页
第3页 / 共36页
资源描述:

《JSP新闻网站系统设计—毕业设计论文》由会员分享,可在线阅读,更多相关《JSP新闻网站系统设计—毕业设计论文(36页珍藏版)》请在装配图网上搜索。

1、目 录1 引 言11.1 国内外研究现状及发展趋势11.2 研究目的、意义和范围12 系统概述32.1 概述32.2 计算机化管理的必要性33 需求分析43.1 需求分析43.2 可行性研究44 系统总体设计64.1 系统概述64.2 功能模块划分64.3 流程分析74.4 开发环境与开发工具介绍84.4.1 JSP的优势84.4.2 JAVA开发技术(JDK)84.4.3 Hibernate介绍94.4.4 Spring介绍114.5 数据库结构设计与实现124.5.1 创建数据库124.5.2 数据库逻辑结构设计135 系统程序设计与实现155.1 设计主界面155.2 登录程序设计165

2、.3 新闻管理185.4 新闻类别管理模块设计205.5 新闻发布管理模块设计226 系统测试256.1 系统测试的目的256.2 系统测试的原则256.3 系统测试记录267 结 论27致 谢28参考文献291 引 言1.1 国内外研究现状及发展趋势传统的网站新闻管理方式有两种:一种是静态HTML页面,更新信息时需要重新制作页面然后上传页面并修改相应链接,这种方式因为效率太低已不多用;另一种是基于JSP和脚本语言,将动态网页和数据库结合,通过应用程序来处理新闻,这是目前较为流行的做法。SSH不仅仅是很好的网络架构,而且是建立动态Web应用程序而重新打造的全新技术,其主要特色包括:(1)语言的

3、独立性;(2)简单的开发操作,分离程序代码和网页内容;(3) 提高了执行效率;(4)简化部署与组态的操作;(5)支持客户端类型;(6)支持下一代的Web服务;(7)增进适用性;(8)增进延展性;(9)更多的支持工具;(10)更佳的安全机制;(11)会话(Session)可以跨进程、跨机器。由于SSH的众多优点,技术发展和各种客观实际的需要,该系统选用了SSH来开发设计,实现了对社区新闻的动态管理操作,使得对新闻信息的发布与管理更加及时、高效,提高了工作效率。1.2 研究目的、意义和范围随着Internet的普及,越来越多的企事单位建立了自己的WWW网站,他们通过网站可以展示自身形象,发布最新动

4、态信息,与用户进行交流和沟通,与合作伙伴建立联系,以及开展信息交流等。其中社区新闻管理系统是构成社区网站的一个重要组成部分,它担负着双层作用。该系统使用JSP(java语言)和SSH技术开发, 实现了网站新闻的动态管理,使得对信息的管理更加及时、高效,提高了工作效率。该新闻系统具有一般新闻系统的功能,主要包括前台新闻查看区和后台管理区,可为社区各部门发布新闻,为社区网站提供新闻发布与管理的服务。该系统是基于B/S(Browser/Server,浏览器/客户端)模式实现,基于SSH平台架构开发设计,主要实现对社区新闻的发布与管理功能,对新闻内容信息的浏览阅读等。随着Internet/Intran

5、et技术的兴起,将原本在单机或本地局域网上运行的数据库系统移植到因特网中,即开发基于B/S模式的新一代管理信息系统,正成为技术发展的趋势。为了保证系统性能的高效性、可扩展性,以及达到数据共享和网络化管理的目的,本系统采用B/S体系结构进行设计开发。2 系统概述2.1 概述随着网络技术的不断发展,网络应用已经渗透到人类社会的各个角落。在科学技术飞速发展的今天,Internet逐渐走入到人们的生活当中,人们可以在闲暇心情时遨游在网络中,而Internet又是以网站的形式体现出来的。通过网站的访问,人们可以进行电子邮件的传送、文件传输、远程登陆、网上查询、网上交流,足不出户便可以知道外面的世界。在这

6、样的信息时代中,用户对信息的需求量、广泛程度和时效性的要求日趋提高,传统的报纸杂志已经远远满足不了人们的需求。是网络改变了我们的生活,人们已经喜欢上上网,在网络上我们便能够了解得到社会上的各种大事小事,这便是新闻发布系统的成效。新闻发布系统是网站上用于用户查询浏览新闻的一个系统,是用户查看社会信息的园地。只需要输入自己所要了解的事件的名称,再轻按下Enter键,那么你就可以知道整个事件的来龙去脉。网站新闻发布系统,又称为信息发布系统,是将网页上的某些需要经常变动的信息,类似新闻、新产品发布和业界动态等更新信息集中管理,并通过信息的某些共性进行分类,最后系统化、标准化发布到网站上的一种网站应用程

7、序。网站信息通过一个操作简单的界面加入数据库,然后通过已有的网页模板格式与审核流程发布到网站上。2.2 计算机化管理的必要性当网络刚刚发展起来的时候,由于信息量比较少以及技术上的原因,大部分网站都是采用静态的方式来发布和管理信息的。但是随着电脑和网络的越来越普及,网站也越来越多,使用网络资源的人也越来越多,网站需要更新的信息量也越来越大,特别是新闻发布的频率很高,如果使用静态的新闻页面,则维护工作将会非常烦琐,管理员每天需要制作大量的网页,从而会浪费很多时间和精力,但自从有了动态网页的网络技术,这个事情将变的非常容易,如果采用动态的新闻发布管理系统,则工作量将大为减少,管理员只要设置标题、内容

8、和图片就可以了,系统将自动生成对应的网页,而且技术上出现问题的机会也会大大减少。3 需求分析3.1 需求分析该系统在性能功能上应达到如下需求:操作简单、界面友好、完全框架式的页面布局,使得新闻的录入工作更简便,许多选项包括新闻分类、新闻列表、新闻出处等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。对常见网站的新闻管理的各个方面:新闻录入、浏览、删除、修改、搜索等方面都大体实现,实现了网站对即时新闻的管理要求。通过相关调查,要求该系统应具有以下功能:(1)通过网络浏览各类新闻及相关信息。(2)新闻能分类显示相关信息。(3)提供站内新闻的搜索功能。(4)支持其它

9、网站的友情链接。(5)为后台管理提供管理入口。(6)后台编辑个类新闻并且管理新闻信息。操作简单、界面友好: 完全控件式的页面布局,使得新闻的录入工作更简便,许多选项包括新闻分类、来源部门等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。对常见网站的新闻管理的各个方面:新闻录入、浏览、删除、修改、搜索等方面都大体实现,实现了网站对即时新闻的管理要求; 即时可见:对新闻的处理(包括录入、修改、删除)将立即在主页的对应栏目显示出来,达到“即时发布、即时见效”的功能; 系统运行应该快速、稳定、高效和可靠; 在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。3.2

10、 可行性研究目前,网络应用软件运行的模式主要有二类:Client/server模式,Browser/Web模式。前者主要的缺点是维护、升级较麻烦,后者是近几年伴随Internet迅速发展起来的一种技术,它与客户/服务器方式类似,客户端是一个标准的浏览器,服务器端是Web Server ,而Web Server与数据库和应用服务器的紧密结合,使得这种模式的应用范围不断扩大,它已不仅仅用于网上查询,企事业单位的业务系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简便。(1)经济可行性本系统在开发过程中使用的资源相对较少,不需要太高的硬件支持,只要一般配置的电脑就可,无需昂贵的高端品牌的服

11、务器。同时在软件上也只需要TOMCAT和SQL2000这两种软件,开发人员不多,周期不长,所使用的费用不高,不会造成在经济上有很大的负担。因此,从经济方面考虑,开发这样一个系统是完全可行的。(2)技术可行性通过设计和实践证明,本系统在功能和性能的实现方面对各种计算机设备的要求不是很高,符合现代计算机设备所能达到的各种技术指标。本系统的所有方法和过程在符合语法要求的前提下,很小程度的限制了对计算机硬件技术指标的要求。本系统的开发在技术方面分担很小的风险,而且技术问题也未对成本造成大的影响。(3)操作可行性对于用户来说,只需要掌握一些计算机的基本操作就可以实现系统功能,无需去为配置相关的协议而苦恼

12、。对于管理员操作来说,也只需要掌握几项必要的操作就可以实现对系统的管理。所以,操作可行性是完全可以达到的。4 系统总体设计4.1 系统概述新闻发布网络信息共享平台主要从以下几个方面进行设计和开发:(1)类别管理,包括类别的录入、查询、修改和删除等;(2)发布管理,包括信息录入、修改和删除等;(3)图片信息处理,包括图片文件上传、存储、修改、删除和浏览等;(4)网友评论,包括评论发表和管理员删除两个子模块;(5)系统用户管理,包括添加用户、删除用户和修改信息3个子模块。各模块的功能如下图4-1所示:SSH新闻系统后台维护系统用户管理公告信息管理图片信息处理发布新闻管理新闻浏览管理 图4-1 新闻

13、发布及管理系统功能模块图4.2 功能模块划分本系统中功能模块之间的关系如图4-2所示。在系统系统初始化时,有一个默认的系统管理员用户Admin,系统管理员除了可以修改Admin用户的密码,还可以创建、修改和删除普通用户,普通用户只能修改自己的用户名和密码。用户管理功能模块的关系,如图4-3所示。类别管理后台系统 发布管理 发布文字信息 发布新闻图片数据库前台系统 新 发闻 布查 信看 息管 公理 告 图4-2 新闻发布及管理系统功能模块关系图修改Admin用户的密码系统用户信息管理 Admin用户创建和修改普通用户信息修改自身的用户名和密码图4-3 用户管理功能模块图4.3 流程分析多用户系统

14、一般都是从用户登录模块开始。用户身份验证可以分为两个阶段:首先对用户身份进行认证,确认用户是否是有效的系统用户;进而确认用户类型,即验证用户是管理员用户还是普通用户。 前一阶段决定用户能否进入系统;后一阶段根据用户类型决定用户的权限,以及用户的工作界面。 本系统的前台部分不需要进行身份验证,任何人都可以游览已发布的新闻并发表评论。后台部分需要进行身份验证,Admin用户拥有所有权限,普通用户不能管理发布的信息,包括修改新闻、发布新闻和删除新闻。4.4 开发环境与开发工具介绍4.4.1 JSP的优势(1)作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。一次写入之

15、后,可以运行在任何具有符合JavaTM语法结构的环境。取代过去单一平台开发。 ASP主要工作环境是微软的IIS应用程序结构,又因Activex对象具有平台特性,所以ASP技术不能很容易地实现在跨平台的WEB服务器的工作。 (2)从开发人员的角度来看其区别在于:ASP仅支持组件对象模型COM,而JSP技术提供的组件都是基于JavabeansTM技术或JSP标签库。 (3)JSP标签可扩充性。JSP技术能够使用开发者扩展JSP标签,JSP开发者能定制标签库,减少对脚本语言的依赖 (4)生成可重用的组件。JSP基于组件的技术方法加速了总体开发过程。 JSP组件(Javabean,或定制的JSP标签)

16、是跨平台可重用的。Javabean组件可以访问数据库,并能以分布式系统模式工作于UNIX和WINDOWS平台。 (5)易于维护性。 基于JSP技术的应用程序比基于ASP的应用程序易于维护和管理。JSP突出的组件技术使修改内容而不影响逻辑或修改逻辑而不影响内容变得很容易实现。 如上的比较不难看出,JSP技术编写的程序运用要更加灵活,可扩展性更强。Java是未来的主流开发语言,具有很多优势。JSP则是Java在InternetIntranet Web上的重要应用技术,得到了广泛的支持和承认,它可以和各种Java技术完好地结合在一起,从而实现非常复杂的应用。作为一种基于文本的、以显示为中心的开发技术

17、,JSP提供了Java Servlet的所有好处。为了做到逻辑功能和显示功能分开,采用了MVC模式。JSP的开发人员可以通过使用持久化层和控制层来完成大部分与网站逻辑相关的工作,而仅仅把显示的工作交给视图层来完成。内容和显示逻辑分开的好处在于,更新页面外观的人员不必懂得Java代码,而更新Java类的人员也不必是设计网页的行家。这就可以用带Java类的JSP页面来定义Web模板,以建立一个具有相似外观的页面组成的网站。Java类完成数据提供,在模板中就没有Java代码,这意味着这些模板可以由一个HTML编写人员来维护。4.4.2 JAVA开发技术(JDK)Java开发工具(JDK)是许多Jav

18、a专家最初使用的开发环境。尽管许多编程人员已经使用第三方的开发工具,但JDK仍被当作Java开发的重要工具。JDK由一个标准类库和一组建立测试及建立文档的Java实用程序组成。其核心JavaAPI是一些预定义的类库,开发人员需要用这些类来访问Java语言的功能。JavaAPI包括一些重要的语言结构以及基本图形,网络和文件I/O。一般来说,JavaAPI的非I/O部分对于运行Java的所有平台是相同的,而I/O部分则仅在通用Java环境中实现。作为JDK实用程序,工具库中有七种主要程序。Javac:Java编译器,将Java源代码转换成字节码。Java:Java解释器,直接从类文件执行Java应

19、用程序字节代码。appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。Javadoc:根据Java源码及说明语句生成HTML文档。Jdb:Java调试器,可以逐行执行程序,设置断点和检查变量。Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。开发JSP程序首先要安装免费的Java程序开发工具JDK。安装JDK以后,需要配置环境变量,单击“我的电脑属性高级环境变量系统变量”,进行以下设置。设置JAVA-HOME环境变量。设置CL

20、ASSPATH环境变量。更新PATH环境变量的值。安装和配置完成后,可以测试JAVA程序是否能够在机器上运行。在命令行窗口键入javac出现相应界面。这说明已成功配置JDK,否则需要仔细检查配置。 4.4.3 Hibernate介绍 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代

21、CMP,完成数据持久化的重任。核心接口简介Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。 (1)Session接口Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpS

22、ession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSesion对象称为用户session。 SessionFactory接口SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。 Configuration接口Configuration接口负责配

23、置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。(2)Transaction接口Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。(3)Query和Criteria接口 Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。(4)Hibernate主键介绍Assigned方式由用户生成主键值,并且要在save()之前指定否则会抛出异常

24、。特点:主键的生成值完全由用户决定,与底层数据库无关。用户需要维护主键值,在调用session.save()之前要指定主键值。Hilo使用高低位算法生成主键,高低位算法使用一个高位值和一个低位值,然后把算法得到的两个值拼接起来作为数据库中的唯一主键。Hilo方式需要额外的数据库表和字段提供高位值来源。默认请况下使用的表是 hibernate_unique_key,默认字段叫作next_hi。next_hi必须有一条记录否则会出现错误。 特点:需要额外的数据库表的支持,能保证同一个数据库中主键的唯一性,但不能保证多个数据库之间主键的唯一性。Hilo主键生成方式由Hibernate 维护,所以Hi

25、lo方式与底层数据库无关,但不应该手动修改hi/lo算法使用的表的值,否则会引起主键重复的异常。Increment方式对主键值采取自动增长的方式生成新的主键值,但要求底层数据库的支持Sequence。如Oracle,DB2等。需要在映射文件xxx.hbm.xml中加入Increment标志符的设置。 特点:由Hibernate本身维护,适用于所有的数据库,不适合多进程并发更新数据库,适合单一进程访问数据库。不能用于群集环境。Identity当时根据底层数据库,来支持自动增长,不同的数据库用不同的主键增长方式。 特点:与底层数据库有关,要求数据库支持Identity,如MySQl中是auto_i

26、ncrement, SQL Server 中是Identity,支持的数据库有MySql、SQL Server、DB2、Sybase和HypersonicSQL。 Identity无需Hibernate和用户的干涉,使用较为方便,但不便于在不同的数据库之间移植程序。Sequence需要底层数据库支持Sequence方式,例如Oracle数据库等 。特点:需要底层数据库的支持序列,支持序列的数据库有DB2、PostgreSql、Qracle、SAPDb等在不同数据库之间移植程序,特别从支持序列的数据库移植到不支持序列的数据库需要修改配置文件Native主键生成方式会根据不同的底层数据库自动选择I

27、dentity、Sequence、Hilo主键生成方式。特点:根据不同的底层数据库采用不同的主键生成方式。由于Hibernate会根据底层数据库采用不同的映射方式,因此便于程序移植,项目中如果用到多个数据库时,可以使用这种方式。UUID使用128位UUID算法生成主键,能够保证网络环境下的主键唯一性,也就能够保证在不同数据库及不同服务器下主键的唯一性。 特点:能够保证数据库中的主键唯一性,生成的主键占用比较多的存贮空间。Foreign用于一对一关系中。GUID主键生成方式使用了一种特殊算法,保证生成主键的唯一性,支持SQL Server和MySQL。4.4.4 Spring介绍Spring是一

28、个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 目的:解决企业应用开发的复杂性。 功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能 范围:任何Java应用 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 轻量从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有

29、1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。 控制反转Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。 面向切面Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transact

30、ion)管理)进行内聚性的开发。应用对象只实现它们应该做的完成业务逻辑仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。 容器Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。 框架Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在

31、一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。 所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。4.5 数据库结构设计与实现4.5.1 创建数据库本系统使用的是SQL Server2000作为系统数据库。首先用户创建一个名为news的数据库,保存新闻发布及管理系统的所有数据。可以在SQL Server的企业管理器中直接创建,也可以在SQL Server的查询分析器中执行以下脚本,创建数据库。 CREATE DATABASE db_wynews GO4.5

32、.2 数据库逻辑结构设计(1)本系统包含类别表Class、信息内容表Article、公告表tb_affiche、用户表 Admin四个表。本节将介绍这些表的结构。类别表用来保存类别数据,其结构如表4-1所示。 表4-1 Class表Class栏目分类表序号字段名称数据类型字段大小允许为空备注1IDint4不允许序号2SortNamenvarchar50允许栏目名称3ChannelIDint4允许级次编号4ParentIDsmallint2允许栏目编号5SortPathnvarchar50允许路径6OrderIDint4允许顺序号7IsOpenint4允许是否打开(2)信息内容表Article信

33、息内容表用来保存信息的基本内容,如标题、内容、发布时间等,具体结构如表4-2所示。 表4-2 Article表Article内容表序号字段名称数据类型字段大小允许为空备注1IDint4允许序号2ChannelIDint4允许频道号3ClassIDint4允许栏目号4SortPathnvarchar50允许路径5Titlenvarchar255允许标题6Contentntext16允许内容7Authornvarchar50允许作者8ComeFromnvarchar50允许来源9AddTimesmalldatetime4允许添加时间10Inputernvarchar50允许添加者11IsPicin

34、t4允许是否有图片12PicFilenvarchar255允许图片信息13IsPassint4允许是否通过14IsTopint4允许是否置顶15IsDeleteint4允许是否删除16IsCommendint4允许是否推荐17IsMoveint4允许是否移动18IsPlayint4允许是否播放19Hitsint4允许点击率(3)公告表tb_affiche该表用来保存公告信息,tb_affiche 表的结构如表4-3所示。 表4-3 tb_affiche表Guest评论内容表序号字段名称数据类型字段大小允许为空备注1IDint4不允许序号2Titlenvarchar50允许标题3contentn

35、varchar225允许内容4createTimesmalldatetime允许建立时间在tb_affiche表中使用了Smalldatetime数据类型存储日期时间数据,该类型可以存储从1900年1月1日到2079年6月6日的日期和时间数据,精确到分钟;datetime类型可以存储从1753年1月1日到9999年12月31日的日期和时间数据,精确到3.33ms。在精确度要求不高的情况下使用smalldatetime数据类型就足够了。(4)用户表 Admin Admin用来保存用户的基本信息,如表4-4所示。 表4-4 Admin表Admin超级用户序号字段名称数据类型字段大小允许为空备注1A

36、dminIdint4不允许序号2AdminNamenvarchar50允许管理员3AdminPwdnvarchar50允许密码4GroupIdint4允许所属组5AdminLockbit1不允许是否锁定5 系统程序设计与实现5.1 设计主界面本系统的主界面为index.jsp,显示新闻类别和每个类别中的前4条新闻,并提供进入管理界面的“新闻管理”链接和查询界面的“新闻查询”链接。系统主界面如图5-1所示。图5-1 首页在新闻网的前台首页总,用户可以按类别、按今日新闻和按关键字查询新闻。除了对新闻的查看外,还可以兑站内公告和焦点导读进行查看。公共模块设计设计 在开发过程中,经常会用到一些公共类和

37、相关的配置,因此,在开发网站前首先编写这些公共类以及相应的配置文件代码。下面将具体介绍新闻网所涉及到的公共类和相应的配置文件代码的编写过程。编写获取系统时间操作类。系统时间操作类的名称为TimeShow.该类的主要作用是在后台管理维护新闻信息时,获得系统时间来记录系统数据维护的时间,并且利用系统时间判断维护的信息时否是最新的数据。除了获取系统时间外,TimeShow类还讲系统的时间转换成格林威治标准时,作为维护数据的静态页面的名称保存在服务器相对应得文件夹中,在新闻前台页面中直接调用该文件中的静态页面就可以对新闻的详细内容进行查询。下面介绍index.jsp文件的主要功能。(1)显示新闻类别链

38、接系统能将新闻分类显示,每个新闻类别显示最新的5条新闻。本系统使用格式为#a的书签来定义新闻类别的位置。在网页中生成所有新闻类别的链接。每个链接指向相应新闻类别的书签。单击每个新闻类别右下方的“更多新闻”链接,可以阅读该类别的所有新闻。(2)显示最新新闻这是系统首页的最主要功能,即显示每个类别的中最新的4条新闻,并将3天内的新闻用new图片标记。用户可以根据需要改变标记的天数,或显示更多或更少最新新闻。程序中的记录集rsCate记录各个新闻类别的标题,使用rs.Cate.MoveFirst可以将指针复位。使用Do while语句依次处理每个新闻类别,读取该类别中所有新闻信息到记录集rs中,并显

39、示新闻标题。程序中的newwwin()函数可以根据屏幕的分辨率调整窗口大小。(3)新闻管理链接单击网页右上方的新闻管理链接,通过验证以后可以进入新闻管理页面,对新闻类别和内容进行管理,如果是Admin用户还可以对普通用户进行管理。新闻管理的文件夹是index.jsp,其具体作用将在后面介绍。5.2 登录程序设计必须通过系统身份验证,才能对系统进行管理。进行身份验证的。尚未登录的用户首先看到如图5-2 所示的身份验证界面,验证通过后才能进入管理界面。图5-2 身份验证界面在新闻网的后台首页中,管理员可以对各种类别的新闻、站内公告以及焦点导读进行管理,如果登录用户为系统管理员,则可以对站内的管理员

40、信息进行管理;如果登录用户为普通管理员,则具有修改登录用户信息的功能。管理员管理模块总体架构包括:管理员登录:用于核实管理员身份的功能。管理员查询:用于实现管理员查询的功能。管理员添加:用于实现管理员添加的功能。管理员修改密码:用于修改普通管理员密码的功能。管理员功能模块的ActionForm类与配置文件在管理员功能模块中,涉及的数据表是管理员信息表(tb-manager).在管理员信息表中保存着管理员账号、管理员密码和管理级别等信息,根据这些信息创建焦点管理员信息的ActionForm,名称为“ManagerForm.java”.管理员管理模块的实现类,管理员模块实现类名称为ManagerA

41、ction.java.该类继承DispatchAction类,实现多业务处理的操作。管理员登录时管理员进入后台维护数据的唯一通道。在网站前台页面中,在版权信息区域中适当位置单击“进入页面”超链接,进入到管理员登录页面。查看管理员的实现过程。当系统管理员登录后,在后台页面中,单击“查看用户”超链接,进入到查看管理员页面,在该页面中,将所有的管理员信息列出来,也包括系统管理员。 public ActionForward checkManagerAction(ActionMapping mapping, ActionForm form, HttpServletRequest request, Htt

42、pServletResponse response) this.objectDao = new ObjectDao(); ManagerForm managerForm = (ManagerForm)form; String password = managerForm.getPassword(); String hql = from ManagerForm where account = + managerForm.getAccount() + ; managerForm = (ManagerForm)this.objectDao.queryFrom(hql); if (managerFor

43、m = null) request.setAttribute(result, 您输入的用户名不存在); else if (!(managerForm.getPassword().equals(password) request.setAttribute(result, 您输入的密码不正确); else request.setAttribute(form, managerForm); return mapping.findForward(checkManagerAction); alert(用户登录成功);window.location.href=b_mainPage.jsp;alert();w

44、indow.location.href=land_manager.jsp;5.3 新闻管理 用户通过身份验证后可以进入管理界面,管理界面的文件是index.jsp。在管理界面中可以添加、删除新闻类别和新闻内容。Admin用户还可以管理其他用户。新闻管理界面如图5-3所示。图5-3 新闻管理界面下面具体说明index.jsp文件的主要实现方式。(1)分类显示新闻index.jsp可以分类显示新闻,文件中的flag参数表示新闻类别,如果flag=0,则显示全部新闻,否则显示指定类别的新闻。每个新闻类别只显示最新更新的20条新闻,认状态下参数flag=0,index.jsp显示全部新闻。变量sql_

45、where记录查询条件。如果是Admin用户,则sql_where为空,显示所有新闻;如果是其他用户登录,则只显示该用户创建的新闻。(2)显示管理链接 index.jsp文件提供管理链接,包括“更改密码”、“类别管理”、“用户管理”和“退出登录”,其中“类别管理”和“用户管理”只有Admin用户才可以见的。 Index.jsp文件中的session(“UserName”)保存当前登录用户的用户名,只有当session(“UserName”) 中的用户名是“Admin”时,才显示“类别管理”和“用户管理”链拉发,各项管理功能对应的网页如表5所示。(3)分页显示新闻index.asp文件根据新闻类

46、别和用户类型生成SELECT语句,查询指定的新闻记录,然后用Response.write语句输入到网页上。%String sortNews=new String(request.getParameter(bigSort).getBytes(ISO8859_1),gb2312);int pagesize=10;List list=(List)request.getAttribute(list);int number=list.size();/以下这段代码是计算多少页数int pageNumber=number;if(pageNumber%pagesize=0)pageNumber=pageNum

47、ber/pagesize;elsepageNumber=pageNumber/pagesize+1;/以下是计算当前页的页数int count;if(request.getParameter(count)=null)count=0;elsecount=Integer.valueOf(request.getParameter(count);/以下显示多少条纪录int start=count*pagesize;/开始条数int over=(count+1)*pagesize;/结束条数int lastCount=number-over;/还剩多少条记录 if(lastCount5.4 新闻类别管理

48、模块设计 新闻类别管理包括:添加、删除和修改新闻类别3项功能,只有Admin用户才能进入新闻类别管理模块。单击新闻管理网页上方的类别管理链接,可以打开Class_manage.jsp文件,进入新闻类别管理模块。(1)新闻类别管理界面新闻类别管理界面如图5-4所示。 图5-4 新闻类别管理界面新闻管理模块总体结构如下:新闻管理模块主要功能 新闻小类别添加:用于实现新闻小类别添加功能。 新闻小类别删除:用于实现新闻小类别删除功能。 新闻小类别查询:用于实现新闻小类别查询功能。 新闻添加:用于实现新闻添加功能。 新闻修改:用于实现新闻修改功能。 新闻删除:用于实现新闻删除功能。 新闻查询:用于实现新

49、闻查询功能。新闻类别的实现类新闻的类别主要是分为6大类:时政要闻、经济动向、法制教育、科学教育、社会现象及娱乐天地。这6个大的新闻类别是固定的,但是它们的小类别不是固定的,需要后台管理员进行维护。新闻类别查询的实现过程,新闻类别信息的维护主要是新闻操作的子功能,例如单击左侧页面中“娱乐天地”的超链接后,单击“详细类别管理”的超链接,可以超看该大类别中的所有小类别。新闻类别添加的实现过程,在新闻类别查询页面上,单击“添加类别”的超链接,即可显示添加新闻类别信息的页面。新闻查询的实现过程,管理员登录以后,在左侧区域中,单击任意新闻类别的类别的链接,都可以兑新闻所在的类别进行查询。其中,实现这些链接

50、是将所有的大类别信息保存一个数组对象中,然后通过for循环显示数组中的新闻类别内容,最后设置相同的超链接。以表格形式显示新闻类别,并提供修改和删除复选框。文件中的Oper参数值为update,表示当前操作为修改新闻类别。参数cid表示要修改的新闻类别编号;参数name表示要修改的新闻类别名称。 添加的修改新闻类别的脚本都是Cate_Admin。当参数Oper等于edit时,程序将处理要修改的新闻类别;当参数Oper等于add时,程序将添加新闻类别。 使用超链接也可以实现删除功能。本系统通过复选框要删除的记录,可以同时删除多条记录,管理员使用起来会更为方便。添加新闻类别 添加新闻类别的网页也是C

51、lass_manage.jsp 。在新闻管理页面下方的文本域中输入新闻类别名称,单击添加按钮,Class_manage.jsp中的Oper参数值等于add,表示添加新记录。在插入新闻类别之前,应注意判断此新闻类别是否已经存在,以避免出现重复的新闻类别。 修改新闻类别单击新闻类别后的修改超链接,Class_manage.jsp中的Oper参数等于update。这时网页下方的文本域中将显示要修改的新闻类别名称,修改完毕后,单击参数按钮,再次调用Class_manage.jsp文件,参数Oper等于edit,记录将修改。 删除新闻类别当单击新闻类别管理页面上的删除按钮时,执行SelectChk()函

52、数。该函数的作用是对每个复选框进行判断,如果复选框被选中,就将复选框的id值放入变量strid中。因为复选框的id值与对应的新闻类别编号相同,所以若以strid值为参数执行Class_manage.jsp 就可以删除选中记录了。 public ActionForward deleteSortAction(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException int id = Inte

53、ger.parseInt(request.getParameter(id); this.objectDao = new ObjectDao(); String hql = from SortForm where id= + id; SortForm sortForm = (SortForm)this.objectDao.queryFrom(hql); if (this.objectDao.deleteT(sortForm) request.setAttribute(result, 删除新闻类型成功); else request.setAttribute (result, 新闻中仍然存在该类型,

54、删除新闻类型失败); return mapping.findForward(resultSortAction); SltAll()函数的作用是选中所有复选框。当按下全选按钮时将调用该函数。SltNull() 函数的作用是清除选中的所有复选框,按下清空按钮时将调用该函数。5.5 新闻发布管理模块设计所有系统用户都可以发布新闻。但是除了Admin用户外,其余用户只能删除或修改自己发布的新闻。 (1)添加新闻 单击新闻管理页面下方的添加新闻按钮,将调用函数,在弹出的新窗口中执行b_newsInsert.jsp文件。b_newsInsert.jsp文件的运行界面如下图5-5所示。图5-5 新闻管理界面

55、在添加新闻网页的下拉菜单中选择新闻类别,填写新闻题目和内容,数据由名为myform的表单提交给b_newsInsert.jsp文件。在提交表单之前,程序中的form_onsubmit(this.form) 函数会对ValidationPassed变量进行判断。只有当ValidationPassed=True时,才提交数据。否则将弹出相关对话框,并将ValidationPassed变量赋值为false。b_newsInsert.jsp文件的作用是接受从b_newsInsert.jsp传递来的数据,并将它们转换为能保存到数据库中的格式。NewSave.jsp中的Changestr( )函数能替换新

56、闻正文中的功能字符串,使其成为HTML网页的一部分,在浏览网页时能够被正常显示。当从数据库中读取新闻正文时,空格将被自动过滤,文章格式会发生变化,因此将空格表示为代码 并存入数据库,读取数据时再将其转换为空格。在SQL语句中,单引号是特殊字符,程序会将新闻标题和正文中的单引号替换为全角单引号,然后保存数据。(2)修改新闻新闻修改模块主要由两个部分的操作,一是单击“修改”的超链接,执行的是对修改的一组数据进行查询,在修改页面中显示出来;二是单击“修改”的按钮,执行对数据的修改方法,然后通过mapping对象返回resultSort.jsp页面,显示管理员修改是否成功。 在index.js

57、p中单击每条新闻记录后边的“修改”链接,就可以在弹出的新窗口中对该条新闻进行编辑。执行编辑新闻的文件是b_news_Edit.jsp。修改新闻文件的显示界面与添加新闻相似。(3)删除新闻新闻删除的实现过程,当对新闻进行查询时,如果想要某个新闻,则单击相应的“删除”超链接,则执行删除操作。在查询新闻信息页面中,可以找到删除新闻的超链接代码。(4)疑难问题分析与解决处理删除新闻操作的脚本为b_newsdele.jsp。与删除新闻类别的操作相似,在删除新闻之前也需要选中相应的复选框。与b_newslist.jsp文件类似,index.jsp文件也定义了发下几个函数:选中全部复选框的sltAll()函

58、数、清除全部选中的复选框sltNull()函数和提交删除编辑号列表的SelectChk()函数。处理删除新闻操作的脚本文件为b_newsdele.jsp。 public ActionForward deleteNewsAction(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException this.objectDao = new ObjectDao(); int id = Integer.parseInt(request.getParameter(id); String hql = from NewsForm where id= + id; NewsForm newsForm = (NewsForm)this.objectDao.queryFrom(hq

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!