1、 摘 要 本系统关键目标就是为用户提供一个方便、立即网上新闻公布、管理平台。本系统开发依据要求经过系统需求分析、设计、实现等过程,完成了系统功效模块设计和实现。 本系统依据软件工程设计思想,基于JSP关键组件技术,使用了PHP编程语言和mysql数据库管理系统来实现。利用本系统,管理者能够登录网站后台进行添加新闻、检索新闻,管理员能够直接在管理界面公布新闻信息并依据需要对新闻进行维护。 关键词:新闻公布;PHP;mysql 目 录 目 录 3 2. 系统需求分析 4 2.1 功效需
2、求 4 2.2 性能需求 4 2.3 系统可行性分析 5 2.3.1 社会可行性 5 2.3.2 经济可行性 5 2.3.3 技术可行性 5 3. 系统总体设计 5 3.1 系统功效模块 6 3.1.1 用户功效模块 6 3.1.2 浏览功效模块 6 3.1.3 评论模块 7 4. 系统具体设计 7 4.1 浏览功效模块实现 8 4.1.1 网站总体预览图 8 4.1.2 首页展示 8 4.2 用户功效模块实现 9 4.2.1 登录模块实现 9 4.3 评论模块实现 10 4.3.1 查看评论 10 4.3.2 发表评论 10 4.4 数据库设计 10
3、 4.4.1 概念模型设计 12 4.4.2 逻辑模型设计 12 5. 结论 16 参考文件 16 1 功效需求 本系统关键是面向付费用户管理新闻,所以网站前台应满足一下功效: (1)新闻添加: 用户进入网站后台,能够分类公布实时新闻,包含新闻标题,内容,图片,视频。 (2) 新闻管理: 用户能够对新闻进行排序,修改,删除。 (3) 评论管理: 包含对评论修改,删除,,排序。对新闻浏览量查看,排序,加精 2.2 性能需求 a. 功效完整性; b. 数据库安全性; c. 软件可维护和可靠性; d. 程序段可移植性; e. 页面功效齐全。 2.3
4、3 技术可行性 本系统采取B/S模式,即浏览器/服务器模式,在这种模式下无需安装用户端,只需计算机能够连接到因特网即可进行操作。 项目开发工具采取xamp集成软件开发,方便当地测试 采取php开发技术,含有简单易用、完全方面向对象和平台无关性且安全可靠特点 数据库采取mysql,支持十多个操作系统,跨平台、可移植性强, 3. 系统总体设计 系统功效模块图 图3-1 系统功效模块图 3.1 系统功效模块 本系统功效模块关键分为四块:用户模块、浏览模块、评论模块。 3.1.1 用户功效模块 (1) 注册模块:在此模块中,用户能够利用真实姓名、密码、性别、用户邮箱进行
5、注册。 (2) 登陆模块:检验用户是否注册,假如未注册将直接跳转入注册页面,另外还能够检验用户是否为正当用户; (3) 基础信息模块:用户能够经过此模块来修改自己基础信息。 3.1.2 浏览功效模块 (1)新闻介绍:用户可在此模块中浏览新闻,包含新闻标题,新闻内容及 评论等信息; (2)新闻分类:用户可在此模块中分类检索新闻,查看自己感爱好新闻 内容; 3.1.3 评论模块 (1)查看评论:用户能够浏览整个网页中用户评论; (2)发表评论:用户能够在发表自己言论。 4. 系统具体设计 用户视图 图3-2 用户视图 4.1 浏览功效模块实现
6、4.1.1 网站总体预览图 图4-1 首页展示 用户界面是用户经过验证后,用户操作平台。 4.1.2 首页展示 (1)导航菜单 系统左侧是菜单栏区域,用户能够在此进行个人操作。管理员在此能够进行新闻添加、删除和修改。 图4-2 侧边菜单栏 (2)信息显示 首页包含新闻分类,点击新闻能够查看新闻内容。如点击某个新闻,则直接跳转入该新闻具体介绍页面。 图4-3 信息分类 4.2 用户功效模块实现 4.2.1 登录模块实现 用户能够点击登录链接跳转入登录页面。 图4-4 管理员登录 4.3 评论模块实现 4.3.1 查
7、看评论 用户进入网站后,能够查看评论。 图4-5 用户评论 4.3.2 发表评论 用户登录后,能够在网站发表评论。点击发表评论按钮后,会展开隐藏部分,再次单击又会将发表评论隐藏起来,不需要页面跳转。目前发表评论人和评论时间可依据session和系统时间自动获取到。 4.4 数据库设计 a.本系统采取mysql数据库管理系统实现,对数据库和文件服务器访问程序JavaBean封装; b.系统结构设计 系统采取三层模型,结构图以下: 图4-6 系统结构设计 数据库封装相关代码以下: package Admin; import java.sql.Connec
8、tion; import java.sql.DriverManager; import java.sql.SQLException; public class Connected { static Connection con=null; public static Connection getcon(){ String CLASSNAME="com.mysql.jdbc.Driver"; String url="jdbc:mysql://localhost:3306/news"; try { Class.forNam
9、e(CLASSNAME); } catch (ClassNotFoundException e) { e.printStackTrace(); } try { con=DriverManager.getConnection(url,"root","910610"); } catch (SQLException e) { e.printStackTrace(); } return con; } public static Connection releaseCon(){ try { con.close(
10、); } catch (SQLException e) { e.printStackTrace(); } return con; } } 4.4.1 概念模型设计 数据库概念模型依据系统需求分析,和网站工作过程内容和数据步骤分析,设计以下数据项和数据结构。 管理员:管理员ID、管理员名、密码; 新闻信息:ID、标题、标签、内容; 一级标题:ID、新闻标题、创建者、创建时间; 二级标题:ID、新闻标题、内容、创建者、创建时间、一级标题ID; 评论:评论ID、评论内容、评论时间、二级标题ID; 4.4.2 逻辑模型设计 依据上面
11、数据库概念模型设计数据库逻辑模型。本网站数据库名为news,其中各个表设计结果以下所表示。每个表格表示在数据库中一个表。 表1 User(用户) 字段名称 数据类型 说明 备注 id Int(4) ID 主键,自动编号 uname Varchar(50) 用户名 Not null,唯一 upass Varchar(50) 密码 Not null 设计代码以下: -- ---------------------------- -- Table structure for user -- ---------------------------
12、 CREATE TABLE `user` ( `id` int(4) NOT NULL auto_increment, `uname` varchar(50) NOT NULL, `upass` varchar(50) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=gbk; 表2 flt(一级标题) 字段名称 数据类型 说明 备注 id Int(4) ID 主键,自动编号 titleName Varchar(50) 标题名 Not null,唯一 c
13、reator Varchar(50) 创建者 Not null createTime datetime 创建时间 Not null 设计代码以下: -- ---------------------------- -- Table structure for flt -- ---------------------------- CREATE TABLE `flt` ( `id` int(4) NOT NULL auto_increment, `titleName` varchar(50) NOT NULL, `creator` varchar(50) NOT
14、NULL, `createTime` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=gbk; 表3 slt(二级标题) 字段名称 数据类型 说明 备注 id Int(4) ID 主键,自动编号 titleName Varchar(50) 标题名 Not null,唯一 nr Varchar() 内容 Not null creator Varchar(50) 创建者 Not null createTime datetime 创建时
15、间 Not null fltID Int(4) 一级标题ID Not null 设计代码以下: -- ---------------------------- -- Table structure for slt -- ---------------------------- CREATE TABLE `slt` ( `id` int(4) NOT NULL auto_increment, `titleName` varchar(50) NOT NULL, `nr` varchar() NOT NULL, `creator` varchar(50
16、) NOT NULL, `createTime` datetime NOT NULL, `fltId` int(4) NOT NULL, PRIMARY KEY (`id`), KEY `flt_slt_fltId` (`fltId`), CONSTRAINT `flt_slt_fltId` FOREIGN KEY (`fltId`) REFERENCES `flt` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=gbk; 表4 comments(评论) 字段名称 数据类型 说明 备注 id Int(4)
17、 ID 主键,自动编号 cnr Varchar(200) 评论内容 Not null createTime datetime 创建时间 Not null sltId Int(4) 二级标题ID Not null 设计代码以下: -- ---------------------------- -- Table structure for comments -- ---------------------------- CREATE TABLE `comments` ( `id` int(4) NOT NULL auto_increment,
18、`cnr` varchar(200) NOT NULL, `createTime` datetime NOT NULL, `sltId` int(4) NOT NULL, PRIMARY KEY (`id`), KEY `slt_comments_sltId` (`sltId`), CONSTRAINT `slt_comments_sltId` FOREIGN KEY (`sltId`) REFERENCES `slt` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=gbk; 5.
19、 结论 JSP从推出至今时间也不算漫长,因为它含有开发简单,功效强大和灵活且跨平台等优点,现在已被广泛接收,成为开发动态网络站点关键技术之一。JSP正慢慢成为动态Web应用程序开发环境主流。 基于Web新闻公布系统是一个新型新闻传输方法,伴随现代信息技术发展,它将越来越受到大家关注并逐步替换传统新闻公布形式,二十一世纪它将成为构筑电子新闻体系关键手段。而基于Web动态交互式新闻公布系统则是现代新闻公布网络中不可缺乏一部分。 本文提出了一个基于Web新闻公布系统,该系统在线公布,多栏目管理,是新闻信息立即、正确得以公布。 不过因为本人学习JSP时间不长,程序设计方面存在有缺点,有些简单想法却用了很长代码来实现,造成了代码冗余,还有部分想法没有实现。这些我将在以后学习中不停完善自己。 参考文件 [1] 张峋,杨三成.JSP和JDBC应用详解.中国铁道出版社. [2] 张海藩.软件工程导论.清华大学出版社. [3] 郭真.JSP程序设计教程.人民邮电出版社. [4] 方睿,韩桂华.数据库原理及应用.机械工业出版社. [5] 孙卫琴.Java面向对象编程.电子工业出版社. [6] 贾素玲,王强.HTML网页设计.清华大学出版社.






