新闻发布系统课程设计
需求分析
随着网络的q速发展和普及,越来越多的用户习惯上网浏览新闻。本系统的主要目的 就是为用户提供一个方便、及叫的网上新闻发布、浏览平台。利用本系统,用户可以直接在 网上发布新闻信息并根据自己的需要对新闻进行检索。本系统遵循软件工程标准,并按照软 件工授规定的流程进行项目的开发。
系统概述
本次任务是要实现一个新闻发布系统,系统的主要功能包括:新闻查看功能、新闻搜 索功能、发布新闻功能、管理员登录功能和新闻管理功能。任何用户均可使用本系统来查 看、查找、发布新闻。用户可以通过单击每条新闻的标题来查看该条新闻的详细内容。新闻 搜索分为按新闻标题、新闻内容、新闻作者和发布时间等多种搜索方式。当用户作为系统管 理员成功登录后,可以使用新闻管理功能。新闻管理包括对现有新闻的修改和删除,管理员 本次操作完毕后,可单击“管理员退出”超链接退出登录状态。
系统运行环境
1.硬件环境
●处理器:Inte1Peteum .内存:32M或更高 .硬盘空间:1GB 2.软件环境
●操作系统:Windows 98/ME/2000/XP .Web服务器:Tomcat5.0或以上版本 ●数据库:Access
.客户端:IE 5.o或以上版本 .开发语言:JSP、Java
功能需求描述
新闻发布系统购主要目的是为用户提供一个方便的、可快速浏览当前最新新闻的界 面,并且也可以随时发布最新的讯息以达到信息共享的目的。因此要为用户提供个方便易 用的使用界面,同时也为具有更高权限的管理用户提供添加、删除新闻的系统维护功能。
新闻发布系统主要需要实现以下一些基本功能:
1 查看新闻功能:任何用户均可以使用查看新闻功能。用户通过在系统导航栏上单击“查看新闻”
超链接,可以进入查看新闻页面。查看新闻功能显示所有新闻,并且使用分页显示的效果,每页显示新闻,用户可通过单击下方的页码或在文本框巾输入页码来跳转到任意一页浏览。这里显示的所有新闻按发布的时间降序排列,以保证最新发布的新闻位于最前面。用户通过单击每条新闻的标题可以查看到新闻的详细内容。
2新闻搜索功能:任何用广均可以使用新闻搜索功能。齐新闻查看页面上,用户可以
通过在“查询类别”下拉列表框中选择按新闻的标题、内容、作者和发布日期等不同的查询方式来搜索符合条件的新闻。这里提供的是模糊搜索功能,即只要在查询字段中包含用户输入的关键字内容就认为是符合查询条件的记录。查询结果同样以分页的方式显示。
3 发布新闻功能:任何用户均可以使用发布新闻功能。用户通过在系统导航栏上单击“发布新闻”超链接可以进入发布新闻页面。发布新闻时,需要填写新闻的标题、内容和发布者姓名,发布时间取当前系统时间,不需要用户填写。
4管理员登录功能:当用户需要使用新闻管理功能时,需要先以管理员身份登录系统。当未登录
用户单击系统导航栏上的“新闻管理”超镕接时,进入管理员登录页面。用户可以在登录页面输入用户名和密码,若登录失败,则重定向到管理员登录页面等待下一次登录。
5新闻管理功能:当用户作为管理员登录系统后,可以进行新闻管理操作,包括对现有新闻的修改和删除。在管理页面上,用户可通过单击每条记录右侧的“编辑”和“删除”超链接来进行操作。当管理员的本次维护工作结束后,可通过单击“管理员退出”超链接来注销管则员身份。
总体设计
在前面对用户需求的分析和研究的过程中,对于本系统中几个主要的功能模块大致有 了一个抽象的认识。下面将通过总体设计,给出新闻发布系统的模块结构、流程描述和用户界面布局。
1 开发与设计的总体思想
新闻发布系统面向各个层次的网络用户,为了使它适合更多的用户使用,系统的界面设计应该尽星做到简洁、友好、方便、易用,用户不需要专门的学习便可熟练操作。
本系统采用B/S模式,服务器端使用JSP进行动态网页的开发。
2 系统模块结构图
依据需求分析结果,新闻发布系统可以分为四个模块:数据库访问模块、新闻查看模块、新闻发布模块和新闻管理模块,如图4—1所示。
3 模块设计
1数据库访问模块:利用JavaBean封装对数据库的操作,主要包括连接数据库、添加、修改、删除、查询数据表、关闭连接等功能。当JSP页面中需要访问数据库时直接调用这个JavaBean即可。数据库访问模块功能树如图4—2所示。
数据库访问模块新闻查看模块新闻发布系统新闻发布模块新闻管理模块
4-1系统模块结构图
加载驱动程序创建连接、执行查询语句数据库访问模块创建连接、执行非查询类语句关闭连接
4-2数据库访问模块
2新闻查看模块:新闻查看模块提供分页显示全部新闻的功能,用户通过单击每条新闻的标题可以查看到本条新闻的详细内容。还可以通过输入查询类别和查询关键字来选择符合条件的新闻浏览。新闻查看模块功能树如图4—3所示。
显示新闻列表新闻查看模块查看详细内容
4-3新闻查看模块
3 新闻发布模块:新闻发布模块提供发布新消息的功能。
4 新闻管理模块:新闻管理模块包括修改新闻和删除新闻的功能。在进入管理模块前,需要以合法的管理员身份登录。新闻管理模块功能树如图4—4所示。
管理员登录新闻管理模块修改新闻删除新闻
4-4新闻管理模块
系统流程描述
系统的流程如图4-5
开始新闻系统首页管理员登陆编辑新闻删除新闻新闻发布新闻查看退出
4-5系统流程图
数据库设计
本系统采用Accesss数据库,在数据库中使用数据表news来存储现有的新闻信息。表的结构如表4-1所示。
表4-1 数据表news的结构
名称新闻ID号新闻标题新闻详细内容新闻作者新闻发布时间字段名称IDTitleContentAutherPubdate数据类型数字(自动编号)文本备注文本日期/时间主键YesNoNoNoNo非空YesYesYesYesYes
另外,还使用了admin数据表存储管理员的信息,表的结构如表4-2所示。
表4-2 数据表admin的结构
名称管理员ID号管理员用户名管理员密码字段名称IDNamePassword数据类型数字(自动编号)文本文本主键YesNoNo非空YesYesYes
详细设计
基于系统需求分析与系统总体设计的结论,本节将分别阐述系统的详细设计和实现过程。
一 访问数据库的JavaBean
由于在本系统的多个JSP页面中都需要访问数据库,因此使用一个JavaBean来专门完成数据库的连接、访问等操作。把数据库操作封装在一个类中,每次需要访问数据库时只要实例化这个类并利用类里面提供的各种公有方法来完成对应的功能即可。这样,既可以节省编程时间,也提高了代码的利用率。
1. 模块描述
负责完成与数据库的连接、访问、关闭等操作。 2. 类的设计与实现
(1) 名称:DBBean.java
(2) 功能:负责完成与数据库的连接、访问、关闭操作 (3) 属性设计:如表4-3所示 表4-3 类属性定义表 属性名 driverStr ConnStr Conn Stmt 属性类型 String String Connection Statement 访问控制 Private Private Private Private 描述 要加载的驱动程序类名 连接数据库url 驱动程序和指定数据库之间的连接对象 语句对象 二 新闻查看模块 新闻查看模块主要提供全部新闻的分页显示、显示新闻的详细内容、按不同的方式搜索新闻
等功能。其中完成新闻显示、搜索的各JSP页面中均需要访问数据库,因此直接调用了刚刚实现并发布好的DBBean来完成数据库操作。 1. 模块描述
提供新闻显示功能、搜索功能。
2. 源文件定义 (1)indexJsp
名称:新闻发布系统首页。
功能:新闻变看页面,默认情况下分页显示全部新闻,并按发布时间降序排列。若
查询条件不为空,则显示符合条件的所有新闻。
输入:查询类别和查询关键字。
处理:获取查询条件,在news表中查找符合条件的记录并按时间将序排列 输出:新闻信息列表。 (2)Lop.htm
名称:系统导航栏页面。
功能:主要负责提供系统的导航功能,用户可以通过导航栏方便地在各个功能
页面间切换。
(3)detail.jsp
名称:显示新闻详细信息页面。
功能:主要负责显示每条新闻的详细内容。当用户单击要查看的新闻标题时,
重新打开一个浏览器窗口显示该条新闻的详信息。为了显示效果更清晰、美观,这里需要将换行
符从“/n”转换成Html语言中识别的标记符号“”或
“
”。 输入:要显示的新闻的id号。
处理:在news表中查找相应的记录 输出:新闻详细内容。
三 新闻发布模块 1.模块描述
提供发布新闻的功能。
2. 源文件定义 (1)add.jsp
名称:新闻发布页而。
功能:提供输入新闻信息的表单,用户需输入新闻标题、新闻内容和发布者姓名来添加新闻。这里使用了客户端验证,检查各部分是否均已填写,避免无效信息提交到后台。新闻的发布时间使用系统的当前时间.无须用户输入。 (2)save.jsp
名称:新闻发布处理页面 功能:负责添加—条新闻。
输入:用户在添加页面输入的信息。
处理:读取用户在add.htm中输入的新闻信息,并作为一条新记录插入到数据表中 输出:重定向到新闻查看页面index.jsp,显示发布结果。
四 新闻管理模块
1.模块描述
提供已有新闻的修改和删除功能。 2.源文件定义 (1)login.jsp
名称:管理员登录页而。
功能:提供管理员登录的表单。 输入:用户名和密码。
处理:显示登录表单,读取错误信息,若存在,则显示错误提示信息。 输出:登录界面或错误提示信息。 (2)verify.jsp
名称:登录处理页面。
功能;负责判断用户是否为合法用户。 输入;用户在登录页面输入的信息。
处理:获取用户在login.jsp页面上输入的用户名和密码,验证是否为admin表中的管理员用户,
若验证通过,则将管理员标志变量写入到session中
输出:若验证通过,重定向到管理页面;否则,回到login.jsp登录页面,并提示错误信息 (3)manage.jsp
名称:新闻管理页面。
功能:负责提供新闻的修改和删除界面,在所有新闻的右侧均显示“编辑”和“删
除”超链接,供管理员操作。另外,还显示“管理员退出”超链按来注销身份。 输入:要删除的新闻id号、查询类别和查询关键字。
处理:获取要删除的新闻id号,在news表中删除此记录。获取查询条件,生成查询SQL语句, 查找符合条件的记录。 输出:新闻管理界面。
(4)edit.jsp
名称:编辑新闻页面。
功能:主要负责显示管理员选中的新闻的各项信息,管理员可在此基础上进行编辑修改。
提供了客户端验证方法,避免无效的信息被提交。 输入:要编辑的新闻的id号。
处理:在news表中查找相应的记录。 输出:编辑新闻界面。
(5)update. Jsp
名称:编辑处理页面。
功能:主要负责编辑新闻信息。 输入:用户在编辑页面输入的信息。
处理:获取管理员在edit.jsp页面上输入的修改信息,更新数据表中的相应记录的字段值
输出:重定向到管理页面
(6)logout.jsp
名称:管理员退出页面。
功能:注销当前的管理员身份, 输入:无。
处理:将session中的所有信息删除。 输出:重定向到系统首页。
(7)check.jsp
名称:登录验证页面。
功能:主要负责验证在本次会话的连接中,用户是否以管理员身份成功登录过
防止未登录用户直接进入管理页面。
输入:无。
处理:判断session中是否存在变量admin,若不存在,则说明该用户没有成功登陆过系统。 输出:若验证不通过,重定向到登陆页面。 小结
本系统是—个简单的新闻管理系统,在实现过程中并未考虑到新闻添加后的审核等安 全方面的问题,在实际应用中可以进行进—步的完善。本系统使用了JDBC技术实现了与后 台数据库的互连,主要使用了JDBC中的几个重要接口,如:DriverManger、connection、 Statement和ResultSet等,利用其中的标准方法实现与数据库的连接、访问、断连等操作, 具备了一个数据库应用程序的最普遍的功能,如添加、修改、删除和查询,所使用的语句和 操作步骤均可能在今后的相似类型的程序中使用到。另外,使用了JavaBean技术封装了对 数据库的常用操作,在使用时只需对写好的JavaBean组件做简单的调用即可,有效地减少 了代码冗余,提高了程序的执行效率。
在对本系统的实现过程中, 首先应了解对<%@include%>,指令的使用,该指令的功能足 包含一个静态文件,通常应用于对网站的导航栏的实现。其次,应了解SQL语言中的like 谓词的使用,通常用它来进行字符串的模糊匹配,可使用通配符“%”和“-”来代表任意 长度字将串和任意单个字符。最后,应重点掌握利用JDBC的标准接口访问数据库的操作方 法,并应对在JSP页面中如何使用JavaBean组件有所了解。
滨 州 学 院
(论文)
题 目 网络基础实践
系 (院) 计算机科学技术
专 业 软件技术 班 级 07级软件技术二班 学生姓名 杜汉昌 学 号 2007110834 指导教师 宋锋 职 称 讲师
二零零九 年六 月 二十二 日