JSP新闻网站系统设计—毕业设计(论文)_第1页
JSP新闻网站系统设计—毕业设计(论文)_第2页
JSP新闻网站系统设计—毕业设计(论文)_第3页
JSP新闻网站系统设计—毕业设计(论文)_第4页
JSP新闻网站系统设计—毕业设计(论文)_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

1、目目 录录 1 引 言 .1 1.1 国内外研究现状及发展趋势.1 1.2 研究目的、意义和范围.1 2 系统概述 .3 2.1 概述.3 2.2 计算机化管理的必要性.3 3 需求分析 .4 3.1 需求分析.4 3.2 可行性研究.4 4 系统总体设计 .6 4.1 系统概述.6 4.2 功能模块划分.6 4.3 流程分析.7 4.4 开发环境与开发工具介绍.8 4.4.1 jsp 的优势.8 4.4.2 java 开发技术(jdk).8 4.4.3 hibernate 介绍.9 4.4.4 spring 介绍.11 4.5 数据库结构设计与实现.12 4.5.1 创建数据库 .12 4.

2、5.2 数据库逻辑结构设计 .13 5 系统程序设计与实现 .15 5.1 设计主界面.15 5.2 登录程序设计.16 5.3 新闻管理.18 5.4 新闻类别管理模块设计.20 5.5 新闻发布管理模块设计.22 6 系统测试 .25 6.1 系统测试的目的.25 6.2 系统测试的原则.25 6.3 系统测试记录.26 7 结 论 .27 致 谢 .28 参考文献 .29 1 1 引引 言言 1.11.1 国内外研究现状国内外研究现状及发展趋势及发展趋势 传统的网站新闻管理方式有两种:一种是静态 html 页面,更 新信息时需要重新制作页面然后上传页面并修改相应链接,这种方 式因为效率太

3、低已不多用;另一种是基于 jsp 和脚本语言,将动态 网页和数据库结合,通过应用程序来处理新闻,这是目前较为流行 的做法。ssh 不仅仅是很好的网络架构,而且是建立动态 web 应用 程序而重新打造的全新技术,其主要特色包括: (1)语言的独立性; (2)简单的开发操作,分离程序代码和网页内容; (3) 提高了执行效率; (4)简化部署与组态的操作; (5)支持客户端类型; (6)支持下一代的 web 服务; (7)增进适用性; (8)增进延展性; (9)更多的支持工具; (10)更佳的安全机制; (11)会话(session)可以跨进程、跨机器。 由于 ssh 的众多优点,技术发展和各种客观

4、实际的需要,该系 统选用了 ssh 来开发设计,实现了对社区新闻的动态管理操作,使 得对新闻信息的发布与管理更加及时、高效,提高了工作效率。 1.21.2 研究目的、意义研究目的、意义和范围和范围 随着 internet 的普及,越来越多的企事单位建立了自己的 www 网站,他们通过网站可以展示自身形象,发布最新动态信息,与用 户进行交流和沟通,与合作伙伴建立联系,以及开展信息交流等。 其中社区新闻管理系统是构成社区网站的一个重要组成部分, 它担负着双层作用。 该系统使用 jsp(java 语言)和 ssh 技术开发, 实现了网站新闻 的动态管理,使得对信息的管理更加及时、高效,提高了工作效率

5、。 该新闻系统具有一般新闻系统的功能,主要包括前台新闻查看区和 后台管理区,可为社区各部门发布新闻,为社区网站提供新闻发布 与管理的服务。 该系统是基于 b/s(browser/server,浏览器/客户端)模式实现, 基于 ssh 平台架构开发设计,主要实现对社区新闻的发布与管理功 能,对新闻内容信息的浏览阅读等。 随着 internet/intranet 技术的兴起,将原本在单机或本地局 域网上运行的数据库系统移植到因特网中,即开发基于 b/s 模式的 新一代管理信息系统,正成为技术发展的趋势。为了保证系统性能 的高效性、可扩展性,以及达到数据共享和网络化管理的目的,本 系统采用 b/s

