JSP新闻发布系统课设报告.docx
《JSP新闻发布系统课设报告.docx》由会员分享,可在线阅读,更多相关《JSP新闻发布系统课设报告.docx(41页珍藏版)》请在冰豆网上搜索。
程序语言综合课程设计
《程序语言综合课程设计》
设计报告
学 院:
信息工程学院
组 长:
黄敏(计算机中加141,06号)
成员:
刘存国(计算机中加141,16号)
指导老师
杨书新
完成时间:
2016年07月1日
1
目录
第一章需求分析 1
1.1功能需求 1
1.2性能需求 1
1.3用户界面需求 2
1.4安全需求 2
第二章总体设计 3
2.1系统功能描述 3
2.2E-R模型 4
2.3系统功能模块划分 5
2.4系统流程图 6
第三章数据库设计 7
3.1概念设计 7
3.2逻辑设计 7
3.3物理设计 7
第四章详细设计与实现 9
4.1前台界面和功能实现 9
4.2后台界面和功能实现 12
总结 25
致谢 25
第一章需求分析
1.1功能需求
本系统的目的是实现新闻发布系统的基本功能。
(1)查看新闻
任何用户均可以使用查看新闻功能,查看新闻功能在新闻首页显示最新新闻,用户可以点击首页的新闻标题链接查看相关新闻内容,可以根据新闻首页的分类新闻(如国内、社会等)查看你想要了解的新闻消息,也可以通过或者通过点击自己感兴趣图片的下方链接来查看相关新闻。
(2)站内新闻检索功能
任何用户均可以使用新闻搜素功能,可通过关键词以及标题来搜索符合的新闻。
(3)Admin管理员登录功能
当用户需要使用新闻管理功能时,需要先以管理员的身份登录系统,在地址栏中输入管理员登录的地址,进入登录页面。
用户在登录页面输入用户名和密码以及随机产生的验证码,若登录失败,则清空输入,并简要显示错误原因,管理员登录页面等待下一次登录,否则登录成功,从而使用新闻管理功能。
(4)新闻类别管理
Admin管理员登录后,可以对新闻的类别进行添加修改删除功能。
(5)新闻发布功能
获得权限的用户可以使用新闻发布功能。
用户通过点击“添加新闻”项进入新闻发布页面,填写新闻的主题、标题、作者、摘要以及相关内容和图片,按提交键即可,发布时间取当前系统时间,不需用户填写。
(6)新闻管理功能
管理员登录后,可进行新闻管理操作,包括对现有新闻的删除和修改。
在管理页面上,用户可通过单击每条记录右侧的“修改”或“删除”超链接来进行操作。
当管理员本次维护结束后,可通过“loginout”退出该页面。
1.2性能需求
(1)Tomcat可以免安装,体积小,运行效率高,能很方便的在Windows和linux系统下发布。
同时使用mysql数据库,安装方便且免费使用,mysql在Windows和linux下都能被良好的支持。
而JSP不但可以使用Myeclipse,也可使用dreamweaver编辑,甚至记事本等文本编辑工具即可编写,因此对系统运行环境非常低,小型服务器和家用电脑均作为本系统运行环境。
(2)界面设计友好美观、数据要准确安全可靠;实现对新闻信息的添加、修改、删除,便于更新网站内容;系统最大限度地实现易维护性和易操作性;对于一个新闻发布系统而言新闻信息是很多的,而且使用的人数较多,所以对系统的安全性有着比较高的要求,对于数据库,要设置不同用户的权限,数据的修改必须由合法用户操作。
1.3用户界面需求
网站页面是用户直接访问的页面,所以必须要让用户访问就能看出来这个网站的主题思想是什么,一下就能体现出这个网站的中心内容。
并且首页的模块之间要联系紧密,更好的让用户理解明白。
1.4安全需求
由于使用JSP编写的程序代码隐蔽,在客户端仅可以看到由JSP输出的动态HTML文件,因此只要编写程序时注意严谨性,防止SQL注入和cookies欺骗,整个系统的安全就能得到保障,同时也能防止别人抄袭源代码。
本系统的管理员可以有多名,为防止暴力猜解密码,在设计后台登录模块时需考虑验证码的设计。
第二章总体设计
高效的新闻发布系统可简便维护工作,使用新闻发布系统,管理员只需设计标题、内容和图片等新闻,系统将自动生成对应的网页,使新闻发布和管理变得很轻松。
而对于前台界面,为适应多个用户的需求,必须达到友好、方便、简洁和易用的特点。
本文将根据前期的需求分析,对新闻发布系统进行总体设计。
2.1系统功能描述
新闻发布及管理系统包括新闻类别管理、新闻发布管理、新闻查询和图片处理等模块。
具体描述如下。
1.新闻类别管理:
(1)新闻类别的录入,包括类别名称等信息;
(2)新闻类别的修改;
(3)新闻类别的删除;
(4)新闻类别的查询。
2.新闻发布管理:
(1)基本新闻信息的发布,包括新闻标题、新闻内容和所属类别等;
(2)基本新闻信息的修改;
(3)基本新闻信息的删除;
3.图片处理模块:
(1)选择图片文件;
(2)上传图片文件;
(3)存储图片新闻;
(4)修改新闻图片;
(5)删除新闻图片;
(6)在网页中浏览新闻图片。
4.新闻查询模块:
(1)按照新闻类别分页显示新闻;
(2)按照日期分页显示新闻;
(3)按照新闻发布者查询。
5.系统用户管理功能:
(1)系统用户信息的录入,包括用户名和密码等信息;
(2)系统用户信息的修改;
(3)系统用户信息的删除。
2.2E-R模型
根据分析可划分出新闻信息、用户信息、评论信息以及新闻信息类别和几个实体,具体E-R模型如下。
(1)新闻信息
新闻信息
主题
上传图片
内容
标题
作者
摘要
图2-1新闻信息实体的E-R图
(2)用户信息
用户信息
邮箱
用户名名
性别
密码
图2-2用户信息实体的E-R图
(3)新闻类别信息
新闻类别信息
类别名称
类别ID名
图2-3新闻类别信息实体的E-R图
M
1
拥有
用户信息
新闻信息
新闻类别信息
M
1
属于
图2-4ER关系模型图
2.3系统功能模块划分
从功能的内容可以看到,该新闻发布系统可以实现6个完整的功能。
我们根据这些功能,设计出系统的功能模块。
新闻发布及管理系统
系统用户管理
新闻更新管理
新闻查询模块
新闻添加管理
新闻发布管理
新闻类别管理
图2-5系统功能模块图
新闻发布及管理系统的功能模块之间的关系:
前台系统
后台系统
新闻删改管理
基本信息发布
查看新闻
新闻图片发布
新闻类别管理
数据库
图2-6新闻发布及管理系统的功能模块图
2.4系统流程图
开始
新闻系统首页
类别管理
新闻发布
管理员登录
新闻修改
新闻删除
查看新闻
注册登录
退出
图2-7系统的基本流程图
任何用户从浏览器输入地址进入本新闻发布系统后首先进入新闻主界面,即可进行新闻的查看,根据标题或关键字进行浏览自己喜欢的新闻。
点击登录与注册,进入登录页面,未注册的用户能够选择注册,已注册的用户输入自己的用户名和密码可进入后台管理,有新闻的发布、新闻的管理、新闻的类别管理等。
点击loginout即可退出本新闻系统。
第三章数据库设计
3.1概念设计
新闻发布系统中,主要需要以下数据来保持相应的信息:
1.新闻信息表:
用于保存新闻信息的基本信息。
2.管理员信息表:
用于保存新闻发布系统管理员的信息。
3.新闻主题信息表:
用于保存新闻主题信息。
3.2逻辑设计
本系统主要涉及四张表:
新闻信息表(newsinfo)、管理员表(userinfo)、主题信息表(topic)。
前面我们已给出他们的E-R图。
上述四表的关系如下图所示:
图3-1逻辑关系图
3.3物理设计
本系统主要涉及四张表:
新闻信息表(newsinfo)、管理员表(userinfo)、主题信息表(topic)。
我们采用了MySql数据库,在数据库中使用数据表来储存现有的新闻信息。
1.存储新闻信息的newsinfo表,其中表的结构如表3-1所示。
表3-1新闻信息表newsinfo
名称
字段
数据类型
主键
非空
新闻ID
id
Int(10)
是
是
新闻标题
title
Varchar(50)
否
是
新闻发布人
author
Varchar(30)
否
否
新闻发布时间
time
Varchar(20)
否
是
新闻图片路径
pic_path
Varchar(80)
否
否
新闻内容
content
Varchar(100)
否
是
新闻摘要
abstrate
Varchar(50)
否
否
2.使用数据表userinfo来储存管理员的信息,表的结构如下表3-2所示。
表3-2管理员信息表userinfo
名称
字段
数据类型
主键
非空
管理员ID
tid
Int(11)
是
是
管理员名称
tname
Varchar(20)
否
是
管理员密码
tpass
Varchar(30)
否
否
3.使用数据表topic来储存新闻主题的信息,表的结构如下表3-4所示。
表3-4新闻类别信息名称topic
名称
字段
数据类型
主键
非空
主题ID
id
Int(11)
是
是
主题名称
topic_name
Varchar(30)
否
是
第四章详细设计与实现
4.1前台界面和功能实现
4.1.1主页功能介绍
1.在index.jsp页面有普通用户登录窗口,用户可以在主页面浏览新闻,和查看热点新闻列表和每条新闻的详情,用户点击“登录与注册”后在窗口输入账号密码后,登入成功,或者注册。
2.主页面的名称为index.jsp如下图
图4-1前台主页面图
任何用户输入域名后直接进入到主页面,以上是从数据库加载的新闻列表和新闻话,题在主页实现的功能有:
1.查看从数据库加载出来所有的新闻主题、新闻列表;
2.用户可以点击右上角的“登录与注册”,跳转到后台登录界面。
3.主页的主要实现代码
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"
pageEnc