新闻发布系统实训报告
石家庄科技信息职业学院 课程设计(实训)报告
系 部 _ 信息工程系__ 专 业 _____________ 班 级 学 号 ____________
姓 名 _______________课 题 _____________
指导教师 报告成绩 _ _
日 期:2011年 12 月 28 日
10软件技术 新闻发布系统
摘要
随着网络技术的不断发展,网络应用已经渗透到人类社会的各个角落。在科学技术飞速发展的今天,Internet逐渐走入到人们的生活当中,人们可以在闲暇心情时遨游在网络中,而Internet又是以网站的形式体现出来的。通过网站的访问,人们可以进行电子邮件的传送、文件传输、远程登陆、网上查询、网上交流,足不出户便可以知道外面的世界。
在这样的信息时代中,用户对信息的需求量、广泛程度和时效性的要求日趋提高,传统的报纸杂志已经远远满足不了人们的需求。是网络改变了我们的生活,人们已经喜欢上上网,在网络上我们便能够了解得到社会上的各种大事小事,这便是新闻发布系统的成效。
新闻发布系统是网站上用于用户查询浏览新闻的一个系统,是用户查看社会信息的园地。只需要输入自己所要了解的事件的名称,再轻按下Enter键,那么你就可以知道整个事件的来龙去脉。
网站新闻发布系统,又称为信息发布系统,是将网页上的某些需要经常变动的信息,类似新闻、新产品发布和业界动态等更新信息集中管理,并通过信息的某些共性进行分类,最后系统化、标准化发布到网站上的一种网站应用程序。网站信息通过一个操作简单的界面加入数据库,然后通过已有的网页模板格式与审核流程发布到网站上。
当网络刚刚发展起来的时候,由于信息量比较少以及技术上的原因,大部分网站都是采用静态的方式来发布和管理信息的。但是随着电脑和网络的越来越普及,网站也越来越多,使用网络资源的人也越来越多,网站需要更新的信息量也越来越大,特别是新闻发布的频率很高,如果使用静态的新闻页面,则维护工作将会非常烦琐,管理员每天需要制作大量的网页,从而会浪费很多时间和精力,但自从有了动态网页的网络技术,这个事情将变的非常容易,如果采用动态的新闻发布管理系统,则工作量将大为减少,管理员只要设置标题、内容和图片就可以了,系统将自动生成对应的网页,而且技术上出现问题的机会也会大大减少。
关键词:新闻发布系统;新闻管理;用户管理
目录
一、需求分析 (4)
1.1系统概述 (4)
1.2数据库设计 (4)
二、详细设计 (7)
2.1注册新闻功能 (7)
2.2修改新闻功能 (7)
三、功能实现 (7)
3.1用户注册模块功能 (7)
3.2修改新闻模块功能 (10)
四、测试 (13)
4.1用户登录功能 (13)
4.2用户注册功能 (14)
4.3修改主持信息功能 (14)
4.4删除新闻功能 (15)
4.5添加新闻功能 (16)
4.6新闻显示功能 (16)
4.7 管理用户 (17)
4.8注销 (17)
五、总结 (18)
六、参考文献 (19)
前言
Internet的蓬勃发展,使新闻的传播方式发生了巨大的变化,传统的信息传播媒体电视、广播、报纸已经不再是人们茶余饭后的主要精神甜点,人们更多的开始关注网络新闻。由于互联网所容纳的信息量大、内容丰富、信息及时、准确,更有相关信息的全面的介绍与比较,大大地方便了人们的阅读,因此在短短几年的时间里,互联网便济身于众多媒体之间,并具有相当一部分媒体人群。借此东风,新闻网也迅速发展起来,它内容丰富,涉及到商业、工业、农业、银行、财政、教育、娱乐、信息等各个产业,信息量大,不仅有实事新闻,还有相关的行业信息,同时新闻网具有互联网所具备的一切特性。在全球网络化、信息化的今天,新闻网迅速发展,大大地丰富了人们的生活,不知不觉中,它已经成为人们生活中不可或缺的重要组成部分。随着计算机科学的发展,数据库技术在Internet 中的应用越来越广泛,为广大网络用户提供了更加周到和人性化的服务。个性化已逐渐成为当今Web应用的潮流。利用JSP技术开发的网站新闻管理系统,实现了网站新闻的动态管理,因为可以用来动态发布新闻信息,所以使得对信息的管理更加及时、高效,提高了工作效率。
一、 需求分析
1.1系统概述
本系统是新闻发布系统。由于网站新闻需要频繁性更新,每次更新管理员都要到服务器上更新,给管理员管理网站造成不便,因这种需求本系统诞生了。
在系统开发过程中寻找需求是一件十分重要的工作,在认真分析和调查后确定了本系统的需求要求。
本系统参与者:管理员、普通用户、浏览者。 系统功能模块:
新闻浏览 用户登陆 用户注册 用户修改信息 管理新闻 添加新闻 管理用户
注销
图2-1
1.2数据库设计 (1)概念设计
1.1User 的关系E-R 图
浏览新闻 用户登录
注册用户
修改注册信息
添加新闻
管理新闻
注销
管理用户
新闻发布系统
User
id
username
User 的关系E-R 图
1.2 news 的关系E-R 图
news 的关系E-R 图 1.3newstype 的关系E-R 图
newstype 的关系E-R 图 (2)逻辑设计
数据库命名为mynews ,三张表user ,news ,newstype 。
User 表字段(id, username, password )
news 表字段(id, title, content, releaseDate, userID, newsTypeID )
newstype 表字段(id, typeName,)
(3)物理设计
(4)Navicat MySQL Data Transfer
news
newsTypeID
userID
releaseDate
content
title
id
newstype
typeName
id
(5)Source Server : localhost_3306
(6)Source Server Version : 50146
(7)Source Host : localhost:3306
(8)Source Database : news_publish
(9)Target Server Type : MYSQL
(10)Target Server Version : 50146
(11)File Encoding : 65001
(12)Date: 2011-06-11 14:37:32
(13)SET FOREIGN_KEY_CHECKS=0;
news表
(14)DROP TABLE IF EXISTS `news`;
(15)CREATE TABLE `news` (
(16) `id` int(11) NOT NULL DEFAULT '1',
(17) `title` varchar(100) DEFAULT NULL,
(18) `content` text,
(19) `releaseDate` date DEFAULT NULL,
(20) `userID` int(11) DEFAULT NULL,
(21) `newsTypeID` int(11) DEFAULT NULL,
(22) PRIMARY KEY (`id`),
(23) KEY `userID` (`userID`),
(24) KEY `newsTypeID` (`newsTypeID`),
(25) CONSTRAINT `news_ibfk_2` FOREIGN KEY (`newsTypeID`) REFERENCES `newstype` (`id`),
(26) CONSTRAINT `news_ibfk_1` FOREIGN KEY (`userID`) REFERENCES `user` (`id`)
(27)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
(28)INSERT INTO `news` VALUES ('1', 'nishi shabi', 'awgseg', '2011-06-11', '2', '2');
newstype表
(29)DROP TABLE IF EXISTS `newstype`;
(30)CREATE TABLE `newstype` (
(31) `id` int(11) NOT NULL DEFAULT '1',
(32) `typeName` varchar(100) DEFAULT NULL,
(33) PRIMARY KEY (`id`)
(34)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
(35)INSERT INTO `newstype` V ALUES ('1', '大说');
(36)INSERT INTO `newstype` V ALUES ('2', '会议记录');
(37)INSERT INTO `newstype` V ALUES ('3', '自拍');
user表
(38)DROP TABLE IF EXISTS `user`;
(39)CREATE TABLE `user` (
(40) `id` int(11) NOT NULL DEFAULT '1',
(41) `username` varchar(20) DEFAULT NULL,
(42) `password` varchar(20) DEFAULT NULL,
(43) PRIMARY KEY (`id`)
(44)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
(45)INSERT INTO `user` V ALUES ('1', '李建伟', '123456');
(46)INSERT INTO `user` V ALUES ('2', '李建伟', '123456');
二、详细设计
2.1用户注册功能
registerUser.jsp页面负责提交新用户注册信息,信息提交给Struts,有RegisterActionForm.java把表单数据接收过来封装,Register.java从FormBean (RegisterActionForm.java)中把数据提取出来,进行检测,首先检测用户名,检查是否已被注册,此过程用到myutils包中的UserUtils类。
此系统支持汉化用户名,所以用户名还要进行编码处理,用以保障用汉字注册用户名的用户。
注册成功返回success.jsp 否则返回error.jsp页面。
2.2修改新闻功能
此模块登陆后才能被激活,此模块是普通用户设计的,管理员不可以在客户端修改信息,modifyUserMess.jsp页面负责修改。
当用户登陆后,点击修改,GetUserOldMessAction.java负责查询用户信息,得到信息后,把信息存放到UserMessage.java的实例化对象userMess中,然后modifyUserMess.jsp页面引入userMess对象获得旧的信息,修改后提交给ActionServlet.java类,ActionServlet根据Struts-config.xml中的URL配置再转发到ModifyUserMessAction.java,经过处理后最终存入数据库中。
三、功能实现
3.1用户注册模块功能
function validate(){
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
var rePassword = document.getElementById("rePassword").value;
if(username == null || username.length < 1){
alert("请填写用户名");
return false;}
if(password.length < 1){
alert("请填写密码!");
return false;}
if(rePassword.length < 1){
alert("请填写确认密码!");
return false;}
if(rePassword != password){
alert("两次密码不一样");
return false;}
return true;}
您好: value="#https://www.360docs.net/doc/f410414062.html,ername"/>
private int newsTypeID;
private String typeName;
private List
private NewsType newsType;
public int getNewsTypeID() {
return newsTypeID;}
public void setNewsTypeID(int newsTypeID) {
this.newsTypeID = newsTypeID;}
public List
return allNewsTypes;}
public void setAllNewsTypes(List
public String getTypeName() {
return typeName;}
public void setTypeName(String typeName) {
this.typeName = typeName;}
public NewsType getNewsType() {
return newsType;}
public void setNewsType(NewsType newsType) {
this.newsType = newsType;}
public String createNewsType(){
NewsType newsType = new NewsType();
newsType.setTypeName(this.typeName);
NewsTypeService newsTypeService = new NewsTypeServiceImpl();
newsTypeService.createNewsType(newsType);
this.allNewsTypes = newsTypeService.queryAllNewsTypes();
this.addActionMessage("?????");
return SUCCESS;
}
1-1 注册前信息图
1-2 注册后信息图
3.2修改新闻模块功能
updateNews.jsp (负责新闻查看修改)部分代码:
<%
java.sql.Date date = new java.sql.Date(new
java.util.Date().getTime());
%>
您好: value="#https://www.360docs.net/doc/f410414062.html,ername"/>