6、体系结构进行设计开发。 2 2 系统概述系统概述 2.12.1 概述概述 随着网络技术的不断发展,网络应用已经渗透到人类社会的各 个角落。在科学技术飞速发展的今天,internet 逐渐走入到人们的 生活当中,人们可以在闲暇心情时遨游在网络中,而 internet 又 是以网站的形式体现出来的。通过网站的访问,人们可以进行电子 邮件的传送、文件传输、远程登陆、网上查询、网上交流,足不出 户便可以知道外面的世界。 在这样的信息时代中,用户对信息的需求量、广泛程度和时效 性的要求日趋提高,传统的报纸杂志已经远远满足不了人们的需求。 是网络改变了我们的生活,人们已经喜欢上上网,在网络上我们便 能够了

7、解得到社会上的各种大事小事,这便是新闻发布系统的成效。 新闻发布系统是网站上用于用户查询浏览新闻的一个系统,是 用户查看社会信息的园地。只需要输入自己所要了解的事件的名称, 再轻按下 enter 键,那么你就可以知道整个事件的来龙去脉。 网站新闻发布系统,又称为信息发布系统,是将网页上的某些 需要经常变动的信息,类似新闻、新产品发布和业界动态等更新信 息集中管理,并通过信息的某些共性进行分类,最后系统化、标准 化发布到网站上的一种网站应用程序。网站信息通过一个操作简单 的界面加入数据库,然后通过已有的网页模板格式与审核流程发布 到网站上。 2.22.2 计算机化管理的必要性计算机化管理的必要性

8、 当网络刚刚发展起来的时候,由于信息量比较少以及技术上的 原因,大部分网站都是采用静态的方式来发布和管理信息的。但是 随着电脑和网络的越来越普及,网站也越来越多,使用网络资源的 人也越来越多,网站需要更新的信息量也越来越大,特别是新闻发 布的频率很高,如果使用静态的新闻页面,则维护工作将会非常烦 琐,管理员每天需要制作大量的网页,从而会浪费很多时间和精力, 但自从有了动态网页的网络技术,这个事情将变的非常容易,如果 采用动态的新闻发布管理系统,则工作量将大为减少,管理员只要 设置标题、内容和图片就可以了,系统将自动生成对应的网页,而 且技术上出现问题的机会也会大大减少。 3 3 需求分析需求分

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

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

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

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

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

14、4-1 所示: 图 4-1 新闻发布及管理系统功能模块图 4.24.2 功能模块划分功能模块划分 本系统中功能模块之间的关系如图 4-2 所示。在系统系统初始 化时,有一个默认的系统管理员用户 admin,系统管理员除了可以 修改 admin 用户的密码,还可以创建、修改和删除普通用户,普通 用户只能修改自己的用户名和密码。用户管理功能模块的关系,如 图 4-3 所示。 ssh 新闻系统 新 闻 浏 览 管 理 发 布 新 闻 管 理 图 片 信 息 处 理 公 告 信 息 管 理 系 统 用 户 管 理 后 台 维 护 后台系统 发布管理 发布文字信息 发布新闻图片 数 据 库 前台系统 新

15、 发 闻 布 查 信 看 息 管 公 理 告 图 4-2 新闻发布及管理系统功能模块关系图 admin 用户 创建和修改普通用户信息 修改自身的用户名和密码 图 4-3 用户管理功能模块图 4.34.3 流程分析流程分析 多用户系统一般都是从用户登录模块开始。用户身份验证可 以分为两个阶段:首先对用户身份进行认证,确认用户是否是有效 的系统用户;进而确认用户类型,即验证用户是管理员用户还是普 通用户。 前一阶段决定用户能否进入系统;后一阶段根据用户类型决定 用户的权限,以及用户的工作界面。 本系统的前台部分不需要进行身份验证,任何人都可以游览已发 布的新闻并发表评论。后台部分需要进行身份验证,

16、admin 用户拥 有所有权限,普通用户不能管理发布的信息,包括修改新闻、发布 新闻和删除新闻。 类 别 管 理 系 统 用 户 信 息 管 理 修改 admin 用户的密码 4.44.4 开发环境与开发工具介绍开发环境与开发工具介绍 .1 jspjsp 的优势的优势 (1)作为 java 平台的一部分,jsp 拥有 java 编程语言“一次编 写,各处运行”的特点。一次写入之后,可以运行在任何具有符合 javatm 语法结构的环境。取代过去单一平台开发。 asp 主要工作环境是微软的 iis 应用程序结构,又因 activex 对象具有平台特性,所以 asp 技术不能很容易地

