




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
新闻发布系统 摘要 摘要 随着计算机科学的发展 数据库技术在 Internet 中的应用越来越广泛 为广大网络用户提 供了更加周到和人性化的服务 个性化已逐渐成为当今 Web 应用的潮流 利用 JSP 技术开发的 网站新闻管理系统 实现了网站新闻的动态管理 因为可以用来动态发布新闻信息 所以使得 对信息的管理更加及时 高效 提高了工作效率 关键词 Struts 组建编程模型 ActionForm 的说明 样式层 持久层 服务层 控制层 With the rapid development of computer technology database technology of the Internet is applied more and more widely for the majority of Internet users with a more thoughtful and human services Personalized has gradually become the current Web application The use of JSP technology news site management system realize the dynamic management of the news site because the dynamic can be used to publish news and information it makes the management of information more timely efficient improve the work efficiency The Struts programming model formation of ActionForm description style layer persistence layer service layer control layer 2 新闻发布系统 1 摘要 1 0 引言 3 1 系统分析 4 1 1 需求分析 4 1 2 可行性分析 4 2 总体设计 5 2 1 项目规划 5 2 2 系统功能结构图 5 3 系统设计 6 3 1 设计目标 6 3 2 开发及运行环境 6 3 3 逻辑结构设计 7 4 网站总体架构 7 4 1 网站首页的运行结果 7 4 2 类的分布 8 5 网站后台主要功能模块设计 9 5 1 后台登录模块设计 9 5 2 总管理员设置模块设计 13 5 4 总结 24 6 小结 24 致致 谢谢 24 参考文献 25 3 0 引言 Internet 的蓬勃发展 使新闻的传播方式发生了巨大的变化 传统的信息传播媒体电视 广播 报纸已经不再是人们茶余饭后的主要精神甜点 人们更多的开始关注网络新闻 由于 互联网所容纳的信息量大 内容丰富 信息及时 准确 更有相关信息的全面的介绍与比较 大大地方便了人们的阅读 因此在短短几年的时间里 互联网便济身于众多媒体之间 并具 有相当一部分媒体人群 借此东风 新闻网也迅速发展起来 它内容丰富 涉及到商业 工 业 农业 银行 财政 教育 娱乐 信息等各个产业 信息量大 不仅有实事新闻 还有 相关的行业信息 同时新闻网具有互联网所具备的一切特性 在全球网络化 信息化的今天 新闻网迅速发展 大大地丰富了人们的生活 不知不觉中 它已经成为人们生活中不可或缺 的重要组成部分 4 1 系统分析 1 1 需求分析 通过相关调查 要求网站具有以下功能 通过网络 展示各行业新闻及相关信息 提供新闻搜索功能 设置新闻人物投票功能 并统计投票数量 支持其他网站的友情链接 为后台管理提供管理入口 1 2 可行性分析 新闻发布系统后台对新闻作了详细的分类 前台以分类形式显示新闻的详细信息 满足 了人们浏览新闻网时分类查看新闻信息的要求 同时提供新闻信息查询功能 方便浏览者查 找相关的新闻信息 新闻网后台则通过对总管理员设置和管理员添加等模块对网站管理员进 行管理 保证了网站的安全性 5 2 总体设计 2 1 项目规划 新闻网是一个功能完善的新闻类网站 由客户前台新闻浏览和后台新闻管理两大部分组 成 前台功能模块 前台主要包括新闻分类 显示新闻详细信息 新闻信息查询 新闻人物投票 友情链接 提供后台登录口 后台管理模块 后台主要包括后台总管理员设置及密码修改 添加管理员 管理员信息设置 新闻类型 管理 新闻详细类型管理 新闻信息管理 链接管理 新闻人物管理 退出后台 2 2 系统功能结构图 新闻发布系统前台功能结构 如图1所示 图 1 新闻网前台功能结构图 新闻网后台功能结构 如图 2 所示 图 2 新闻网后台功能结构图 新闻网前台功能结构 新闻分类 新闻详细信息 新闻信息查询 新闻人物投票 友情链接 后台登录口 新闻网后台功能结构 总管理员设置 总管理员修改密码 添加管理员 管理员信息设置 新闻类型管理 新闻详细类型管理 新闻信息管理 新闻人物管理 链接管理 退出后台 6 3 系统设计 3 1 设计目标 本网站是根据各行业新闻信息分类进行开发设计的 主要实现如下目标 分类展示各行业新闻 显示新闻的详细信息 设置新闻搜索功能模块 设置新闻人物投票及投票数统计功能 提供其他网站的友情链接 3 2 开发及运行环境 硬件平台 CPU P41 8GHz 内存 256MB 以上 软件平台 操作系统 Windows 2000 数据库 SQL Server 2000 开发工具包 JDK Version1 4 1 Web 服务器 Tomcat 浏览器 IE5 0 推荐使用 IE6 0 分辨率 最佳效果 1024 768 像素 7 3 3 逻辑结构设计 本系统数据库采用 SQL server 2000 数据库 系统数据库名称为 db news 数据库 db news 中包含 7 张表 关于数据库中的数据表请参见附录 B 4 网站总体架构 4 1 网站首页的运行结果 网站前台首页的运行结果如图 5 所示 图 5 网站前台首页运行结果 网站框架图说明如下 表 1 网站前台首页页面说明 区域名称说明对应文件 1网站导航主要展示网站的旗帜广告和站内导航条typeNewWatch do 2功能模块主要用于显示导航模块中的功能linkSelect do 3内容显示主要用于显示功能模块中的内容dateNews do type 今日新闻 网站后台首页的运行结果如图 6 所示 1 23 8 图 6 网站后台首页运行结果 网站后台首页中的各部分说明如表 2 所示 表 2 网站后台首页页面说明 区域名称说明对应文件 1网站导航主要展示网站的旗帜广告和站内导航条typeTopAction do 2功能模块主要用于显示导航模块中的功能left main jsp 3内容显示主要用于显示功能模块中的内容right main jsp 4 2 类的分布 新闻发布系统是利用 Struts 框架实现的 新闻发布系统中类的分布如图 7 所示 图 7 类的分布 类存放的文件夹功能如表 3 所示 表 3 类存放的文件夹功能列表 名称功能 持久层 dao 文件夹 各种方法 增加 删除 修改和查询 的实现 样式层 domain 文件夹 所存放的类是 Actionform 类 在类中必须要继承 ActionForm 也就是 entends ActionForm 2 1 3 持久层 样式层 前台控制层 服务层 后台控制层 工具层 9 服务层 server 文件夹 存放的 dao 层功能的业务的类 控制层 webtier 文件夹 存放在 jsp 页面中存在的方法实现的类 工具层 tool 文件夹 类名为 JDBConnection java 连接数据库的功能 类名为 Chinese java 字符级 转换的类 类名为 SessionLib 用来存在 session 变量 5 网站后台主要功能模块设计 5 1 后台登录模块设计 在新闻发布系统中 后台管理员分为两种 一个是普通管理员 他可以对新闻类型进行 定义 也可以发布新闻 设置投票人数及网站链接 另一个是总管理员 他除了可操作以上 功能外 还可以对普通管理员进行设置 总管理员和普通管理员都能通过后台登录页面登录 后台 在前台单击 进入后台 超链接 即可进入到后台登录页面 如图 8 所示 图 8 后台登录页面 1 样式层的类 具体代码如下 ManagerActionForm java package com victor domain 10 import org apache struts action public class ManagerActionForm extends ActionForm private Integer managerID 在数据库中的流水号 private String managerIssueDate 管理员添加日期 private String managerMark 管理员的标示 private String managerName 管理员帐号 private String managerPassword 管理员密码 private String managerRealName 管理员的真实姓名 private String managerType 管理员的权限 public ManagerActionForm this managerID new Integer 1 this managerIssueDate this managerMark this managerName this managerPassword this managerRealName this managerType public Integer getManagerID return managerID public void setManagerID Integer managerID this managerID managerID 2 持久层的方法 验证输入的内容是否正确有很多方法 笔者采用的是利用 sql 语句的方法进行验证输入 账号和密码 对输入的账号及密码判断是否正确 利用接口类的方法实现的代码如下 ManagerDao java public interface ManagerDao public ManagerActionForm managerCheck ManagerActionForm managerActionForm 实现接口的方法的代码如下 ManagerDaoImpl java 核对普通管理员帐号和密码 public class ManagerDaoImpl implements ManagerDao 实现接口类中的方法用 implements加上接口类名 public ManagerActionForm managerCheck ManagerActionForm managerActionForm ManagerActionForm manager null 定义一个Object型的数据 初使化为null JDBConnection connection new JDBConnection 连接数据库的方法 String sql select from tb manager where Name 11 managerActionForm getManagerName try ResultSet rs connection executeQuery sql 把sql语句传到JDBConnection类中 去 while rs next manager new ManagerActionForm manager setManagerPassword rs getString 3 查找过所需要的字段数据 catch SQLException ex connection close return manager 把对象返回到方法中去 3 服务层的方法 利用接口类的方法实现的代码如下 ManagerFacade java public interface ManagerFacade public ManagerActionForm managerCheck ManagerActionForm managerActionForm 实现接口的方法的代码如下 ManagerFacadeImpl java public class ManagerFacadeImpl implements ManagerFacade 实现接口类的方法 用implements private ManagerDao managerDao public ManagerFacadeImpl this managerDao new ManagerDaoImpl 实现dao类的方法 public ManagerActionForm managerCheck ManagerActionForm managerActionForm return this managerDao managerCheck managerActionForm 调用持久层的方法 4 管理员登陆控制层的方法 ManagerCheckAction java package com victor webtier managerAction 核对帐号和密码 public class ManagerCheckAction extends Action private ManagerFacade managerFacade public ManagerCheckAction this managerFacade new ManagerFacadeImpl 12 public ActionForward perform ActionMapping actionMapping ActionForm actionForm HttpServletRequest httpServletRequest HttpServletResponse httpServletResponse Chinese chinese new Chinese ManagerActionForm managerActionForm ManagerActionForm actionForm managerActionForm setManagerName chinese str httpServletRequest getParameter managerName ManagerActionForm manager this managerFacade managerCheck managerActionForm 通过对象调用方法 if manager null return actionMapping findForward managerWrong 通过manager是空值的话 返 回错误页面 else if manager getManagerPassword equals httpServletRequest getParameter managerPassWord return actionMapping findForward managerWrong 查找的值与在jsp页面中的值不一致 返回错误页面 return actionMapping findForward managerRight 查找的值与在jsp页面中的值一 致 返回正确页面 5 struts config xml 中的配置 在这里主要配置 formBean 和 action 动作指向的 jsp 页面 代码如下 struts config xml 6 管理员登陆 jsp 页面的说明 managerCheck jsp 管理员登陆 帐号 13 密码 5 2 总管理员设置模块设计 总管理员在数据库中是惟一的 总管理员的信息在页面中不会显示出来 在此页面中只 能修改自己的密码及对普通管理员进行设置 用户单击 总管理员设置 超链接 进入总管理员设置页面 系统首先对用户输入的账 户和密码进行核对 因为并不是所有的管理员都能够有这个权利 所以在 SQL 语句中应体 现惟一性的条件 样式层所要调用的类是 ActionForm 跟用户登录时调用的 actionForm 是同 一个类 在这里就不做介绍了 1 总管理员的登录操作 登录方法主要用于系统管理员进行系统维护时 作为登录后台时密码验证之用 在用户 输入用户账号和密码之后 调用该方法即可验证该用户是否合法 单击 总管理员设置 超 链接 进入到总管理员设置页面 实现此超链接的 jsp 代码如下 left main jsp 总管理员设置 总管理员页面的运行结果如图 9 所示 图 9 总管理员页面运行结果 总管理员页面所对应的 jsp 页面代码如下 adminPassword jsp 请输入帐户 14 请输入密码 在上面的 jsp 页面代码中 action 触发的是 adminAction do 的方法 它与后台登录的方 法相似 只是调用的 SQL 语句不同 在持久层中查询总管理员的方法的代码如下 接口类的方法 ManagerDao java public ManagerActionForm adminCheck ManagerActionForm managerActionForm 实现接口类的方法 ManagerDaoImpl java public ManagerActionForm adminCheck ManagerActionForm managerActionForm ManagerActionForm manager null 初始化对 象 JDBConnection connection new JDBConnection String sql select from tb manager where Name managerActionForm getManagerName and mark managerActionForm getManagerMark try ResultSet rs connection executeQuery sql 执行查找的方法 while rs next manager new ManagerActionForm manager setManagerPassword rs getString 3 取出查询的 密码 catch SQLException ex connection close 关闭数据库 return manager 在服务层中实现持久层的方法如下 接口类的方法 15 ManagerFacade java public interface ManagerFacade public ManagerActionForm adminCheck ManagerActionForm managerActionForm 实现接口类的方法 ManagerFacadeIm java public class ManagerFacadeImpl implements ManagerFacade private ManagerDao managerDao public ManagerFacadeImpl this managerDao new ManagerDaoImpl public ManagerActionForm adminCheck ManagerActionForm managerActionForm return this managerDao adminCheck managerActionForm 调用持久层的方法 具体在控制层的代码如下 ManagerDaoImpl jsp package com victor webtier managerAction import org apache struts action import javax servlet http import com victor domain ManagerActionForm import com victor service ManagerFacade import com victor service ManagerFacadeImpl 核对总管理员帐号和密码 public class AdminCheckAction extends Action private ManagerFacade managerFacade public AdminCheckAction this managerFacade new ManagerFacadeImpl public ActionForward perform ActionMapping actionMapping ActionForm actionForm HttpServletRequest httpServletRequest HttpServletResponse httpServletResponse ManagerActionForm managerActionForm ManagerActionForm actionForm managerActionForm setManagerName httpServletRequest getParameter Name 从页 面上取值 managerActionForm setManagerMark 总管理员 取固定的名称 ManagerActionForm manager this managerFacade adminCheck managerActionForm if manager null if判断 做比较 return actionMapping findForward adminWrong else if manager getManagerPassword equals httpServletRequest getParameter adminPassWord 16 return actionMapping findForward adminWrong return actionMapping findForward adminRight 上面的类文件中加载了 ManagerActionForm 类 这个类是属于 ActionForm 类 相当于 JavaBean 在这里主要实现进行取值和赋值的功能 struts config xml 的配置的代码如下 struts config xml 如果用户输入的总管理员的账户和密码不正确 此时 jsp 页面中将提示用户密码不正确 实现此功能的 jsp 代码如下 adminPasswordFail jsp adminPasswordFail 密码不正确 2秒种后从新输入密码 2 对管理员的查询操作 总管理员登录成功后 系统将对除了总管理员以外的所有普通管理员进行查询操作 此 时页面运行结果如图 10 所示 17 图 10 总管理员查询功能 持久层的查询代码如下 接口类的代码 ManagerDao java package com victor dao import java util List import com victor domain ManagerActionForm public interface ManagerDao public List managerSelect ManagerActionForm managerActionForm 在接口类的查询 方法方法 实现接口类的代码 ManagerDaoImpl java 查出所有的管理员 public List managerSelect ManagerActionForm managerActionForm JDBConnection connection new JDBConnection 调用连接数据库的方法 List list new ArrayList 定义一个List容器的对象 去实现 ArrayList 中的方法 String sql select from tb manager where mark managerActionForm getManagerMark 有条件的查询语句 try ResultSet rs connection executeQuery sql 调用JDBConnection查询的方 法 while rs next ManagerActionForm manager new ManagerActionForm manager setManagerID Integer valueOf rs getString 1 manager setManagerName rs getString 2 manager setManagerPassword rs getString 3 manager setManagerRealName rs getString 4 manager setManagerIssueDate rs getString 5 manager setManagerMark rs getString 6 list add manager l利用对象list的add 方法把查出来的数据放 在List容器中 connection close 关闭数据库 18 catch SQLException ex return list 返回值要与方法的类型要一致 调用类的方法如图 11 所示 图 11 调用的方法 服务层的查询代码如下 接口类的代码 ManagerFacade java public interface ManagerFacade public List managerSelect ManagerActionForm managerActionForm 实现接口类的代码 ManagerFacade java public class ManagerFacadeImpl implements ManagerFacade private ManagerDao managerDao public ManagerFacadeImpl this managerDao new ManagerDaoImpl public List managerSelect ManagerActionForm managerActionForm return this managerDao managerSelect managerActionForm 利用对象 managerDao调用持久层的方法 控制层实现的代码如下 ManagerFacade java package com victor webtier managerAction import org apache struts action 19 import javax servlet http import com victor domain ManagerActionForm import com victor service ManagerFacade import com victor service ManagerFacadeImpl import java io UnsupportedEncodingException 加载所需要的类 总管理员全部查看信息 public class AdminSelectAction extends Action private ManagerFacade managerFacade public AdminSelectAction this managerFacade new ManagerFacadeImpl public ActionForward perform ActionMapping actionMapping ActionForm actionForm HttpServletRequest httpServletRequest HttpServletResponse httpServletResponse ManagerActionForm managerActionForm ManagerActionForm actionForm managerActionForm setManagerMark 普通管理员 httpServletRequest setAttribute listAdminSelect managerFacade managerSelect managerActionF orm return actionMapping findForward adminSelectAction struts config xml 的配置 struts config xml 管理员查询 jsp 代码的实现 adminSelect jsp 查看全部信息 function projectDelete date if confirm 是否删除这一组数据吗 20 window location adminDeleteAction do managerID date 查看全部信息 数据库ID 帐号 真实姓名 注册时间 管理员类别 操作 for int i 0 i a href adminSelectOneAction do ID 修改 a href javascript projectDelete 删 除 通过以上的代码就能够实现对所有的管理员的查询功能 总管理员除了具备查询功能外 还可以修改及删除管理员的信息 5 3 修改之前的条件查询操作 在执行修改之前首先是对要修改的数据进行查询 样式层所要调用的类是 ActionForm 与用户登录调用的 actionForm 是同一个类 在这里就不做介绍了 实现的过程如下 具体在持久层的条件查询代码如下 接口类的方法的代码 ManagerDao java public interface ManagerDao 21 public List adminSelectOne ManagerActionForm managerActionForm 实现接口类的方法的代码 ManagerDaoImpl java 总管理员的单独查找 查找的内容在下一页中显示 public List adminSelectOne ManagerActionForm managerActionForm ManagerActionForm manager null List list new ArrayList JDBConnection connection new JDBConnection String sql select from tb manager where ID managerActionForm getManagerID 以数据库中的流 水号为条件进行查询 ResultSet rs connection executeQuery sql 执行查询的方法 try while rs next manager new ManagerActionForm manager setManagerID Integer valueOf rs getString 1 manager setManagerName rs getString 2 manager setManagerPassword rs getString 3 manager setManagerRealName rs getString 4 manager setManagerIssueDate rs getString 5 manager setManagerMark rs getString 6 list add manager catch SQLException ex connection close return list 具体在服务层的条件查询代码如下 接口类的方法的代码 ManagerFacade java public interface ManagerFacade public List adminSelectOne ManagerActionForm managerActionForm 实现接口类的方法的代码 ManagerFacadeImpl java public class ManagerFacadeImpl implements ManagerFacade private ManagerDao managerDao 22 public ManagerFacadeImpl this managerDao new ManagerDaoImpl public List managerSelectOne ManagerActionForm managerActionForm return this managerDao managerSelectOne managerActionForm 实现持久层的 方法 控制层实现的代码 例程8 1 ManagerFacadeImpl java package com victor webtier managerAction import org apache struts action import javax servlet http import com victor domain ManagerActionForm import com victor service ManagerFacade import com victor service ManagerFacadeImpl import java io UnsupportedEncodingException import java util List 总管理员的单独查找 查找的内容在下一页中显示 public class AdminSelectOneAction extends Action private ManagerFacade managerFacade public AdminSelectOneAction this managerFacade new ManagerFacadeImpl public ActionForward perform ActionMapping actionMapping ActionForm actionForm HttpServletRequest httpServletRequest HttpServletResponse httpServletResponse ManagerActionForm managerActionForm ManagerActionForm actionForm managerActionForm setManagerID Integer v
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国动力煤清洁高效利用技术路线与政策支持力度报告
- 2025至2030全球及中国凋亡调节因子BAX行业市场深度研究与战略咨询分析报告
- 2025河南中豫建设投资集团股份有限公司招聘1人考前自测高频考点模拟试题有答案详解
- 2025年智能制造中的机器学习算法应用
- 2025昆明市盘龙区东华街道社区服务中心见习岗位招录(若干)考前自测高频考点模拟试题及答案详解(全优)
- 2025年南昌市劳动保障事务代理中心招聘统计监测劳务外包工作人员1人模拟试卷及答案详解(必刷)
- 2025广东韶关市始兴县事业单位招聘暨“青年人才”和“急需紧缺人才”招聘89人模拟试卷(含答案详解)
- 2025年南平武夷山职业学院人才招聘模拟试卷及答案详解参考
- 2025黑龙江双鸭山市饶河县招募就业见习单位及招聘见习人员668人模拟试卷及答案详解参考
- 2025北京市第五十七中学招聘考前自测高频考点模拟试题及1套完整答案详解
- 基本乐理(师范教育专业)全套教学课件
- 医院检验科实验室生物安全程序文件SOP
- JJG 270-2008血压计和血压表
- 《解剖学基础》课件-上肢骨及其连接
- 轻质燃料油安全技术说明书样本
- 小米全屋智能方案
- 杏仁粉营养分析报告
- 《多边形的面积》大单元教学设计
- 医疗机构工作人员廉洁从业九项准则
- 凯里市大风洞夸山重晶石矿场环评报告
- 2021基层2型糖尿病胰岛素应用专家共识(全文)
评论
0/150
提交评论