




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、北京航空航天大学软件学院硕士论文开题报告论文名称: 基于Struts的文书网络管理系统的设计和实现姓 名: 李璞学 号: GS0521232专 业: 日文应用软件开发所属院系: 北航软件学院 指导老师: 马平 北野义典指导老师单位:北航软件学院 北野System Consultant 论文起止时间: 2007年4月-2008年1月2007 年 4月目 录1选题背景、意义与可行性21.1选题背景、意义21.2国内外发展现状22工作目标及内容42.1工作目标42.2本人承担工作内容43关键技术及难点43.1关键技术43.2研究重点、难点63.2.1需求分析阶段的信息提取及归类63.2.2在.NET
2、框架下按照MVC模式对系统进行分析与设计63.2.3数据一致性、共享和安全性83.2.4基于XML和Web service的消息传递84实施方案84.1运行环境84.2开发平台84.3解决方案84.4系统结构95进度安排96预期成果及成果形式97参考文献101 选题背景、意义与可行性1.1 选题背景、意义如今,Java 2 Enterprise Edition( J2EE)平台已经日趋成熟,并得到广泛应用。在J2EE技术中发展最迅猛的当属JavaServer Page (JSP)技术.几乎所有的基于Java的Web应用都使用JSP。一些免费,开放源代码的JSP/Servlet容器,如Apach
3、e软件组织提供的Tomcat,更进一步推动了JSP技术的发展。随着JSP技术的成熟,越来越多的开发人员开始使用Web应用框架。框架为Web应用提供了预备的软件架构和相关的软件包,它大大提高了开发Web应用的速度和效率。现在,当开发人员开始一个新的项目时,他们首先考虑的问题不是”我们是否需要框架”而是”我们应该使用什么样的框架”。Jakarta-Struts是Apache软件组织提供的一项开发源代码项目,它为Java Web应用提供了模型-视图-控制器(Model-View-Controller, MVC)框架,尤其适用于开发大型可扩展的Web应用。Struts为Web应用提供了一个通用的框架,
4、使得开发人员可以把精力集中在如何解决实际业务问题上。此外,Struts框架提供了许多可扩展和定制的地方,使得应用程序可以方便地扩展框架,来更好地适应用户的实际要求。而现代生活节奏越来越快,这种情况下,办公开始实现网络化,自动化和无纸化。该文书网络管理系统就是在这样的背景下诞生,这个系统就是基于上面已经提到的J2EE平台和MVC框架开发的,是日本一家化妆品销售公司为了保证化妆品信息时效性,以及公司员工能及时发布阅览最新产品信息,特意开发该文书网络管理系统。1.2 国内外发展现状Struts为Web应用提供了现成的通用的框架。Struts可以大大提高Web应用的开发速度。如果没有Struts,开发
5、人员将不得不首先花大量的时间和精力来设计,开发自己的框架。如果在Web应用中恰到好处地使用Struts,将把从头开始设计框架的时间节省下来,使得开发人员可以把精力集中在如何解决实际业务问题上。而且Struts本身是一群经验丰富的Web开发专家的集体智慧结晶,在全世界范围内得到广泛运用并得到一致认可。因此对于开发大型复杂的Web应用,Struts是不错的框架选择。这里着重介绍一下MVC的现状,MVC是Model-View-Controller的简称,即模型-视图-控制器。MVC是Xerox PARC在20世纪80年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用,最近
6、几年被推荐为Sun公司J2EE平台的设计模式,受到越来越多的Web开发者的欢迎。MVC是一种设计模式,它强制性地把应用程序的输入,处理和输出分开。MVC把应用程序分成三个核心模式 模型,试图和控制器,它们分别担负不同的任务。基于以上特点,使用MVC需要精心的计划,由于它的内部原理比较复杂,所以需要花费一些时间去理解它。将MVC运用到应用程序中,会带来额外的工作量,增加应用的复杂性,所以MVC不适合小型应用程序。但对于开发存在大量用户界面,并且业务逻辑复杂的大型应用程序,MVC将会使软件在健壮性 代码重用和结构方面上一个新的台阶。尽管在最初构建MVC框架时会花费一定的工作量,但从长远的角度来看,
7、它会大大提高后期软件开发的效率。另外,值得注意的是,对于基于请求/响应方式的Web应用,模型位于Web服务器端,视图位于用户浏览器端,目前无法做到模型向视图主动发出数据更新事件,使用户界面能自动刷新。2 工作目标及内容2.1 工作目标根据用户的业务需要,制定了如下主要目标:用户根据自己权限的不同,对权限内的文书信息进行网络登陆,查询,删除,修改等管理,查看文书的阅览情况,系统管理员根据需要对用户进行权限设置,后台数据库根据计划对数据库记录定期进行批处理,定期自动删除日志(保存期限可以自行设置),最大程度减少管理员的工作量。2.2 工作内容 本人承担的主要工作内容Ø 参与系统总体架构设
8、计;Ø 负责实现未读新增一览,模板显示,阅览状况的设计与实现;Ø 使用Ajax异步通讯技术,实现文书新增自动提示;Ø 参与数据库设计与实现;Ø 负责后台数据库批处理的设计和实现;Ø 负责数据库日志和系统日志自动批处理的设计和实现。2.3 研究的方法和技术路线对于该项目我们主要采取提取公共类,按功能来设计Bean并划分模块来实现。l 为多个Bean都使用的数据库连接创建一个公共类FNCD_DBConnectionFactory.classl 为系统常数定义一个公共类FNCZ_SystemConstantsl 系统日志输出,SQL语句执行分别创建F
9、NCU_SQLExecuteUtil.javaFNCU_LogUtil.javal 为逻辑层创建多个BeanFNOL_UserLogicBean.javaFNOL_GroupLogicBean.javaFNOL_UnreadLogicBean.javaFNOL_BBSLogicBean.javaFNOL_BBSGroupLogicBean.javaFNOL_DocumentLogicBean.javaFNOL_AttachmentLogicBean.javal 创建相应的控制器即Action模板阅览FNOA_ShowBBSAction.javaFNOA_ShowBBSListAction.ja
10、va文书详细FNOA_DocumentDetailAction.java阅览状况确认FNOA_OpenStatusAction.javaFNOA_OpenStatusDetailAction.java这里就不一一列举了。l 创建系统定义文件(保存系统参数,便于将来系统管理者修改)log4j.xmlMessageRperties.sjisSystemCperties.sjisSystemSQL.properties.sjisl 对于上文提到的MVC结构中,用户界面不能自动刷新的问题,该系统主要采用Ajax异步通讯技术解决,大概流程;客户端定期向服务器端发
11、出XMLHttpRequest请求,刷新频率系统管理员可以自行设定,服务器端返回ResponseXML,使用JavaScript解析该XML,得到你想要得信息。至于使用Ajax异步通讯技术要注意的问题在以后的论文中在详细说明。3 关键技术及难点3.1 关键技术该系统所涉及的关键技术有:1、MVC逻辑层的设计及公共类的编写2、Ajax异步通讯技术的运用3、Oracle数据库中各个表的关联设计和最小程度的冗余4、SQL语句读取数据库的效率问题5 数据库触发器和自动批处理6数据库日志和系统日志批处理3.2 研究重点、难点3.2.1 Struts实现MVC的机制Struts实质上就是在JSP Mode
12、l2的基础上实现的一个MVC框架。在Struts框架中,模型由实现业务逻辑的JavaBean或EJB组件构成,控制器有ActionServlet和Action来实现,试图由一个JSP文件构成。下图显示了Struts实现的MVC框架。l 试图视图就是一组JSP文件。在这些JSP文件中没有业务逻辑,也没有模型逻辑,只有标签,这些标签可以是标准的JSP标签或客户化的标签,如Struts标签库中的标签。l 模型模型表示应用程序的状态和业务逻辑。对于大型应用,业务逻辑通常由JavaBean或者EJB组件来实现。l 控制器控制器有ActionServlet类和Actionlei来实现。ActionServ
13、let类是Struts框架中的核心组件。ActionServlet继承了javax.servlet.http.HttpServlet类,它在MVC模型中扮演中央控制器的角色。ActionServlet主要负责接收HTTP请求信息,根据配置文件struts-config.xml的配置信息,把请求转发给适当的Action对象,如果该Action对象不存在,ActionServlet会先创建这个Action对象。l Struts的配置文件struts-config.xml上面讲到一个用户请求是通过ActionServlet来处理和转发的。那么,ActionServlet如何决定把用户请求转发给哪个A
14、ction对象呢?这就需要一些用户请求路径和Action映射关系的配置信息了。在Struts中,这些配置映射信息都存储在特定的XML文件struts-config.xml中。在该配置文件中,每一个Action的映射信息都通过一个<action>元素来配置。3.2.2 Ajax异步通讯技术Ajax是Asynchronous JavaScript + XML的单词缩写。下面这张图能清楚地说明了传统Web应用程序的结构与采用了AJAX技术的Web应用程序的结构上的差别。Ajax主要包含以下五大部分l 基础标准的表示技术,使用XHTML与CSSl 动态显示和交互技术,使用Document
15、Object Model(文档对象模型)l 数据互换和操作技术,使用XML与XSLTl 异步数据获取技术,使用XMLHttpRequestl 使用JavaScript将以上的一切都结合在一起4 实施方案4.1 运行环境4.2 开发平台4.3 系统结构l 图3 系统体系结构图5 进度安排序号任务名称开始时间终止时间持续时间阶段性成果1开发阶段2007-3-252007-10-8140d2需求调研2007-3-252007-4-2521d需求分析说明书3系统设计2007-4-282007-5-1816d系统设计说明书4代码开发2007-5-192007-8-2269d项目源代码5测试2007-8-252007-9-1718d系统测试说明书6部署上线2007-9-192007-10-815d用户手册7撰写论文2007-9-102008-1-30103d硕士论文l 表2 进度安排6 预期成果及成果形式¨ 相关文档资料¨ 项目相关的关键技术研究报告、实例程序¨ 源程序代码及其研究报告¨ 硕士研究生毕业设计论文7 参考文献1 Erich Gamma,设计模式M.北京:机械工业出版社 ,20012 孙卫
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 区块链技术助力企业透明化经营与决策
- 医疗商业地产的未来趋势与新机遇
- 冷轧厂百日安全竞赛活动总结模版
- 企业数字化转型中如何利用区块链提高内部管理效率
- 医疗旅游目的地医院的营销策略
- 医疗信息化对医药企业的影响
- 临时维修安全合同范例
- 东城区家具运输合同范例
- 买车预定合同范例
- 主播竞技合同范例
- 2024燃气安全监管信息化平台建设与维护服务合同3篇
- 大学生活中的习惯改造
- 江苏省南通市(2024年-2025年小学六年级语文)统编版质量测试((上下)学期)试卷及答案
- (工作总结)业扩报装技术工作总结范文
- 中建全套雨季施工方案
- 青春期异性之间的交往课件高中上学期心理健康主题班会
- 北京工业大学《计量经济学》2023-2024学年第一学期期末试卷
- 人工智能应用开发合同
- 猩红热课件完整版本
- 肌肉骨骼康复学学习通超星期末考试答案章节答案2024年
- 高三英语一轮复习备考实践经验分享 课件
评论
0/150
提交评论