17、实现在跨平台的 web 服务器的工作。 (2)从开发人员的角度来看其区别在于:asp 仅支持组件对象模 型 com,而 jsp 技术提供的组件都是基于 javabeanstm 技术或 jsp 标签库。 (3)jsp 标签可扩充性。jsp 技术能够使用开发者扩展 jsp 标签, jsp 开发者能定制标签库,减少对脚本语言的依赖 (4)生成可重用的组件。jsp 基于组件的技术方法加速了总体开 发过程。 jsp 组件(javabean,或定制的 jsp 标签)是跨平台可重 用的。javabean 组件可以访问数据库,并能以分布式系统模式工作 于 unix 和 windows 平台。 (5)易于维护性

18、。 基于 jsp 技术的应用程序比基于 asp 的应用 程序易于维护和管理。jsp 突出的组件技术使修改内容而不影响逻 辑或修改逻辑而不影响内容变得很容易实现。 如上的比较不难看出,jsp 技术编写的程序运用要更加灵活, 可扩展性更强。 java 是未来的主流开发语言,具有很多优势。jsp 则是 java 在 internetintranet web 上的重要应用技术,得到了广泛的支 持和承认,它可以和各种 java 技术完好地结合在一起,从而实现 非常复杂的应用。 作为一种基于文本的、以显示为中心的开发技术,jsp 提供了 java servlet 的所有好处。为了做到逻辑功能和显示功能分开

