版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业论文(设计)院系 软件学院 题目办公自动化系统的消息管理模块的设计与实现学生姓名马力学号071251100年级2007级专业软件工程指导教师职称论文提交日期摘要伴随着数字商业的到来,企业的管理意识和环境都发生了巨大的变化,企业的管理结构由多层次结构向扁平化管理结构转化;数字时代企业的信息量和沟通数量巨大,为了提高企业的管理效率,必须提升沟通的质量,要求企业办公高效率、自动化,办公自动化系统应运而生。办公自动化系统跨越系统管理、日程管理、考勤管理、消息管理、文档管理等五个领域。JSP主要特点是在HTML页面中加入Java代码片段,或者使用各种JSP标签,包括使用用户标签,构成JSP网页。Hibernate允许程序开发者采用面向对象的方式来操作关系数据库。JavaMail是Sun公司为方便开发人员在应用程序中能够实现邮件发送和接受功能而提供的一套标准开发包。本项目组由5人组成,完成了办公自动化系统的全部内容,本人完成了消息管理子系统(站内信方式和邮件方式),同时担当评审负责人。AbstractWiththeadventofdigitalcommerce,enterprisemanagementandenvironmentaiawareness,greatchangeshavetakenplace,theenterprise'smanagementstructureconsistsofamulti-levelstructureintoaflatmanagementstructure;thedigitalagethenumberofbusinesseslargeamountofinformationandcommunication,inordertoimproveenterprisemanagementefficiency,toimprovethequalityofcommunication,requiringbusinessofficeefficiency,automation,officeautomationsystemcameintobeing.Officeautomationsystemacrossthesystemmanagement,scheduling,attendancemanagement,informationmanagement,documentmanagement,andotherfiveareas.MainfeaturesofJSPpagesinHTMLtoaddJavacodefragment,orusingavarietyofJSPtags,includingtheuseofuserlabelstoformJSPpage.Hibernateallowsapplicationdevelopersusingobject-orientedrelationaldatabaseapproachtotheoperation.Sun,JavaMailistofacilitatetheapplicationdeveloperscanrealizethefunctionofsendingandreceivinge-mailtoprovideasetofstandarddevelopmentpackage.Theprojectgroupconsistsof5members,completedtheentirecontentsofofficeautomationsystem,Icompletedthemessagemanagementsubsystem(stationmodeandmailtheletter),alsoactasmoderator.Keywords:OA,JSP,Hibernate,JavaMail目录TOC\o"1-5"\h\z摘要 I\o"CurrentDocument"Abstract II目录 I..I.I.\o"CurrentDocument"第一章概述/绪论 1...\o"CurrentDocument"项目背景 1...\o"CurrentDocument"国内外办公自动化技术现状 2..\o"CurrentDocument"论文主要工作/组织结构 3..\o"CurrentDocument"第二章相关技术概述 4...\o"CurrentDocument"J2EE技术 4...\o"CurrentDocument"JSP技术 4..\o"CurrentDocument"JavaScript技术 5.\o"CurrentDocument"JavaScript定义 5.\o"CurrentDocument"JavaScript应用 5.\o"CurrentDocument"Hibernate技术 6.\o"CurrentDocument"ORM简介 6.\o"CurrentDocument"Hibernate概述 6.\o"CurrentDocument"Hibernate的关系映射 7..\o"CurrentDocument"Hibernate查询体系 7..\o"CurrentDocument"Oracle11g技术 9.\o"CurrentDocument"JavaMail技术 9.\o"CurrentDocument"第三章 办公自动化系统项目概述 1..1任务概述 1..1.文档管理平台 1..1消息管理平台 1..1考勤管理平台 1..1日程管理平台 1..2系统管理平台 1..2需求规约 1..2.一般性需求 1..2.功能性需求 1..2.最终产品应实现的特征 1..3\o"CurrentDocument"项目约束 1..4.项目的技术难点和关键点 1..43.3涉及的技术领域 1..4.\o"CurrentDocument"第四章消息管理子系统详细设计与实现 1..6子系统概述 1..6.\o"CurrentDocument"数据库设计 1..8.\o"CurrentDocument"界面设计 1..9.\o"CurrentDocument"Javascript在项目中的应用 22\o"CurrentDocument"Hibernate在项目中的应用 24\o"CurrentDocument"过滤器在项目中的应用 2..6\o"CurrentDocument"JavaMail在项目中的应用 27\o"CurrentDocument"JspSmartUpload在项目中的应用 28\o"CurrentDocument"第五章总结与展望 3..0.项目总结 3..0.小组完成的工作 3..0个人完成的工作 3..0项目展望 3..1.整体项目的可扩展点 3..1个人工作的可扩展点 3..1参考文献 3..2..致谢 3..3..第一章概述/绪论1.1项目背景信息工作是国家行政机关、高校、科研院所的一项重要的日常性工作。随着我国加入WTO,改革开放的进一步深化,如何更有效、更快速地处理各种信息,实现办公自动化,己经成为一项一触即发的工作。伴随着企业 ERP(企业资源计划EnterpriseResoureePlanning建设、政府电子政务建设的热潮,曾经淹没在Internet、.Com中的一个名词一一0A(办公自动化ofieeAutomation,简称0A)开始再次引起人们的极大关注。过去的十多年,网络技术飞速进步不断地丰富和延伸“办公自动化 (0A)”的内容和指称的对象,也使得越来越多的单位认识到建设0A系统的重要性。网络的发展拓展了0A的作用范围,现代意义上的基于网络的0A己不仅仅是提高打字录入、排版编辑这样的个人事务处理效率,甚至也不仅仅是实现公文收发、流转、签发、归档这样的群组工作效率。事实上,网络时代的0A是一种企业级跨部门运作的基础信息系统,可以联结单位内各部门的各个人员,可以联结单位各类信息系统和信息资源。0A系统的运行不仅应当适应单位为提高运作效率而进行的机构调整,而且还可能促进单位资源合理配置的进程。即0A在模拟手工作业的同时,还将反作用于传统的办公流程。其实,过去已有不少政府机关单位、大型企业开发了办公自动化系统。由于历史的原因,这些系统大都是采用以关系型数据库为基础的MSI系统、在老版本的LotusNoteS平台上开发的办公自动化系统。但是由于当时网络技术和信息管理软件本身的局限,这些办公软件存在许多缺陷已不能适应现代工作的要求。如集成化程度低,资源共享不充分;缺乏韧性,对环境适应性差;特别是这些办公软件大多是静态的,仅能提供文档的存储、管理、查询。远远不能适应网络化信息时代的要求,使其应用范围和效果很有限。信息时代要求实现一个高度的办公自动化系统。一个现代化的办公自动化系统应该能够显著提高办公效率,降低办公成本,充分利用内部资源,加快工作流程,适应环境的变化等。[1]伴随着数字商业的到来,企业的管理意识和环境都发生了巨大的变化,企业的管理结构由多层次结构向扁平化管理结构转化;数字时代企业的信息量和沟通数量巨大,为了提高企业的管理效率,必须提升沟通的质量,要求企业办公高效率、自动化,办公自动化系统应运而生。办公自动化系统跨越系统管理、日程管理、考勤管理、消息管理、文档管理等五个领域。1.2国内外办公自动化技术现状国外的办公自动化研究一直处于领先地位。用于开发办公自动化系统的国际主流平台LotusDomino/Notes,它所属的公司Lotus就在美国,现已属IBM公司的一个开发部门。Lotus现在提倡第三代以知识管理为核心的办公自动化系统,并已提出了很多的知识管理解决方案, 开发了相关的产品,而且国外其他的软件生产厂商也纷纷开发自己的知识管理平台,可以说以知识管理为核心的第三代办公自动化系统在国外得到了广泛的支持也在实际中取得了广泛的应用。办公自动化在我国80年代中期就制定了办公自动的发展目标及远景规划,国务院办公自动化专家会议对办公自动化做了具体的定义。 现在国内的研究大部分还处在对怎样利用第二代办公自动化系统开发以工作流自动化为核心的办公自动化系统上,并且大多数采用的开发平台都是 LotusDomino/Notes平台。目前,第二代办公自动化系统在国内的一些单位、 企业和学校得到了应用。这些办公自动化系统都是基于LotusDomino/Notes平台的。当前基于J2EE体系结构的网上办公自动化系统已有了迅速的发展。J2EE作为一种成熟的、健壮的、功能强大的分布式企业级应用开发平台, 经过几年的发展,己具有相当的成熟度,也拥有大量的客户,其优势在大型项目开发中体现尤为突出,国外不乏成功的案例。国内对于Java技术的应用也越来越广泛,然而国内的信息化建设水平总体来说还很低, 不论是技术上、管理上还是运作模式上都难于与国外比肩,因此对于新技术的引进、消化和吸收更具现实意义。J2EE技术己经获得了各大开发平台提供商的支持, 成为企业应用开发的主流平台。进行应用开发时,协调好长远设计与短期需求之间的矛盾并不是一件容易的事。 而利用J2EE可以很好地解决这一问题,因为在J2EE中可以创建应用的每一层,每层之间是松藕合的,每一层可以单独进行修改扩展,来满足相关方面的需求。[2]办公自动化于50年代在美国和日本首先兴起,最初只是具有电子数据处理(EDP)的簿记功能,60年代被管理信息系统(MIS)取代,直到70年代后期才形成涉及多种技术的新型综合学科一一办公自动化(0A)。80年代,国外办公自动化得到了飞速发展,许多著名的计算机软硬件公司都跻身于这一巨大的市场。 进入90年代以来,办公自动化在世界主要发达国家得到蓬勃发展。我国办公自动化是80年代中期才发展起来的。1985年全国召开了第一次办公自动化规划会议,对我国办公自动化建设进行了规划。1986年5月在国务院电子振兴领导小组办公自动化专家组第一次专家会议上,定义了办公自动化系统功能层次和结构模式。随后国务院率先开发了“中南海办公自动化系统”。我国0A的应用和发展历程,可以分为以下三个阶段:第一代0A系统,是从20世纪80年代中期到90年代中期以个人电脑、办公套件为主要标志,实现了数据统计和文档写作电子化,即将办公信息载体从原始纸介质方式转向比特方式。第二代0A系统,是从90年代中期开始的以网络技术和协同工作技术为主要特征,实现了工作流程自动化,即将收发文从传统的手工方式转向工作流自动化方式。第三代0A系统,是融信息处理、业务流程和知识管理于一体的应用系统。[3]1.3论文主要工作/组织结构本论文主要对实训中完成的办公自动化系统的背景进行了相关的阐述, 对相关技术进行了介绍,结合技术对项目进行了分析,同时提出了总结与展望。该论文主要由5个部分组成。概述/绪论部分介绍了毕业设计项目的背景、国内外办公自动化技术的现状以及论文的主要工作。技术概述部分是关于毕业设计项目中使用的技术的简介,主要包括 J2EE、JSP、Javascrip、HibernateOracle11g以及JavaMail。项目概述部分是关于毕业设计项目整体性一些介绍, 主要包括任务描述和需求规约。技术在项目中的应用部分详细论述自己在毕业设计项目中所做的设计与实现工作,体现技术概述部分所提到的技术在具体项目中的应用总结与展望部分总结毕业设计项目的完成情况,以及展望进一步的工作方向。总结包括整个项目组完成了哪些工作, 以及自己完成了哪些工作;展望包括整个项目在进一步工作中还有哪些功能可以扩展, 以及自己完成的那部分工作还可以如何扩展和完善等。第二章相关技术概述J2EE技术J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。J2EE应用以其稳定的性能、良好的开放性及严格的安全性,深受企业应用开发者的青睐。对于一个企业而言,选择J2EE构建信息化平台,更体现了一种长远的规划:企业的信息化是不断整合的过程,在未来的日子里,经常会有不同乎台、不同系统的异构系统需要整合。J2EE应用提供的跨平台性、开放性及各种远程访问的技术,为异构系统的良好整合提供了保证。 [5]JSP技术图2.1JSP页面的工作原理JSP是Servlet的扩展,在没有JSP之前,就已经出现了Servlet技术。Servlet是利用输出流动态生成HTML页面,包括每一个HTML标签和每个在HTML页面中出现的内容。由于包括大量的HTML标签、大量的静态文本及格式等,导致 Servlet的开发效率极为低下。所有的表现逻辑,包括布局、色彩及图像等,都必须糯合在Java代码中,这的确让人不胜其烦。 JSP的出现弥补了这种不足, JSP通过在标准的HTML页面中插入Java代码,其静态的部分无须Java程序控制,只有那些需要从数据库读取并根据程序动态生成信息时,才使用 Java脚本控制。从表面上看,JSP页面已经不再需要Java类,似乎完全脱离了Java面向对象的特征。事实上,JSP是Servlet的一种特殊形式,每个JSP页面就是一个Servlet实例 JSP页面由系统编译成Servlet,Servlet再负责响应用户请求。JSP其实也是Servlet的一种简化,使用JSP时,其实还是使用Servlet,因为Web应用中的每个JSP页面都会由Servlet容器生成对应的Servlet。对于Tomcat而言,JSP页面生成的Servlet放在work路径对应的Web应用下。根据上面的JSP页面工作原理图(如图2.1所示),可以得到如下四个结论:JSP文件必须在JSP服务器内运行。JSP文件必须生成Servlet才能执行。每个JSP页面的第一个访问者速度很慢,因为必须等待JSP编译成ServletJSP页面的访问者无须安装任何客户端,甚至不需要可以运行Java的运行环境,因为JSP页面输送到客户端的是标准HTML页面。⑹JavaScript技术JavaScript被用来改进设计、验证表单、检测浏览器、创建 cookies等。JavaScript是因特网上最流行的脚本语言,并且可在所有主要的浏览器中运行,比方说InternetExplorer、Mozilla、Firefox、Netscape和Opera。⑺JavaScript定义JavaScript被设计用来向HTML页面添加交互行为。JavaScript是一种脚本语言(脚本语言是一种轻量级的编程语言)。JavaScript由数行可执行计算机代码组成。JavaScript通常被直接嵌入HTML页面。JavaScript是一种解释性语言(就是说,代码执行不进行预编译)。JavaScript应用JavaScript为HTML设计师提供了一种编程工具HTML创作者往往都不是程序员,但是 JavaScript却是一种只拥有极其简单的语法的脚本语言!几乎每个人都有能力将短小的代码片断放入他们的HTML页面当中。JavaScript可以将动态的文本放入HTML页面类似于这样的一段JavaScript声明可以将一段可变的文本放入HTML页面:document.write("<h1>"+name+"</h1>")JavaScript可以对事件作出响应可以将JavaScript设置为当某事件发生时才会被执行,例如页面载入完成或者当用户点击某个HTML元素时。JavaScript可以读写HTML元素JavaScript可以读取及改变HTML元素的内容。JavaScript可被用来验证数据在数据被提交到服务器之前,JavaScript可被用来验证这些数据。JavaScript可被用来检测访问者的浏览器JavaScript可被用来检测访问者的浏览器,并根据所检测到的浏览器,为这个浏览器载入相应的页面。JavaScript可被用来创建cookiesJavaScript可被用来存储和取回位于访问者的计算机中的信息。[8]Hibernate技术2.4.1ORM简介ORM(ObjectRelationMapping)指对象/关系映射。ORM也可理解是一种规范,具体的ORM框架可作为应用程序和数据库的桥梁。ORM并不是一种具体的产品,而是一类框架的总称。它概述了这类框架的基本特征 :完成面向对象的程序设计语言与关系数据库的映射。基于ORM框架完成映射后,既可利用面向对象程序设计语言的简单易用性,又可利用关系数据库的技术优势。ORM框架是面向对象程序设计语言与关系数据库发展不同步时的中间解决方案。[9]Hibernate概述Hibernate是目前最流行的ORM框架,其采用非常优雅的方式将SQL操作完全包装成对象化的操作。Hibernate是一个面向Java环境的对象/关系数据库映射工具。对象/关系数据库映射(Object/RelationalMapping)表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。Hibernate的目标是:释放开发者通常的数据持久化相关的编程任务的 95%对于以数据为中心的程序而言,往往在数据库中使用存储过程来实现商业逻辑,Hibernate可能不是最好的解决方案。但对于那些基于Java的中间件应用中,设计采用面向对象的业务模型和商业逻辑时,Hibernate是最有用的。不管怎样,Hibernate能消除那些针对特定数据库厂商的SQL代码,并且把结果集由表格式的形式转换成值对象的形式。Hibernate不仅管理Java类到数据库表的映射(包括Java数据类型到SQL数据类型的映射),还提供数据查询和获取数据的方法,可以大幅度地减少在开发时人工使用SQL和JDBC处理数据的时间。Hibernate能在众多的ORM框架中脱颖而出,因为Hibernate与其他ORM框架对比具有如下优势。•开源和免费的License,方便需要时研究源代码、改写源代码并进行功能定制。•轻量级封装,避免引入过多复杂的问题,调试容易,减轻程序员负担。•具有可扩展性,API开放。功能不够用时,可以自己编码进行扩展。•开发者活跃,产品有稳定的发展保障。[9]Hibernate的关系映射关系是关系型数据库的最基本的特征,也是客观世界最基本,最抽象的。关系可分为如下两个类。•单向关系:只需单向访问关联端。•双向关系:关联的两端可以互相访问。单向关联可分为:单向1-1;单向I-N;单向N-1;单向N-N双向关联可分为:双向1-1;双向I-N;双向N-N[10]Hibernate查询体系HQL查询HQL是HibernateQueryLanguage的缩写,HQL的语法很像SQL的语法,但HQL是一种面向对象的查询语言。因此,SQL的操作对象是数据表和列等数据对象:而HQL的操作对象是类、实例和属性等。HQL是完全面向对象的查询语言,因此可以支持继承和多态等特征。HQL查询依赖于Query类,每个Query实例对应一个查询对象,使用HQL查询按如下步骤进行:获取HibernateSession对象:⑵编写HQL语句:以HQL语句作为参数,调用Session的createQuery方法创建查询对象:⑷如果HQL语句包含参数,调用Query的setXxx方法为参数赋值:(5)调用Query对象的list等方法遍历查询结果。条件查询条件查询是更具面向对象特色的数据查询方式,通过如下三个类完成。?Criteria:代表一次查询。?Criterion:代表一个查询条件。?Restrictions:产生查询条件的工具类。执行条件查询的步骤如下:⑴获得Hibernate的Session对象。以Session对象创建Criteria对象。增加Criterion查询条件。执行Criteria的list等方法返回结果集。SQL查询Hibernate还支持使用SQL查询,使用SQL查询可以利用某些数据库的特性,或者用于将原有的JOBC应用迁移到Hibernate应用上。SQL查询是通过SQLQuery接口来表示的,由于SQLQuery接口是Query接口的子接口,因此完全可以调用Query接口的方法。执行SQL查询的步骤如下。获取HibernateSession对象。编写SQL语句。以SQL语句作为参数,调用Session的createSQLQuery方法创建查询对象。⑷如果SQL语句包含参数,则调用Query的setXxx方法为参数赋值。调用SQLQuery对象的addEntity或addSca缸方法,将选出的结果与实体或标量值关联。调用Query的list方法返回查询的结果集。数据过滤数据过滤并不是一种常规的数据查询方法,而是一种整体的筛选方法。通过过滤数据也可对数据进行筛选过滤器的使用分成三步:定义过滤器,使用filter-def元素定义过滤器。使用过滤器,使用filter元素使用过滤器。在代码中启用过滤器。 [10]2.5Oracle11g技术Oracle11g是甲骨文公司在2007年年7月12日推出的最新数据库软件,Oracle11g有400多项功能,经过了1500万个小时的测试,开发工作量达到了3.6万人/月。相对过往版本而言,Oracle11g具有了与众不同的特性。[11]ORACLE7.X以来引入了共享SQL和多线索服务器体系结构。这减少了ORACLE的资源占用,并增强了ORACLE的能力,使之在低档软硬件平台上用较少的资源就可以支持更多的用户,而在高档平台上可以支持成百上千个用户。提供了基于角色(ROLE)分工的安全保密管理。在数据库管理功能、完整性检查、安全性、一致性方面都有良好的表现。支持大量多媒体数据,如二进制图形、声音、动画以及多维数据结构等。提供了与第三代高级语言的接口软件PRO*系列,能在C,C++等主语言中嵌入SQL语句及过程化(PL/SQL)语句,对数据库中的数据进行操纵。提供了新的分布式数据库能力。可通过网络较方便地读写远端数据库里的数据,并有对称复制的技术。[12]2.6JavaMail技术JavaMail是Sur公司为方便开发人员在应用程序中能够实现邮件发送和接受功能而提供的一套标准开发包,包括面向普通开发人员调用的API和实现了SMTP、POP3、IMAP、MIME等底层协议的服务提供程序。[13]SMTP:简单邮件传输协议(SimpleMailTransferProtocol,SMTP)由RFC821定义,它定义了发送邮件的机制,在JavaMail环境中,基于JavaMail的程序将和因特网服务供应商ISP(internetServiceProvider '服务器通信.SMTP服务器会中转消息给接收方SMTP服务器以便最终让用户经由POP或者IMAP获得。POP代表邮局协议(PostOfficeProtocol).目前的版本是3.所以一般都称之为POP3这个协议是由RFC1939定义的.POP是一种机制,因特网上多大数用户用它得到邮件.它规定每个用户一个邮箱的支持.使用POP协议的时候,用户的许多性能并不是由POP协议支持的,如查看几封新邮件消息这个功能,这些功能内建在如Eudora或MicrosoftOutlook之类的程序中,它们记住一些事.所以在用JavaMaiI的时候,如果你想要这些信息,你就必须自己算了。IMAP:是更高级的用户接收消息的协议,被定义在RFC2060中,IMAP代表因特网消息访问协议(InternetMessageAccessProtocol),前用的版本是4所以也叫做IMAP4.在用到IMAP的时候,邮件服务器必须支持这个协议,不能仅仅把使用POP的程序用于IMAP,并指望它支持IMAP所有性能。MIME:是因特网邮件扩展标准(MultipurposeInternetMailExtensions).它不是邮件传输协议,但是对于传输的内容的消息,附件以及其他的内容定义了格式.可以理解成一个定义合适的标准。[14]第三章办公自动化系统项目概述3.1任务概述完成一个完全基于浏览器的操作模式,安装简单(B/S架构,不必安装或者只要安装很小的插件),操作方便,具有良好的系统扩充能力的办公自动化系统,提供:3.1.1文档管理平台通过本平台,实现文档管理、回收站管理、文件搜索管理、日志管理等功能。各部门在服务器有自己的共享文件夹,在浏览器中模拟实现操作系统中的文件夹树形结构,可以在文件夹下创建某个文档,可以查询、修改、删除文档;实现回收站管理,可还原、彻底删除文件;实现文件搜索功能;记录文档操作的日志。3.1.2消息管理平台通过本平台,实现消息管理、邮箱管理、信息提示等功能。用户可以对自己未发布的消息进行增删改查;可以指定消息接收者、消息的有效时间等;管理员可以查询所有已发布的消息;用户可以进行消息管理,主要有收件箱、发件箱、垃圾箱的管理;用户登录系统后,在消息首页显示未读消息条数,可以点击链接直接查看,显示未读消息列表;可以通过邮件系统互相发送邮件,支持不大于10M的附件,可以查看邮件列表。3.1.3考勤管理平台通过本平台,实现签到/签退管理、考勤历史查询、考勤统计、工作日管理、工作时间管理等功能。用户如果是当天第一次操作,只能签到,当天第一次以后操作,只可以签退,记录签卡备注、签卡时间;管理员可以通过平台按照时间段、部门、姓名等信息查询考勤信息;管理员可以通过平台统计一段时间内指定部门所有员工的迟到、早退、旷工次数等,可以导出Excel表格;管理员可以通过本平台设定当年的工作日,对周末、法定假日、公司休假等日期不做考勤;管理员可以通过平台设定某段日期内上班时间、下班时间;员工可以将出差时间等信息提交给领导审批,审批通过后管理员设定该员工在出差时间段内不做考勤;员工当天如果忘记签到,事后可以提交申请进行补签。3.1.4日程管理平台通过本平台实现个人日程管理、部门日程管理、便签管理等功能。用户可以浏览和编辑自己的日程;用户可以管理联系人名单;用户可以浏览联系人的日程;用户可以浏览和编辑部门日程;用户可以使用迷你日历,迷你日历是一个以图形方式简要显示当前日期、星期、月份的日历,为用户提供当前日期总览;用户可以记录便签。3.1.5系统管理平台通过本平台实现部门管理、员工管理、权限管理、菜单定制、系统登录/注销管理等功能。管理员可以对系统中的所有权限进行管理;可以管理部门信息;可以灵活定制不同角色人员登录系统后显示的菜单;管理员工信息、修改密码等,员工信息包含员工照片;实现只有登录用户才能使用本系统;提供系统注销功能;记录做关键操作的用户信息及操作时间,并提供管理及查询功能。3.2需求规约3.2.1一般性需求本系统针对企业内部人员使用,支持中英文两种语言,由于操作人员的计算机水平不同,应该有良好的人机交互界面和帮助支持页面,只有登录验证后的用户才可以使用系统,有良好的安全性能。3.2.2功能性需求角色说明普通员工:企业内部的员工;部门经理:企业内部的一个部门的负责人;管理员:负责系统维护的管理人员。整体业务流程描述用户(包含普通员工、部门经理、管理员)登录后,根据提供的菜单选项,进行权限允许的操作。以用户为中心,实现办公的自动化,实现考勤、日程、文档、消息的对应管理。如图3.1所示。图3.1系统功能模块图3.2.3最终产品应实现的特征适用范围:适合用于如下企业:已经建立了自己的Intranet网络,希望企业内部员工通过站内信方式交流内部信息,实现有效的协同工作;也可以通过邮箱与公司外部客户交流。技术层次:本系统属于信息管理型办公自动化系统,把事务型办公系统和综合信息(数据)紧密结合的一种一体化的办公信息处理系统。产品集成化:软硬件及网络产品的集成,单一办公系统同社会公众信息系统的集成。产品智能化:面向日常事务处理,辅助人们完成智能性劳动,如:个人日程管理、部门日程管理、便签管理,签到/签退管理、考勤历史查询、考勤统计、工作日管理、工作时间管理,消息管理、信箱管理、信息提示等功能。产品安全:由于权限管理对系统中的所有权限进行管理,相关用户或管理员要登录后才能进行相关操作,非系统人员无权进行操作,确保了系统的安全性。产品可配置:整个系统涉及办公的各方面业务,需要管理的资源比较多,因此系统的灵活配置性就显得非常重要,系统的可配置性应包括部门配置、人员角色配置、签到/签退配置、菜单定制配置、工作日程的配置等方面。产品易用:完全基于浏览器的操作模式,安装简单,易于上手。3.2.4项目约束1、集成方面,应该采用主流浏览器支持的如HTML、JavaScript、DHTML、XML等标准。2、由于操作人员的计算机水平不同,应该有良好的人机交互界面和帮助支持页面。3、性能约束:用户进行操作的时候能够及时响应,没有明显的延时。系统运行稳定,能够长时间连续运行。4、软件环境数据库:Oracle10g及以上中间件:Tomcat6.0及以上JDK:6.0版本及以上5、硬件环境:内存2G,硬盘80G3.2.5项目的技术难点和关键点1、表示层:各种办公应用的用户界面,功能繁重,形式多样。一方面工作量巨大,另一方面,如何设计出既满足功能需求,又方便、快捷、美观的界面,很有难度。此外,复杂的用户界面可能导致客户端性能问题,如何平衡性能与上述要点,是技术难点。2、 系统的功能繁多,如何进行系统设计与模块划分,降低各组件之间的耦合度,并且方便扩充和维护的问题是难点。3、 文档的搜索技术涉及搜索引擎,有一定难度。4、农历日历的计算问题。3.3涉及的技术领域整体采用B/S架构:方便普通用户使用以及管理人员部署和维护。以表示层、业务层、持久层三层结构来实现系统,使用MVC框架降低表示层与持久层的耦合度,便于子模块的开发与维护。本系统开发使用SSH框架,表示层使用HTML,CSS,JS,EXT作为富客户端页面技术;业务层主要以Struts为主,完成对账户、权限、会话的管理;实现文档系统管理、消息服务管理、个人日程管理、考勤记录管理以及考勤历史查询功能,并添加对MicrosoftOffice的支持,如导出Excel表格;持久层使用Oracle数据库,用Hibernate管理对象关系映射,实现文档数据、消息数据、日志数据的存储管理;作为支持企业多人访问的办公自动化系统,对并发的支持将贯穿整个项目开发流程。第四章消息管理子系统详细设计与实现4.1子系统概述消息管理1、 新建消息:新建消息;2、 修改消息:对未发布消息进行修改;3、 收件人设置:可以指定消息接收者;4、 有效时间设置:设置消息的有效时间。消息发布1、 发布给个人:收件人填一个;2、 发布给多人:收件人填多个,中间用逗号隔开信箱管理1、 收件箱管理:保存自己收到的消息,有已读未读标记,可以删除,点击主题可以查看收件箱里消息的具体内容;2、 发件箱管理:保存自己已经发布的消息,可以查看、删除发件箱里的消息;3、 垃圾箱管理:保存删除的消息,可以还原或者彻底删除垃圾箱里的消息。图4.1信箱管理流程图消息查询
1、 管理员可以查看所有已发布消息;2、管理员可以按照日期段(某日期前、某日期后、某日期之间) 、接收者、发布者、主题中一个或多个条件进行查询。图4.2消息查询流程图消息提示1、 未读消息提示:相关人员登录后在消息初始页进行提示,显示未读消息条目;2、 未读消息链接:可以点击未读消息窗口的链接,直接查看未读消息列表,可以把未读消息标记为已读。图4.3消息提示流程图邮件操作1、 写邮件:给指定的邮箱发送邮件;2、添加附件:发送的邮件里可以添加附件同时发送,附件大小不超过 10M;3、 收件箱管理:查看自己收到的邮件,有附件标记,可以查看收件箱里的邮件,下载附件。
4.2数据库设计Oracle11g是甲骨文公司在2007年年7月12日推出的最新数据库软件,Oracle11g有400多项功能,经过了1500万个小时的测试,开发工作量达到了3.6万人/月。相对过往版本而言,Oracle11g具有了与众不同的特性。采用Oraclellg储存数据。消息管理子模块主要涉及2张数据表,详见表4.1和表4.2,TB_MES_SendMes与TB_MES_ReceiveMes是一对多关系。字段名类型可为空默认注释IDint否消息发布表的主键和外键,自动生成sendIDString否发布者ID,发布者-消息关联表的外键contentString否消息的具体内容topicString否消息的主题remainTimeTimestamp否「2100-12-31消息的有效时间stateint否1已发布消息状态,1表示未被删除,2表示在垃圾箱,3表示从垃圾箱彻底删除sendTimeTimeStamp否消息的发送时间,消息发布自动记录发布时间表4.1TB_MES_SendMes表名:发布者-消息关联表(TB_MES_SendMes)表功能说明:用于描述消息的具体信息以及发布者与消息的关联字段名类型可为空默认注释IDint否消息接收表的主键,自动生成sendMesIDString否消息接收关联表的外键,对应消息发布表的主键receiveIDString否接收者ID,接收者-消息关联表的外键isReadString否未读消息是否已读stateint否1已接收消息状态,1表示未被删除,2表示在垃圾箱,3表示从垃圾箱彻底删除表4.2TB_MES_ReceiveMes表名:接收者-消息关联表(TB_MES_ReceiveMes)表功能说明:用于描述接收者与消息的关联4.3界面设计JSP是Servlet的扩展,在没有JSP之前,就已经出现了Servlet技术。Servlet是利用输出流动态生成HTML页面,包括每一个HTML标签和每个在HTML页面中出现的内容。CSS(CascadingStyleShee,t可译为“层叠样式表”或“级联样式表”)是一组格式设置规则,用于控制Web页面的外观。通过使用CSS样式设置页面的格式,可将页面的内容与表现形式分离。页面内容存放在HTML文档中,而用于定义表现形式的CSS规则则存放在另一个文件中或HTML文档的某一部分,通常为文件头部分。将内容与表现形式分离,不仅可使维护站点的外观更加容易,而且还可以使HTML文档代码更加简练,缩短浏览器的加载时间。[15]JSP标准标记库(JSPStandardTagLibraryJSTL)是一个实现Web应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML操作以及数据库访问。在developerWorks上其新系列的第一篇文章中,软件工程师MarkKolb向您展示了如何使用JSTL标记来避免在JSP页面中使用脚本编制元素。您还将了解如何通过从表示层删除源代码来简化软件维护。最后,您将了解JSTL经过简化的表达式语言,它允许在不必使用功能齐全的编程语言的情况下对JSTL操作指定动态属性值[16]本模块采用JSP实现表现层,CSS美化界面,JSTL格式化显示数据,date.js控件实现日期输入操作。采用jsp实现发布消息页面,主要代码如图4.4所示,界面主要部分如图4.5所示。<tdclasa=wtJZ'Fwid.-&h=10G>接收者</td><td><inputname-rrreceivelD" id-ppret7eiveIDFPtitle-3ize-U0></td>c/tr><nralign»ppl&rtirbgc□1or*■"fD8E3EClbordercolor«Br#KFFFFFn>class-主题<td><lnput cype=wtextwid=*htopic11c1e= siEe=13C></td></tr><trali5=^1昙f匸"bgc□1□r=J*#DSE3ECwbordergo1cr=trtFFFFFFw>ctdcla53=|!rtl5pr>内容</td><td>ttextarearmrnc""■content"uci'Ls*,t130,rrows™,r20'r ^contenttit•丄"娜样內瘁b<nralign-figcolor-"fDfiEJEC^torderec1or-"#FF<taclass-wti2w>有敕时间</td><ud><inputnacne=HremainTiae"type^*text,Fid=HremdinriiQeMtit丄e=“育滋时闻"aize5=50or</td>图4.4发布消息界面主要代码由吝肖效时討>iii点送〔毛冈图4.5发布消息主要界面利用CSS样式美化界面,CSS文件主要代码如图4.6所示。body{rtargin-left:Opx;itaigin-top:Opx;tcatgin-r1ght:Opx;margin-bottom:Opx;)ID{FOm-SIZE:LINE-HE工匸HT:23px;FONT-KAMILY:斥御:)POSITION:relative;TOF:210px}.tll{fonc-31ze:fanr-faitily:“隶书hcolor:#0144^5;font-weight:.bold;Letter-spacing:2px;).tl2{font-wexghr:bold;bacJcground-positi-an:center;calar:#014455;},btn31(width:92px;rieigtit:25px;lme-he丄廿hp:ispjc;fant-siz&:14px;color:;padding-left:16px;background:urlf"I?g51jpgno-reps且七Isrttop;padding^bottont:4px;>图4.6CSS主要界面采用JSTL格式化显示数据,主要代码如图 4.7、图4.8所示。<%Gt;aglibprefix=,*cfluri=^httpj/Zjava*sun.conr/jsp/jstl/core1*%><%&taglibpreflx= nuri=**http;//java.suncozn/jsp/js七丄/fint:"%>图4.7jstl标签导入代码<tdxfmt:farinarDatevalue="${b[3]}"pattern™"yyyy-MM-dd.HHimnL:ss"/x/td>图4.8jstl格式化日期显示代码采用date.js控件实现日期输入操作,代码如图4.9所示,日历效果如图4.10所示。幵始口期: ^ "“<±npux;typesBrtext;iLaziLe=p,startTime"*口肝匚1ick=fPopCalendar[eventthiB,tms);0nFDCU3=H&iiisJs&Iect/JJrxeadanl^rs:IMreaclanlyIR,^结束日期:<inputcyp上■翡匸0兀匸悼njajne™""endTimeanClicic«fPapCalendarCevents,this,this}yanFoc口暮^帀匸力工百■母注ImcrUf』禅readonly™h?readonlyw>图4.9点击弹出日历代码<L/201ly-May>SunHvnTueVedThuFri12345&78910111213141516IT1819202122232425262728293031Tad&y:2Dlly5nl7d图4.10日历控件可视化效果4.4Javascript在项目中的应用Javascript实现复选框选择操作,代码见图 4.11。全选/取消前的复选框可以进行全选/取消操作,效果见图4.12。如果没有一个复选框选择了进行删除操作,则提示要选择,效果图见图4.13.<acript ?rtext/java1£uiicti&neheekAll(){for(wari=D;i.<docunueEit (11id")u.length.;i++){docizrnent;-getEliEjnentsByNaxe()[i]・checked*dacument・g亡tEleni亡zitByJci(**3^1亡utALJL1*,.checked;>}rtmctiondelt){varflag=false;for(var1■0;i<documeEit*getElennentsSyNaiDe(^id1")-length;i++)i{IE(document |[i].check-ed){flag='true;breaks*)irdfla^Halert["请送择蔓刪除的消息!-};returnfELlse;c/aerlpo图4.11javascript实现复选框选择操作主要代码图4.13未选择操作效果图Javascript实现表单验证,代码见图4.14,主要验证表单中的内容是否为空,为空的话则提示,提示效果见图 图4.13未选择操作效果图Javascript实现表单验证,代码见图4.14,主要验证表单中的内容是否为空,为空的话则提示,提示效果见图 4.15.ocriptLang"jmxAascriph〉functioncheckforir(rtyforn:){for(i=0;i<myforrr^length;i++){if(myform.elements[i].valu.e=rf"){alerc(myform・elements[i]*匸"1亡十"不能为空!*'};myforni.elements[ij-facus();returnfalse;}</script>图4.14javascript实现表单验证主要代码1 已读1 已读18181 已读161 已读16” 未读1&1 已读16』 已读100已读全选/取消li ■■图4.12全选/取消效果图收件人:295600145@容,收件人:295600145@容,图4.15表单验证效果图4.5Hibernate在项目中的应用Hibernate是目前最流行的ORM框架,其采用非常优雅的方式将SQL操作完全包装成对象化的操作。Hibernate是一个面向Java环境的对象/关系数据库映射工具。对象/关系数据库映射(Object/RelationalMapping)表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。利用Hibernate实现数据持久化,对应的映射文件如图 4.16和图4.17,代码中体现了2者间的双向一对多关系,配置文件如图4.18所示。<cl&33niire-f,votSsndMes*1table-r,TB^>IES_SendM^s,r><j_duaiLe="></id><propernygen皀工且t■上d・"丘若y皀name*<propertygenerated—,rnever"lazy="false"na.ia^=HsendTineH/><praperrygenerated""n^ver'*lazy«ndite^^topicrF,nor-nul1*ntruert/><propertygenerated=,riiever"lazy="raZ5£,fname=rjcontent"not-null=jrtme"/><praperrygenerated="n^ver1*lasy^,ffaIJsennaite=tateV><propertygenexa匸它皿工”观芒卩童亍1*lazy="talser,name-rjrentainriine"/><setcascade=ft^ll"laz\*= naite=,freceiveMess"sart-=NtinsortedH><keycolumn=,rser:cLMesiDp,/><one-to-Bfcauyclass=,rvo.ReceiveMss11/></set></dass></hibernate-mapping>图4.16TBMESSendMes映射文件<hibernace-mapping>Mvo.FleceiveMes**tah1e= cej.vsM?s**><idnair£="F£d"><gentratorelftss*,fnativs"/></id><propercygenerated"f,nev*rlazy™"£占丄sef,name™"receivsID,,/><propertygenerated-^nsvsr,1丄"fd丄se"name-F,stateV><proE«Erygenerated-r,r:sver,Jlazy-,F^a丄s芒"nun亡■"ZsJ?兰旦d"/〉<ma^y-tc-onecascadew,,a2I,rcolumn^"ssndMesID,'l&z^"false"naixe="sendMes</cla3s></hitoernate^mapping>H图4.17TB_MES_ReceiveMes映射文件<propercyname^**didiectJt>or^,hibernate.dialect,OracleDialecr</properCy><!-数据库连接一》^propertyname=nGonneGtiQnrurl^jdbc;oxacle;-chln;@localhcsv;1521;oadb</proper^y><!-数据庫连接用户名-><propertynarne^"connectxon・usernainE,J>3cott</property><■-数据庫连接密码一〉<propert-yname=**Gonnection^p^ssvor^">匸1丁亡1"<:”1)十口1)亡<!--驰动—><propertyname="Gonnection»drivTei^Gldss">oxacle・jdbc.OrmcNwDrj/VErcfprcjpEHtyA<\-_显示岂取语句-_><propertyname="shov_sql">zrue</praperty><!—自动建:表-~><prcp亡rtynair.e="?iih?ernate* I.目口七o*f>update</pro]perty><F—映射文件-亠<przpertynair.e■Rtnyeclipse*connecrion*profiie,r>OADB</prcperty><iEappmgres:QL]Tce=rtvt)/SendMes.htun.xml,f/><mappingresource""vo/ReceiveMes.hbmtxml,r/></sesaion-f图4.18数据库配置文件采用Hibernate自带的HQL查询语句对数据进行查询,如图4.18所示。按如下步骤进行:⑴获取HibernateSession对象:⑵编写HQL语句:(3)以HQL语句作为参数,调用Session的createQuery方法创建查询对象:⑷如果HQL语句包含参数,调用Query的setXxx方法为参数赋值:(5)调用Query对象的list等方法遍历查询结果。//使用内麻接査询的HQL语句Stringhql■p3elea:tc™aendlDjb・疋上ceivelD,c■匕□口ic^c・廿上ntiriTne:.£:.idlfY口mReGei^eMesbinnezjoinb・才亡ni!Mu:3cp;lxs匸=session・匸工亡玉匸芒切亡三胃(bql】=1■丄st匸[乂;U://提交事物)catch(Exceptione}fe^pzln^SnacfcTxace();//打印异常fB忌图4.19HQL查询利用UPDATE方法更新数据库,如图4.20所示。插入数据时,如果是一对多关系的,先插入一的那个,瞬时对象要保存。不然在后面的代码中,保存Student时,会因为sendMes在数据库中没有而发生瞬时对象不存在异常, 再插入多的一方,多的一方通过split区分出收件人,依次进行插入,代码如图4.21所示。for(Surings:ids){//通过循环茯取王键idIntegerid-Integer,vjiueOX'fs);//卡专换为Tnwg亡工型/V通过方法加數据ReceiveMesreceive=(ReceiveMes) (Receivei^es.classfz.d}7receive・setState(2);session.update(receive}; 出1除娄SIS//提交事物//session・d亡丄亡匸亡(工亡u亡Lv//提交事物session・ge^Transaccion()*cornr^ic(}:catch(Exception亡){e*printS匸acJcTrau亡();..扌T~E卩异'常,息,session亡匸Tir曰n吕且ctian()・rullJDack();;/回滚事物图4.20更新数据库主要代码M绘叽unu#■hPL二绘ELQ丄JJk口口)FsendHcs.setSendTime(newTimestamp(newDane()・gtcTLrae()));sendMes.,.setCon匸巳口匸(co口匸它口匸】;sendMes・setTapie(topic};sendMea+State(1);"瞬时对象要保存。不然在后面的代码中,保存Srudent时,僉因为gendMes在数据库中没有而岌生瞬时对象不•存3e33ian*save(sendMes};String|[]result■redeivelD・split("Jrfor(inti=0;i<res口】匸•丄亡ngth;14+) {ReceiveMesEeeftiveMes■newReceiveMes()/intreceiveIDint=Integerhparselnt(result[1]);recelveMes・secRecexvelD(recelvelDInt);reaeiveMeSisetSendMes(^endMes)jrecelveMes・secSta匸亡(1};receivieMea!,set^IsRead{;sessicm・save(receiveHes);)session.BgetTransaGtion(J・cornmit(J;//提交事物图4.21添加数据主要代码4.6过滤器在项目中的应用为了防止出现中文乱码等编码问题,设置了过滤器,将编码全部转为“UTF-8”,主要代码见图4.22.piablicclassStrFiltezimplemeiitsFiltetfpublicvoiddesxroy0{//TODOAuto-generatedmeth口且stub}publicvoiddoFiltei(SeivletRequestazgOrServletResponseiarglpFilt皂疋且inarg2)throwslOException,ServletException{«argOH3*etChaXiactexEncQding("utf-B");argl・setCharacterEneoding(flutf-6ir>;asrgZ.doFllcer(argQnargl);)publicvoidinit(F.11terConfigargO)throwsServletExcepclon{//TODOAut-a-generatedmethodstub}}图4.22过滤器主要代码4.7JavaMail在项目中的应用JavaMail是Sun公司为方便开发人员在应用程序中能够实现邮件发送和接受功能而提供的一套标准开发包,包括面向普通开发人员调用的 API和实现了SMTP、POP3IMAP、MIME等底层协议的服务提供程序。接收邮件时先建与服务器的连接,然后打开邮件夹,之后循环读取邮件信息,获取邮件的主题、内容和附件,见图 4.23。LrUX.U<WOn-FK-J.¥ LrJ-UXXf丄■■>Jumh_上」J-LUlL叫r-esponse・aetContentType(^text/tacrO;chaxsec=GBK11};HctpSeasLansession■request・g亡tSrs已九口!!();Scrmghost■seaalan-gstAcnritoune(whascw)■匸aSerlng(}?H茯取主机窖Stringusexna»e■害亡自弓1。口■口亡i:鼻m:jLEn«皀Lum亡mam亡■tQSEric口门;//茯取由b箱名Stringpassword=ffesslon»getA匸t工db口("■pirfd1')■上口£匸匕:1口0();./默取.邕码StringstrPage=(String)recjue91.getParairje匸芒工(艸F®g皀艸);'/试取,当目ij页intPage=1;Lis匸lis匸=newArrayList(J;MyPagina匸丄anpagination=null;if(srrPage»null){paig-inaxion■uftwXyPagination();paig-inaxion■*+**・*+**获取邮件倉息mStorestore=null;try{store=connection(host,usernjairiefpassword); 八建XZ与邮件报芬弦的连接Folderfolder=(Folder)store.^皂匸卩口丄也亡工^工曲口掘1*);folder,open(Fs1der.READ_J(fJ1IT^}; //fTH邮件夹//***曲*•曲*■★曹'•世■击世'•*■击■*•曲* •宵斷■曲* ■曲*■古斷•曲*■**ri|*•曲*Message[]message=folder.ge匸“电芳耳盛^芒耳(》二Stringmail_ccntent=nn;Stringnail_attach=wn;Message^essagel=null;System・占口七■口工:mtlnr1邮1牛T数:p,+me33age.1engch):f 循环读取邮件佰患 for(inti■'messageeng匸ti■ 1>■0:1--)(MxmeMcssage皿=(MxmeMedsage)nie-ddagelEi];Ema11Formf=newEmailFarmt)'7m&ssag&I=mesaage[i];f・setMessageld(m・g已匸M已吕s注g已ID(});F由『丰工DStringaddress=it启3sag皂工・g»et;From()[0]・eoString();intn=address.mdexOf(■<■);图4.23接收邮件主要代码4.8JspSmartUpload在项目中的应用jspSmartUpload是一个可免费使用的全功能的文件上传下载组件, 适于嵌入执行上传下载操作的JSP文件中。该组件有以下几个特点:1、 使用简单。在JSP文件中仅仅书写三五行java代码就可以搞定文件的上传或下载,方便。2、 能全程控制上传。利用jspSmartUpload组件提供的对象及其操作方法,可以获得全部上传文件的信息(包括文件名,大小,类型,扩展名,文件数据等),方便存取。3、 能对上传的文件在大小、类型等方面做出限制。如此可以滤掉不符合要求的文件。4、 下载灵活。仅写两行代码,就能把Web服务器变成文件服务器。不管文件在Web服务器的目录下或在其它任何目录下,都可以利用 jspSmartUpload进行下载。口在邮件发送部分采用jspSmartUpload实现了附件的上传,上传页面如图4.24所示。上传 File如T上传 File如T区囲睪上袴甬交箱 i用苞・・・」注L文件大小请控制在1饰以内。[W1匚臺岂>訣- 新建丈曜■下载K桌竟爲访冃弐遷三曲库3视预7圏片胡文普迅17^图4.24邮件附件上传第五章总结与展望5.1项目总结5.1.1小组完成的工作经过为期两个月的艰苦奋斗,本小组从需求分析、详细设计、编码、测试到集成部署,完成了项目的前期文档准备,中期编码完成,后期集成
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 专业电脑交易协议格式(2024年)版A版
- 2025年度跨境电商平台产品区域代理合同协议书4篇
- 科技前沿:资金驱动创新
- 2025年度仓储物流场地租赁保证金三方服务协议4篇
- 2025年度柴油运输合同书(智能化物流服务)4篇
- 2025年度绿色环保型铲车租赁合作协议4篇
- 2025年智能餐饮连锁店合作协议范本3篇
- 2025年度特色面馆连锁品牌加盟管理规范合同范本3篇
- 2025年度商业地产项目场地合作运营协议4篇
- 专业电线电缆供应协议模板2024版
- 【公开课】同一直线上二力的合成+课件+2024-2025学年+人教版(2024)初中物理八年级下册+
- 高职组全国职业院校技能大赛(婴幼儿照护赛项)备赛试题库(含答案)
- 2024年公安部直属事业单位招聘笔试参考题库附带答案详解
- NB-T 47013.15-2021 承压设备无损检测 第15部分:相控阵超声检测
- 装饰工程施工技术ppt课件(完整版)
- SJG 05-2020 基坑支护技术标准-高清现行
- 汽车维修价格表
- 司炉岗位应急处置卡(燃气)参考
- 10KV供配电工程施工组织设计
- 终端拦截攻略
- 药物外渗处理及预防【病房护士安全警示教育培训课件】--ppt课件
评论
0/150
提交评论