云南大学软件学院期中课程报告
Middle Examination Report
School of Software, Yunnan University
序号
学号
20061120079
个人成绩
姓名
魏芳
成绩
1
2
3
4
5
20061120146
陈立涛
20061120003
何臻力
20061120113
李炎
学
期: 2008 年秋季学期
课程名称: 《基于 Java 的 XML 技术及应用》
任课教师:
小 组 长:
李浩
陈立涛
联系电话:
15987172735
电子邮件:
litaoynu@163.com
完成提交时间:2008 年 11 月 3 日
作业截止时间:2008 年 11 月 9 日
Middle Examination Report
小组成员分工表
序号
学号
姓名
分工
备注
1.
20061120146 陈立涛
2.
20061120003 何臻力
3.
20061120079 魏芳
4.
20061120113 李炎
1. 后台管理页面的实
现(记者、副编辑、
总编辑、系统管理员
的所有页面的实
现),前台页面的部
分实现(新闻搜索功
能的实现)。
2. Css 的实现。
3. 数据库的部分设计。
4. 部分文档编写
1.
前台页面的
实现(前台的排版、
前台新闻的显示及
其相关图片的显
示)。
小组长
成员
2.
3.
1.
2.
3.
4.
1.
2.
的实现
计
JavaScript
数据库的设
大多系统流
程的设计
原型设计
大多 Xml 文
成员
档的设计
写
部分文档编
部分系统流
程的规划。
部分 xml 文
成员
档的设计。
2
School of Software, Yunnan University. (2008)
基于 java 的 XML 技术与应用
一.项目介绍
(1) 系统功能介绍
本次项目做一个新闻发布系统(新闻发布网站)。该网站需要为用户提供
后台管理和前台新闻发布的功能,后台管理为用户提供新闻发布平台,后台
角色分记者、副编辑和总编辑。每一种角色又都分别有六种类型,分别负责
六个不同的板块。由记者提交新闻草稿,副编辑对新闻进行审核和修改,由
副编辑提交至总编辑处,由总编辑进行审核发布;前台新闻发布,根据不同
的类型将新闻分类显示,搭建良好的前台页面以显示新闻,提供最新新闻列
表,并且新闻能够实时刷新功能,使新闻能够被更新,提供用户新闻查询的
功能,用户可以输入关键字查询新闻,显示查询新闻。以上为系统的基本功
能,如下图(1-01)所示:(注:图中所示功能非本项目的全部功能)
、
新闻发布系统
前台管理
后台管理
新闻搜索
新闻查询和查看
前方记者
副编辑
总编辑
系统管理员
提
交
新
闻
草
稿
查
看
未
审
核
新
闻
修
改
未
审
核
新
闻
删
除
未
审
核
新
闻
审
核
未
审
核
新
闻
打
回
未
审
核
新
闻
发
布
已
审
核
新
闻
打
回
已
审
核
新
闻
添
加
用
户
删
除
用
户
修
改
用
户
信
息
(2)软件环境介绍
(图 1-01)
本次项目的软件环境基于开源软件的使用基础上开发的,所以使用的
开发环境是:前台使用 JSP+CSS 开发,后台使用 JSP + MySQL +XML 做为基
础,使用 JavaBean 对数据进行存取。如下图所示:
3
School of Software, Yunnan University. (2008)
Middle Examination Report
前台页面
JSP+CSS
JavaBean
MySQL 数据
库
JavaBean
XML 文件
开发工具:
①集成开发环境:MyEclipse 6.5;
②服务器:Apache Tomcat 6.0;
③数据库:MySQL 5.0;
④数据库管理系统:Navicat MySQL 8.0;
⑤JavaBean 开发使用:JDK 5.0
6
XML 开发工具:Altova XMLSpy(R) 2006 企业版;
二.数据存储描述
本项目数据存储介质为 XML 和 MySql。介绍如下:
1.MySql
数据库 MySql 中一共有两张表 user 和 news。截图如下:
4
School of Software, Yunnan University. (2008)
基于 java 的 XML 技术与应用
(1)user 中存放着记者、副编辑、总编辑和系统管理员的信息。每一个成员都包
括 id、username、password、date(加入日期)、role(四个角色,前方记者、
副编辑、总编辑、系统管理员)、plate(六个板块,财经、娱乐、军事、科
学、体育、国际)、email、phonenumber、zipcode。
(2)news 中存放着新闻的最基本的元素,包括 id(新闻的唯一标示)、新闻标题、
新闻类型、编写记者、新闻时间、提交时间、新闻地点、新闻状态(五种状态,
未审核、已审核、记者需要修改、副编辑需要修改、已发布)、编写副编辑、
编写总编辑、图片路径(新闻所需的图片的路径)。
注:由于从数据库中取数据更方便,所以本项目采用将新闻的全部信息存储到
XML文档中的同时,将新闻标题、编写记者、新闻时间、新闻id、新闻状态
存储到数据库中,实现的过程中中会更简便实用。
2.XML
本项目中,用 XML 来存储新闻,在本 XML 文档中,每一条新闻都是一个<
前方记者新闻 ID=”X”>,用 ID 来作为新闻的唯一标示,每一条新闻都包括新闻
标题、新闻类型、编写记者、新闻时间、提交时间、新闻地点和新闻内容。
(1)当前方记者在后台提交新闻草稿时,新闻草稿则会存到 XML 中。新闻状态存
储在 MySql 中,状态有未审核、已审核、记者需要修改(被副编辑打回的新
闻)、副编辑需要修改(被总编辑打回的新闻)和已发布。记者提交的新闻状
态为“未审核”。
(2)相应版块的副编辑可以看到记者提交的新闻草稿(即新闻状态为“未审核的新
闻”),并且可以修改,修改之后如果副编辑审核通过,则相应的 XML 中的新
闻则会被修改,并且数据库中的相应的新闻状态改为“已审核”;如果副编辑
需要记者重新修改,则点击“打回”,此新闻草稿则被打回到相应的编写记者,
记者需重新修改,数据库中此新闻对应的新闻状态为“记者需要修改”。
5
School of Software, Yunnan University. (2008)
Middle Examination Report
(3)相应板块的总编辑会看到副编辑审核通过的新闻(即新闻状态为“已审核”
的新闻),并且可以修改,修改之后如果总编辑发布通过,则相应的 XML 中的
新闻则会被修改,并且数据库中对应的新闻状态改为“已发布”. 如果总编
辑需要副编辑重新修改,则点击“打回”,此新闻则被打回到相应的副编辑,
副编辑需重新审核,数据库中此新闻对应的新闻状态为“副编辑需要修改”。
状态为“已发布”的新闻则会立即在前台页面上相应的板块中显示出来。
XML 文档的编写如下:
<前方记者>
<前方记者新闻 ID="1">
<新闻标题>
北京奥林匹克公园免费开放引来游客潮
新闻标题>
<新闻类型>
财经
新闻类型>
<编写记者>
陈立涛
编写记者>
<新闻时间>
-8-9
新闻时间>
<提交时间>
-11-1
提交时间>
<新闻地点>
北京
新闻地点>
月11日,两名外国游客在国家体育场(鸟巢)前拍照。
<新闻内容>
新闻内容>
前方记者新闻>
<前方记者新闻 ID="2">
<新闻标题>
青岛海底世界
新闻标题>
6
School of Software, Yunnan University. (2008)
基于 java 的 XML 技术与应用
<新闻类型>
经济
新闻类型>
<编写记者>
魏芳
编写记者>
<新闻时间>
-9-1
新闻时间>
<提交时间>
-9-2
提交时间>
<新闻地点>
青岛
新闻地点>
<新闻内容>
青岛海底世界引来万名游客。
新闻内容>
前方记者新闻>
前方记者>
三.界面截图和功能描述
1. 后台管理功能截图描述
登陆界面如下:
7
School of Software, Yunnan University. (2008)
Middle Examination Report
(图 1-02)
后台登陆界面只有一个,系统会根据输入的用户名,来转向此用户名
对应的角色(前方记者、副编辑、编辑、后台管理员)
2.记者功能截图描述
①记者后台主页面:
(图 1-03)
记者后台主界面有如图 1-03 所示的功能:提交文章,查看修改未审核文章(对
提交没有经过审核的文章进行修改或查看),查看已审核文章(点击查看已经审
核通过的文章),查看需要重新修改的新闻(点击查看被打回需要修改的文章),
8
School of Software, Yunnan University. (2008)