19、,采 用了 mvc 模式。jsp 的开发人员可以通过使用持久化层和控制层来 完成大部分与网站逻辑相关的工作,而仅仅把显示的工作交给视图 层来完成。内容和显示逻辑分开的好处在于,更新页面外观的人员 不必懂得 java 代码,而更新 java 类的人员也不必是设计网页的行 家。这就可以用带 java 类的 jsp 页面来定义 web 模板,以建立一 个具有相似外观的页面组成的网站。java 类完成数据提供,在模板 中就没有 java 代码,这意味着这些模板可以由一个 html 编写人员 来维护。 .2 javajava 开发技术(开发技术(jdkjdk) java 开发工具(jdk

20、)是许多 java 专家最初使用的开发环境。 尽管许多编程人员已经使用第三方的开发工具,但 jdk 仍被当作 java 开发的重要工具。 jdk 由一个标准类库和一组建立测试及建立文档的 java 实用程 序组成。其核心 javaapi 是一些预定义的类库,开发人员需要用这 些类来访问 java 语言的功能。 javaapi 包括一些重要的语言结构以及基本图形,网络和文件 i/o。一般来说,javaapi 的非 i/o 部分对于运行 java 的所有平台 是相同的,而 i/o 部分则仅在通用 java 环境中实现。作为 jdk 实 用程序,工具库中有七种主要程序。 javac:java 编译器

21、,将 java 源代码转换成字节码。 java:java 解释器,直接从类文件执行 java 应用程序字节代 码。 appletviewer:小程序浏览器,一种执行 html 文件上的 java 小程序的 java 浏览器。 javadoc:根据 java 源码及说明语句生成 html 文档。 jdb:java 调试器,可以逐行执行程序,设置断点和检查变量。 javah:产生可以调用 java 过程的 c 过程,或建立能被 java 程 序调用的 c 过程的头文件。 javap:java 反汇编器,显示编译类文件中的可访问功能和数 据,同时显示字节代码含义。 开发 jsp 程序首先要安装免费的

22、 java 程序开发工具 jdk。 安装 jdk 以后,需要配置环境变量,单击“我的电脑属性 高级环境变量系统变量” ,进行以下设置。 设置 java-home 环境变量。 设置 classpath 环境变量。 更新 path 环境变量的值。 安装和配置完成后,可以测试 java 程序是否能够在机器上运行。 在命令行窗口键入 javac 出现相应界面。这说明已成功配置 jdk, 否则需要仔细检查配置。 .3 hibernatehibernate 介绍介绍 hibernate 是一个开放源代码的对象关系映射框架,它对 jdbc 进行了非常轻量级的对象封装,使得 java 程序员可

23、以随心所欲的 使用对象编程思维来操纵数据库。 hibernate 可以应用在任何使用 jdbc 的场合,既可以在 java 的客户端程序使用,也可以在 servlet/jsp 的 web 应用中使用,最具革命意义的是,hibernate 可以在应用 ejb 的 j2ee 架构中取代 cmp,完成数据持久化的重任。 核心接口简介 hibernate 的核心接口一共有 5 个,分别为: session、sessionfactory、transaction、query 和 configuration。这 5 个核心接口在任何开发中都会用到。通过这 些接口,不仅可以对持久化对象进行存取,还能够进行事务

24、控制。 下面对这五个核心接口分别加以介绍。 (1)session 接口 session 接口负责执行被持久化对象的 crud 操作(crud 的任务 是完成与数据库的交流,包含了很多常见的 sql 语句。)。但需要 注意的是 session 对象是非线程安全的。同时,hibernate 的 session 不同于 jsp 应用中的 httpsession。这里当使用 session 这个术语时,其实指的是 hibernate 中的 session,而以后会将 httpsesion 对象称为用户 session。 sessionfactory 接口 sessionfactory 接口负责初始化

25、hibernate。它充当数据存储 源的代理,并负责创建 session 对象。这里用到了工厂模式。需要 注意的是 sessionfactory 并不是轻量级的,因为一般情况下,一 个项目通常只需要一个 sessionfactory 就够,当需要操作多个数 据库时,可以为每个数据库指定一个 sessionfactory。 configuration 接口 configuration 接口负责配置并启动 hibernate,创建 sessionfactory 对象。在 hibernate 的启动的过程中, configuration 类的实例首先定位映射文档位置、读取配置,然后 创建 sessi

26、onfactory 对象。 (2)transaction 接口 transaction 接口负责事务相关的操作。它是可选的,开发人 员也可以设计编写自己的底层事务处理代码。 (3)query 和 criteria 接口 query 和 criteria 接口负责执行各种数据库查询。 它可以使用 hql 语言或 sql 语句两种表达方式。 (4)hibernate 主键介绍 assigned 方式由用户生成主键值,并且要在 save()之前指定否 则会抛出异常。 特点:主键的生成值完全由用户决定,与底层数据库无关。用 户需要维护主键值,在调用 session.save()之前要指定主键值。 hi

27、lo 使用高低位算法生成主键,高低位算法使用一个高位值和 一个低位值,然后把算法得到的两个值拼接起来作为数据库中的唯 一主键。hilo 方式需要额外的数据库表和字段提供高位值来源。默 认请况下使用的表是 hibernate_unique_key,默认字段叫作 next_hi。next_hi 必须有一条记录否则会出现错误。 特点:需要额外的数据库表的支持,能保证同一个数据库中主 键的唯一性,但不能保证多个数据库之间主键的唯一性。hilo 主键 生成方式由 hibernate 维护,所以 hilo 方式与底层数据库无关, 但不应该手动修改 hi/lo 算法使用的表的值,否则会引起主键重复 的异常。

28、 increment 方式对主键值采取自动增长的方式生成新的主键值, 但要求底层数据库的支持 sequence。如 oracle,db2 等。需要在映 射文件 xxx.hbm.xml 中加入 increment 标志符的设置。 特点:由 hibernate 本身维护,适用于所有的数据库,不适合 多进程并发更新数据库,适合单一进程访问数据库。不能用于群集 环境。 identity 当时根据底层数据库,来支持自动增长,不同的数据 库用不同的主键增长方式。 特点:与底层数据库有关,要求数据库支持 identity,如 mysql 中是 auto_increment, sql server 中是 id

29、entity,支持的 数据库有 mysql、sql server、db2、sybase 和 hypersonicsql。 identity 无需 hibernate 和用户的干涉,使用较为方便,但不便于 在不同的数据库之间移植程序。 sequence 需要底层数据库支持 sequence 方式,例如 oracle 数 据库等 。 特点:需要底层数据库的支持序列,支持序列的数据库有 db2、postgresql、qracle、sapdb 等在不同数据库之间移植程序, 特别从支持序列的数据库移植到不支持序列的数据库需要修改配置 文件 native 主键生成方式会根据不同的底层数据库自动选择 ide

30、ntity、sequence、hilo 主键生成方式。 特点:根据不同的底层数据库采用不同的主键生成方式。由于 hibernate 会根据底层数据库采用不同的映射方式,因此便于程序 移植,项目中如果用到多个数据库时,可以使用这种方式。 uuid 使用 128 位 uuid 算法生成主键,能够保证网络环境下的 主键唯一性,也就能够保证在不同数据库及不同服务器下主键的唯 一性。 特点:能够保证数据库中的主键唯一性,生成的主键占用比较 多的存贮空间。 foreign 用于一对一关系中。guid 主键生成方式使用了一种特 殊算法,保证生成主键的唯一性,支持 sql server 和 mysql。 4.

31、 springspring 介绍介绍 spring 是一个开源框架,它由 rod johnson 创建。它是为了解 决企业应用开发的复杂性而创建的。spring 使用基本的 javabean 来完成以前只可能由 ejb 完成的事情。然而,spring 的用途不仅限 于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任 何 java 应用都可以从 spring 中受益。 目的:解决企业应用开发的复杂性。 功能:使用基本的 javabean 代替 ejb,并提供了更多的企业应 用功能 范围:任何 java 应用 简单来说,spring 是一个轻量级的 控制反转(ioc)和面向

32、切面(aop)的容器框架。 轻量从大小与开销两方面而言 spring 都是轻量的。完整 的 spring 框架可以在一个大小只有 1mb 多的 jar 文件里发布。并 且 spring 所需的处理开销也是微不足道的。此外,spring 是非侵 入式的:典型地,spring 应用中的对象不依赖于 spring 的特定类。 控制反转spring 通过一种称作控制反转(ioc)的技术促 进了松耦合。当应用了 ioc,一个对象依赖的其它对象会通过被动 的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你 可以认为 ioc 与 jndi 相反不是对象从容器中查找依赖,而是 容器在对象初始化时不等对

33、象请求就主动将依赖传递给它。 面向切面spring 提供了面向切面编程的丰富支持,允许通 过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事 务(transaction)管理)进行内聚性的开发。应用对象只实现它 们应该做的完成业务逻辑仅此而已。它们并不负责(甚至 是意识)其它的系统级关注点,例如日志或事务支持。 容器spring 包含并管理应用对象的配置和生命周期,在这 个意义上它是一种容器,你可以配置你的每个 bean 如何被创建 基于一个可配置原型(prototype),你的 bean 可以创建一个单 独的实例或者每次需要时都生成一个新的实例以及它们是如何 相互关联的。然而

34、,spring 不应该被混同于传统的重量级的 ejb 容 器,它们经常是庞大与笨重的,难以使用。 框架spring 可以将简单的组件配置、组合成为复杂的应用。 在 spring 中,应用对象被声明式地组合,典型地是在一个 xml 文 件里。spring 也提供了很多基础功能(事务管理、持久化框架集成 等等),将应用逻辑的开发留给了你。 所有 spring 的这些特征使你能够编写更干净、更可管理、并 且更易于测试的代码。它们也为 spring 中的各种模块提供了基础 支持。 4.5 数据库结构设计与实现 .1 创建数据库创建数据库 本系统使用的是 sql server2000 作

35、为系统数据库。首先用户 创建一个名为 news 的数据库,保存新闻发布及管理系统的所有数 据。可以在 sql server 的企业管理器中直接创建,也可以在 sql server 的查询分析器中执行以下脚本,创建数据库。 create database db_wynews go .2 数据库逻辑结构设计数据库逻辑结构设计 (1)本系统包含类别表 class、信息内容表 article、公告表 tb_affiche、用户表 admin 四个表。本节将介绍这些表的结构。 类别表用来保存类别数据,其结构如表 4-1 所示。 表 4-1 class 表 class 栏目分类表 序号字段

36、名称数据类型 字段大 小 允许为 空 备注 1 idint4 不允许序号 2 sortnamenvarchar50 允许栏目名称 3 channelidint4 允许级次编号 4 parentidsmallint2 允许栏目编号 5 sortpathnvarchar50 允许路径 6 orderidint4 允许顺序号 7 isopenint4 允许是否打开 (2)信息内容表 article 信息内容表用来保存信息的基本内容,如标题、内容、发布时 间等,具体结构如表 4-2 所示。 表 4-2 article 表 articl e 内容表 序号字段名称数据类型 字段大 小 允许为 空 备注 1

37、idint4 允许序号 2channelidint4 允许频道号 3classidint4 允许栏目号 4sortpathnvarchar50 允许路径 5titlenvarchar255 允许标题 6contentntext16 允许内容 7authornvarchar50 允许作者 8comefromnvarchar50 允许来源 9addtime smalldatet ime 4 允许添加时间 10inputernvarchar50 允许添加者 11ispicint4 允许 是否有图 片 12picfilenvarchar255 允许图片信息 13ispassint4 允许是否通过 14

38、istopint4 允许是否置顶 15isdeleteint4 允许是否删除 16iscommendint4 允许是否推荐 17ismoveint4 允许是否移动 18isplayint4 允许是否播放 19hitsint4 允许点击率 (3)公告表 tb_affiche 该表用来保存公告信息,tb_affiche 表的结构如表 4-3 所示。 表 4-3 tb_affiche 表 guest 评论内容表 序号字段名称数据类型 字段大 小 允许为 空 备注 1 idint4 不允许序号 2 titlenvarchar50 允许标题 3 contentnvarchar225 允许内容 4 cre

39、atetime smalldateti me 允许建立时间 在 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 表 adm

40、in 超级用户 序号字段名称数据类型 字段大 小 允许为 空 备注 1adminidint4 不允许序号 2adminnamenvarchar50 允许管理员 3adminpwdnvarchar50 允许密码 4groupidint4 允许所属组 5adminlockbit1 不允许是否锁定 5 5 系统程序设计与实现系统程序设计与实现 5.15.1 设计主界面设计主界面 本系统的主界面为 index.jsp,显示新闻类别和每个类别中的 前 4 条新闻,并提供进入管理界面的“新闻管理”链接和查询界面 的“新闻查询”链接。系统主界面如图 5-1 所示。 图 5-1 首页 在新闻网的前台首页总,用

41、户可以按类别、按今日新闻和按关 键字查询新闻。除了对新闻的查看外,还可以兑站内公告和焦点导 读进行查看。 公共模块设计设计 在开发过程中,经常会用到一些公共类和相关 的配置,因此,在开发网站前首先编写这些公共类以及相应的配置 文件代码。下面将具体介绍新闻网所涉及到的公共类和相应的配置 文件代码的编写过程。 编写获取系统时间操作类。系统时间操作类的名称为 timeshow.该 类的主要作用是在后台管理维护新闻信息时,获得系统时间来记录 系统数据维护的时间,并且利用系统时间判断维护的信息时否是最 新的数据。除了获取系统时间外,timeshow 类还讲系统的时间转换 成格林威治标准时,作为维护数据的

42、静态页面的名称保存在服务器 相对应得文件夹中,在新闻前台页面中直接调用该文件中的静态页 面就可以对新闻的详细内容进行查询。 下面介绍 index.jsp 文件的主要功能。 (1)显示新闻类别链接 系统能将新闻分类显示,每个新闻类别显示最新的 5 条新闻。 本系统使用格式为#a 的书签来定义新闻类别的位置。 在网页中生成所有新闻类别的链接。每个链接指向相应新闻类别的 书签。单击每个新闻类别右下方的“更多新闻”链接,可以阅读该 类别的所有新闻。 (2)显示最新新闻 这是系统首页的最主要功能,即显示每个类别的中最新的 4 条 新闻,并将 3 天内的新闻用 new 图片标记。用户可以根据需要改变 标记

43、的天数,或显示更多或更少最新新闻。 程序中的记录集 rscate 记录各个新闻类别的标题,使用 rs.cate.movefirst 可以将指针复位。使用 do while 语句依次处理 每个新闻类别,读取该类别中所有新闻信息到记录集 rs 中,并显 示新闻标题。程序中的 newwwin()函数可以根据屏幕的分辨率调 整窗口大小。 (3)新闻管理链接 单击网页右上方的新闻管理链接,通过验证以后可以进入新 闻管理页面,对新闻类别和内容进行管理,如果是 admin 用户还可 以对普通用户进行管理。新闻管理的文件夹是 index.jsp,其具体 作用将在后面介绍。 5.25.2 登录程序设计登录程序设

44、计 必须通过系统身份验证,才能对系统进行管理。进行身份验证 的。 。尚未登录的用户首先看到如图 5-2 所示的身份验证界面,验 证通过后才能进入管理界面。 图 5-2 身份验证界面 在新闻网的后台首页中,管理员可以对各种类别的新闻、站内 公告以及焦点导读进行管理,如果登录用户为系统管理员,则可以 对站内的管理员信息进行管理;如果登录用户为普通管理员,则具 有修改登录用户信息的功能。管理员管理模块总体架构包括: 管理员登录:用于核实管理员身份的功能。 管理员查询:用于实现管理员查询的功能。 管理员添加:用于实现管理员添加的功能。 管理员修改密码:用于修改普通管理员密码的功能。 管理员功能模块的

45、actionform 类与配置文件在管理员功能模 块中,涉及的数据表是管理员信息表(tb-manager).在管理员信 息表中保存着管理员账号、管理员密码和管理级别等信息,根据这 些信息创建焦点管理员信息的 actionform,名称为 “managerform.java”. 管理员管理模块的实现类,管理员模块实现类名称为 manageraction.java.该类继承 dispatchaction 类,实现多业务处 理的操作。 管理员登录时管理员进入后台维护数据的唯一通道。在网站前 台页面中,在版权信息区域中适当位置单击“进入页面”超链接, 进入到管理员登录页面。 查看管理员的实现过程。当系

46、统管理员登录后,在后台页面中,单 击“查看用户”超链接,进入到查看管理员页面,在该页面中,将 所有的管理员信息列出来,也包括系统管理员。 public actionforward checkmanageraction(actionmapping mapping, actionform form, httpservletrequest request, httpservletresponse response) this.objectdao = new objectdao(); managerform managerform = (managerform)form; string passwor

47、d = managerform.getpassword(); string hql = from managerform where account = + managerform.getaccount() + ; managerform = (managerform)this.objectdao.queryfrom(hql); if (managerform = null) request.setattribute(result, 您输入的用户名不存在 ); else if (!(managerform.getpassword().equals(password) request.setat

48、tribute(result, 您输入的密码不正确); else request.setattribute(form, managerform); return mapping.findforward(checkmanageraction); alert(用户登录成功); window.location.href=b_mainpage.jsp; alert();window.location.h ref=land_manager.jsp; 5.35.3 新闻管理新闻管理 用户通过身份验证后可以进入管理界面,管理界面的文件是 index.jsp。在管理界面中可以添加、删除新闻类别和新闻内容。 a

49、dmin 用户还可以管理其他用户。新闻管理界面如图 5-3 所示。 图 5-3 新闻管理界面 下面具体说明 index.jsp 文件的主要实现方式。 (1)分类显示新闻 index.jsp 可以分类显示新闻,文件中的 flag 参数表示新闻类 别,如果 flag=0,则显示全部新闻,否则显示指定类别的新闻。每 个新闻类别只显示最新更新的 20 条新闻,认状态下参数 flag=0,index.jsp 显示全部新闻。 变量 sql_where 记录查询条件。如果是 admin 用户,则 sql_where 为空,显示所有新闻;如果是其他用户登录,则只显示 该用户创建的新闻。 (2)显示管理链接 i

50、ndex.jsp 文件提供管理链接,包括“更改密码” 、 “类别管理” 、 “用户管理”和“退出登录” ,其中“类别管理”和“用户管理” 只有 admin 用户才可以见的。 index.jsp 文件中的 session(“username”)保存当前登录用 户的用户名,只有当 session(“username”) 中的用户名是 “admin”时,才显示“类别管理”和“用户管理”链拉发,各项 管理功能对应的网页如表 5 所示。 (3)分页显示新闻 index.asp 文件根据新闻类别和用户类型生成 select 语句,查 询指定的新闻记录,然后用 response.write 语句输入到网页上

51、。 % 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=pagenumber/pagesize; else pagenumber=pagenumber/p

52、agesize+1; /以下是计算当前页的页数 int count; if(request.getparameter(count)=null) count=0; else count=integer.valueof(request.getparameter(count); /以下显示多少条纪录 int start=count*pagesize;/开始条数 int over=(count+1)*pagesize;/结束条数 int lastcount=number-over;/还剩多少条记录 if(lastcount 5.45.4 新闻类别管理模块设计新闻类别管理模块设计 新闻类别管理包括:添加

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

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

55、别进行查询。其中, 实现这些链接是将所有的大类别信息保存一个数组对象中,然后通 过 for 循环显示数组中的新闻类别内容,最后设置相同的超链接。 以表格形式显示新闻类别,并提供修改和删除复选框。文件中 的 oper 参数值为 update,表示当前操作为修改新闻类别。参数 cid 表示要修改的新闻类别编号;参数 name 表示要修改的新闻类别 名称。 添加的修改新闻类别的脚本都是 cate_admin。当参数 oper 等 于 edit 时,程序将处理要修改的新闻类别;当参数 oper 等于 add 时,程序将添加新闻类别。 使用超链接也可以实现删除功能。本系统通过复选框要删除的 记录,可以同

56、时删除多条记录,管理员使用起来会更为方便。 添加新闻类别 添加新闻类别的网页也是 class_manage.jsp 。在新闻管理页面 下方的文本域中输入新闻类别名称,单击添加按钮, class_manage.jsp 中的 oper 参数值等于 add,表示添加新记录。 在插入新闻类别之前,应注意判断此新闻类别是否已经存在,以避 免出现重复的新闻类别。 修改新闻类别 单击新闻类别后的修改超链接,class_manage.jsp 中的 oper 参数等于 update。这时网页下方的文本域中将显示要修改的新闻类 别名称,修改完毕后,单击参数按钮,再次调用 class_manage.jsp 文件,参

57、数 oper 等于 edit,记录将修改。 删除新闻类别 当单击新闻类别管理页面上的删除按钮时,执行 selectchk()函 数。该函数的作用是对每个复选框进行判断,如果复选框被选中, 就将复选框的 id 值放入变量 strid 中。因为复选框的 id 值与对应 的新闻类别编号相同,所以若以 strid 值为参数执行 class_manage.jsp 就可以删除选中记录了。 public actionforward deletesortaction(actionmapping mapping, actionform form, httpservletrequest request, http

58、servletresponse response) throws unsupportedencodingexception int id = integer.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.set

59、attribute(result, 删除新闻类型成功); else request.setattribute (result, 新闻中仍然存在该类型,删除新闻类型失败); return mapping.findforward(resultsortaction); sltall()函数的作用是选中所有复选框。当按下全选按 钮时将调用该函数。sltnull() 函数的作用是清除选中的所有复选 框,按下清空按钮时将调用该函数。 5.55.5 新闻发布管理模块设计新闻发布管理模块设计 所有系统用户都可以发布新闻。但是除了 admin 用户外,其余 用户只能删除或修改自己发布的新闻。 (1)添加新闻 单

60、击新闻管理页面下方的添加新闻按钮,将调用函数,在弹 出的新窗口中执行 b_newsinsert.jsp 文件。b_newsinsert.jsp 文 件的运行界面如下图 5-5 所示。 图 5-5 新闻管理界面 在添加新闻网页的下拉菜单中选择新闻类别,填写新闻题目和 内容,数据由名为 myform 的表单提交给 b_newsinsert.jsp 文件。 在提交表单之前,程序中的 form_onsubmit(this.form) 函数会对 validationpassed 变量进行判断。只有当 validationpassed=true 时,才提交数据。否则将弹出相关对话框,并将 validati

温馨提示

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

评论

0/150

提交评论