职称评审材料管理系统_第1页
职称评审材料管理系统_第2页
职称评审材料管理系统_第3页
职称评审材料管理系统_第4页
职称评审材料管理系统_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘要评审材料管理系统是专门提供相应的评审材料管理服务的一个,用户可以将提交的相关的评审的材料上传到服务器,并且也可以查询到已经上传的一管理,以及方便对材料的查询。评审材料,方便对评审材料的统本系统使用 MyEclipse 2013 为主要开发工具,以 Window Server 7操作系统为运行环境,主要实现理,用户权限设置等功能。评审材料管理,用户管理,日志管本文对评审材料管理系统中的几个的设计进行了研究。从理论上对这些进行了详细的,并完成了基于评审材料管理系统Lucene、JXL、自定义、过滤器、器的:的实现。文章从以下几个方面进行了首先,本文介绍全文搜索引擎的市场需求、研究状态;全文搜索

2、引擎的基本结构、实现的理论基础如何将中文分词技术、方法;全文搜索引擎的,技术和数据索引技术有机的结合起来。其次,本文将介绍 JXL 报表(Excel 报表的导入)的市场需求应用状态,以及 JXL 报表的理论基础方法。最后,详细描述了一个基于 Lucene、JXL、自定义、过滤器、器的评审材料管理系统的设计与实现。Lucene;JXL;自定义;过滤器;器ABSTRACTTitle appraisal material management system is dedicated to provide the corresponding title appraisal materials mana

3、gement servi of a platform, the user can submit the relevant title appraisal materials uploaded to the server, and also can query to have uploaded title review material, convenient and unified management of profes al materials, as well as convenient query of materials.This system uses MyEclipse 2013

4、 as main development tools, with Windows 7 operating system to run the Server environment, main title appraisal materials management, user management, log management, userpermis s Settings, and other functions.In this pr, the title appraisalof several key technology in theand implemenion are studied

5、. of these key technologies, andmaterial management system designTheoretically makes a detailed discuscompleted based on Lucene, JXL, custom tag, filter,erceptor titleappraisalmaterialsmanagementsystemimplemendiscussed from the following several aspects:ion.Thearticle, this psearch engine srroduthe

6、market demand, the research of full -texte; The basic structure of the full-text search engine,theoretical foundation and realization method of the implemenion; Thewordkeytechnologyoffull-textsearchengine,acquisition andhowtheChisegmenion technology, datadata indexing technologyanic union.Secondly,

7、this article willroduce JXL sements (import by Excel)application se of market demand, and JXL report forms the theoreticalbasis and implemenion methods.Finally, describes in detail a based on Lucene, JXL, custom tag, filter,erceptortitleappraisalmaterialsmanagementsystemdesignandimplemenion.Keyword

8、Lucene; JXL; Custom tag; The filter; Theerceptor目录1绪论评审材料管理系统的开发背景1开发目的和本系统的模块内容1文章的组织结构22所用技术的相关介绍32.1Lucene3Lucene 介绍3Lucene 开发原理(数据库与索引库同步)3Ajax3JavaScript4Jquery 的 zTree 插件5JXL 报表的导入2.5系统分析733.13.2可行性分析7需求分析7系统设计944.14.2系统特点9系统总体结构设计..44.2.5查询材料模块12上传材料模块12

9、用户管理模块12角色管理模块12查看单个用户模块124.3系统处理流程设计..44.3.5查询材料处理流程14上传材料处理流程14用户管理处理流程16角色管理处理流程17查看单个用户处理流程174.4数据库设计175系统实现225.1系统登录.2系统登录页面的主界面效果22系统登录页面的实现225.2材料上传和查询.2材料查询和上传主界面效果25材料查询和上传的实现265.3用户管理2.2用户管理主界面效果27用户管理的实现315.4角色管理3.2角色管理主界面效果31角色管理的实

10、现316系统测试33测试基础33测试内容33单元测试33集成测试34结束语35致 谢36参考文献37评审材料管理系统的设计与实现1绪论1.1评审材料管理系统的开发背景随着互联网(ernet)的出现和普及,人们的信息来源得到了极大的丰富,互联网成为了人们获取信息的主要来源之一。在 ernet 信息不断增长的情况下,如何快速准确的获取所需信息成为研究热点之一。搜索引擎技术(Search Engine)就是在这种需求背景下发展起来的。随着信息化进程的推进,以及互联网的普及,无纸化办公越来越得到推广。大,传统的评审申数的不断增长,申报评审的工作压力也不断增评审材料管理出现效率低下,管理模式,文件管理评

11、审,也会出现资料丢失,资料乱序排放等问题。为此,管理系统,该系统包括材料查询,材料上传,开发了用户管理,角色管理,单个用户管理,数据字典等模块。1.2开发目的和本系统的模块内容评审材料管理系统是根据业务发展需要,建立的以评审材料管理为模块的,其他模块为辅助功能的管理系统。本系统的模块内容有:数据字典模块中,使用 Ajax 技术,实现 1个页面 2 个表单的数据传输和异步跳转。系统使用过滤器实现粗、细颗粒度的权限控制,提高了检索的效率和速度,使权限的配置形式也更加灵活。使用 Jquery 的 zTree 插件完成系统菜单的功能权限控制。在系统开发的各个模块中,使用 struts2 的ercept

12、or 自定器实现异常机制的处理和转发,对 Action 层,Service 层,层的异常做的捕获,同时使用 Log4j 技术将异常错误信息在服务器上生成日志文件,方便系统进行检查和处理,并同时指定错误页面捕获异常信息,使得系统输出异常信息更加友好。对各层异常的处理放置到 Action 层之前的erceptor器中负责,简化了系统的代码处理,让系统的运行更加安全。根据业务需求,开发并实现了一个 JavaScript 框架(Ajax),在页面上可以实现异步请求和操作,应用于系统的分页功能、角色功能、数据字典功能等,大大简化了用户在页面上的操作。在用户管理模块中,使用 jxl 实现了对 Excel

13、数据的导入功能。在查询数据字典的时候,使 用了 hibernate 的二级缓存,大大提高了检索策略,尤其在加载数据项的时候,对数据录入准确性的校验、比对,在性能上优化了数据的检索形式。使用 MD5 技术对【记住我】功能;进行加密。登录操作的时候使用【系统或出错后 5 秒跳转到登录页面。】、1.3文章的组织结构本文主要研究了 最终实现一个基于 java如下:第 1 章:绪论。评审材料管理的实现中所涉及到的相关技术,下的评审材料管理系统。具体内容安排第 2 章:介绍了搜索引擎 Lucene 的总体结构以及 Lucene 的开发原理,是如何保持数据库与索引库同步的;介绍 Ajax,Jquery 的

14、zTree 插件,Jxl,以及 hibernate 的二级缓存。第 3 章:设计实现一个基于 java的评审材料管理系统,借助 Lucene,Jxl 等相关技术进行实现,在本文论述的理论终实现设计目标。基础上,最第 4 章:介绍评审材料系统的具体实现技术的解决方法。第 5 章:对互联网信息检索系统进况,对研究工作进行总结和展望。试,总结整个的完成情2所用技术的相关介绍2.1Lucene2.1.1Lucene 介绍Lucene 是一套用于全文检索和搜寻的开源程式库,提供了完整的查询引擎和搜索引擎。是一款高性能、可扩展的信息检索(文档搜索、文档内信息搜索或者文档相关的元数据搜索等操作)工具库。2.

15、1.2Lucene 开发原理(数据库与索引库同步)Lucene 保持数据库与索引库同步如图 2-1 所示。数据库增删改查询应用程序保持数据一致增删改查询索引库图 2-1 Lucene 数据库与索引库同步图数据库与索引库中存放相同的数据,可以使用数据库中存放的 ID 用来表示和区分同一条数据。2.2AjaxAjax 是异步的 JavaScript 和 XML,创建交互式网页应用的网页开发技术。Ajax 通过在与服务器进行少量的实现页面中数据的异步更新,即在不刷新整个页面的情况下对网页中的某部分数据进行更新,达到实时更新的效果。传统的 WEB 应用模式与 Ajax WEB 应用模式对比如图 2-2

16、2 所示。客户端浏览器JavaScript CallHTTP+CSS 数据响应请求请求响应WEB 服务器传统 WEB 应用模式Ajax WEB 应用模式图 2-2 传统的 WEB 应用模式与 Ajax WEB 应用模式对比如图Ajax 优势:减轻服务器的压力,在浏览器与服务器之间发送异步的HTTP 请求,按需取数据,则此时就是网页从服务器请求少量的数据,而不是整个页面的数据信息,这样也可以减少用户的等待时间;Ajax 独立于 WEB 服务器,基于 xml 标准化,并被广泛支持,不需安装插件。2.3JavaScriptJavaScript 是一种控制浏览器语言。是一种由 Netsc交互行为的计算

17、机编程语言,是和 LiveScript 发展而来的原型化继承语言,主要目的是为了解决服务一种的基于对象的区分大小写的客户端器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。当时服务器需要对数据进行验证,由于网络速度相当缓慢,只有 28.8kps,验证步骤浪费的时间太多。于是 Netsc的浏览器 Navigator加入了 JavaScript,提供了数据验证的基本功能。JavaScript 的组成部分:ECMAScript(一种语言的标准);BOMWEB(XML)服务器Ajax 引擎用户界面全称为 Browser Object M浏览器对象模型;DOM 全称为Object M

18、文档对象模型。JavaScript 的优势:客户端运行,代码的运行由用户自己的处理器,而不是规定的服务器,这样可以降低服务器的压力;扩展功能,可以借助第也可以自己来扩展插件;插件来编写自己所需要的部分代码,实施简单,可以使用相同的语言编写前端和后端,进而可以让前端代码和后端代码同时进行;用户更方便:游客不再需要为了填写错了一个错别字而填写整个表单,用 JavaScript,每个字段可以在用户输入的时候被验证,当他们犯错时可以得到相应的提示;浏览器内置 JavaScript:的用户不需要特殊的来查看 JavaScript,每个用户都会获得相同的体验。2.4Jquery 的 zTree 插件zTr

19、ee 是一个基于 Jquery 实现的多功能 “树插件”。优异的性能、灵活的配置、多种功能的组合是 zTree 最大优点。 zTree 是开源免费的。zTree 插件的主要功能为:兼容 IE、FireFox、Chrome 等浏览器;在一个页面内可以同时生成多个 Tree 实例;支持对 JavaScriptON数据的转换;和 Ajax 异步加载来完成 Tree 的显示;支持静态生成支持 Tree 的节点删除、编辑、移动;支持极其灵活的 checkbox 和 radio 选择功能;支持对图标和样式的任意修改,要依靠 CSS;简单的参数配置则可以实现在菜单项显示不同的菜单的功能;2.5JXL 报表的

20、导入Jxl 是一个韩国人写的 java 操作 Excel 的工具,在开源世界中,有两套比较有影响的 API 可以供使用,一个是 POI,一个是 jExcelAPI。能相对 POI 比较弱一点。但 jExcelAPI 对中文支持非常好,API其是纯 Java 的,并不依赖 Windows 操作系统,即使运行在 Linux 下,它同样能够正确的处理 Excel 文件。JXL 特征有如下描述:支持 Excel 95-2000 的所有版本;生成 Excel 2000 标准格式;支持字体、数字、日期操作;能够修饰单元格属性;支持图像和图表。JXL 与 POI 相比的一些优势:相比提供的功能的话,JXL

21、相对弱了点.所以如果要实现的功能比较复杂的情况下可以考虑使用 POI,但如果只想生成一些大数据量可以考虑使用 JXL,或者 CSV 也是一个不错的选择,不过 CSV 并不是真正的 Excel,然而 JXL数据比 POI 速度要快。3系统分析3.1可行性分析评审材料管理系统涉及到评审工作的全过程,对申报师、评委和业务部门管理员的工作都有重要的影响,因此在系统开前,必须对项目的可行性进行充分的认证,避免在开发过程中走不必要的弯路。系统开发可行性分析主要包括以下几个方面:技术可行性。本项目开发计划采用 Java 编程语言进行开发,数据库管理系统采用对数据库进行管理。从技术角度上看此开发语言在办公自动

22、化系统开发领域运用的已经比较成熟,同时有公司强大的技术支持和本身具有的良好的兼容性,使得项目整体开发技术风险和开发周期都控制在一个合理的水平。经济可行性分析。这个项目包括系统开发和硬件服务器配套,整体总费用在 10 万元左右。系统在设计开发过程中,将充分考虑未来工作中可以出现的对材料管理的流程变动、数据变动、变动等未知,对关键的功能节点和数据库表单结构都设置有灵活配置功能,可以确保系统五年内满足高校用户的对求。评审材料管理工作的需操作可行性分析。高校教师具有较高的文化素质,在计算机基础操作技能方面能够满足评审材料管理系统的素质要求,因此在高校中推广网络评审材料管理系统具有比较好的用户基础。3.

23、2需求分析评审材料管理系统在具体功能设计上,将尽可以模拟传统的职称评审中对材料和管理流程,并对原有的繁琐和机械的工作环节进行整合优化。重点在于发挥计算机在数据、查询以及网络在数据传的优势,尽可能的减轻申报教师在对评审材料管理上的工作负担,提高管理的工作效率。该系统具备以下主要功能:上传材料。用户可以上传评审所需要的材料。查询材料。用户可以通过多条件查询出已经上传过的评审材料,使用 Lucene 实现对材料的查询。用户管理。在用户管理模块用户可以查询用户,对用户的详细信息进行编辑、查看;删除单个或多个用户;并且可以添加单个用户,或批量导入多个用户。角色管理。在角色管理模块,系统管理员可以为不同的

24、用户分配不同的角色,每个角色具备不同的权限。查看单个用户。当用户登录成功登录后,会跳转到这个界面,用户可以查看、编辑自己的详细信息。4系统设计4.1系统特点评审材料管理系统简单的实现了对的管理的功能。系统名为 titleAppraisal。评审材料以及对用户系统使用 Java 语言进行开发,运行在 Tomcat 服务器下,主要支持Windows 操作系统,同时也可以移植到其他系统在实现上具有以下特点:。系统框架的搭建:项目底层使用 Struts2+Hibernate3.0+Spring3.0;Struts2 是一个 mvc 框架,是对 m2 模式的一个封装,Struts2为:Action、er

25、ceptor、Ongl 与 ValueStack;框架的三个Hibernate 是对 jdbc 的一个封装,是一个 ORM 的框架,通过操作 Java 对象就可以操作数据库中的表;Spring 是业务层的框架,以 IOC(反转控制)和 AOP(面向切面的编程)为,使用 Spring 可以方便解耦、简化开发、有对 AOP 编程的支持、对使用式事务的支持、方便集成各种优秀框架;数据库对数据进行保存;系统使用过滤器实现粗颗粒度的权限控制,并使用细颗粒度权限控制;器实现使用 Jquery 的 zTree 插件完成系统菜单的功能权限控制,熟练使用 Ajax 技术调用 json 数据,页面加载数据;使用

26、Jquery 控制前端显示,使权限的配置形式也更加灵活,精确到菜单、模块、以及功能点;Struts2 的UI实现每个、按键的权限控制(自定义);开发并实现了一个 JavaScript 框架(Ajax),在页面上可以实现异步请求和操作,不用使整个页面刷新,应用于系统的分页和检验等功能;使用 log4j 技术将导入的数据信息在服务器上做定期的备份;使用 JXL 实现了对 Excel 数据的导入功能;在系统开发的各个模块中,使用 struts2 的erceptor 自定器实现异常机制的处理和转发,对 Action 层,Service 层,层的异常做的捕获,同时使用 log4j 技术将异常错误信息在服

27、务器上生成日志文件,方便进行检查和处理,并同时指定错误页面捕获异常信息,使得系统输出异常信息更加友好。对各层异常的处理放置到 Action 层之前的erceptor行更加安全。器中负责,简化了系统的代码处理,让系统的运4.2系统总体结构设计网络环境下的管理系统的开发主要有两种模式:客户端/服务器模式(Cnt/Server,简写为 C/S)和浏览器/服务器端(Browser/Server,简写为 B/S)。C/S 模式中,客户端需要安装的客户端程序,实现业务逻辑校验,负责完成数据的录入、修改、打印;服务器端通常采用高性能的专用服务器,负责数据的存取和统计。C/S 模式能充分发挥客户端的机器性能,

28、很多工作可以预先交由客户端处理后再提交给服务器,客户端响应速度快。B/S 模式中,客户端只需要浏览器;服务器端存放业务逻辑(程序)和数据。的计算机默认情况下都安装有浏览器,所以可以说客户端是免安装的。浏览器通过 WEB Server 同数据库进行数据交互,完成数据的录入、修改用户,而业务逻辑处理方面,只有极少部分器端)实现,绝大部分在后端(服务器端)实现。为端(浏览系统性能,可以通过服务器端的分层结构如 WEB 服务器集群、分布式数据库、应用服务器、中间件技术等来形成所谓三层结构,这样就大大简化了客户端计算负荷,减轻了整个了用户的总体成本。与更新的成本和工作量,降低B/S 结构优势在于终端用户

29、通过浏览器向应用服务器发送处理请求,业务逻辑集中于应用服务器,数据库和使用集中于数据库服务器,正是这些特点使得 B/S 结构都要比 C/S 结构更方便更经济,不仅能够满足分布式事件的处理功能,而且还确保数据的一致性,同时提高开发效率,降低成本。系统的系统结构如图 4-1 所示。评审材料管理系统图 4-1 系统体系结构图评审材料管理系统采用 B/S 结构进行开发,将系统整体分成表示层、业务逻辑层和数据层三个彼此独立又相互依赖的层次来各自实现。表示层负责显示终端用户的操作界面,业务逻辑层负责业务逻辑的处理,数据层负责数据的。三层的分离使得表示层不用关心具体的业务逻辑的实现,业务逻辑不用关心自己将会

30、在哪里被显示以及以何种方式显示,数据层不用关心业务如何处理。评审材料管理系统采用 B/S 三层结构开发,在评审信息的数据库数据层业务逻辑层客户端浏览器表示层、数据效率。和信息的处理方面都有很大的优势,提高了系统的工作从功能上看评审材料管理系共有五个功能模块,分别为:查询材料模块、上传材料模块、用户管理模块、角色管理模块、查看单个用户模块。4.2.1查询材料模块在查询材料模块中,为了提高检索评审材料的速度以及增加检索方式的多样性,使用 Lucene 技术,建立一个大的索引库用于和数据库同步,用来支持大批量的数据搜索。4.2.2上传材料模块使用 struts2 实现了多文件的上传,并对文件的格式、

31、大小进行控制,放置到指定目录下,并使用 UUID 生成文件名,并将每一天的文件使得文件惟一,保证每个文件的合理,方便流程文档的查看和传递。4.2.3用户管理模块多条件查询实现对用户列表的查询,可以查询出符合查询条件的用户;使用 Jquery 的分页技术实现对用户列表的分页;在添加和编辑用户时使用 JavaScript 对数据进行校验,并且可以在添加或编辑用户时实现文件的上传,使用 JXL 技术实现对用户的批量导入。4.2.4角色管理模块Struts2 的 UI实现每个、按键的权限控制(自定义),在角色管理中可以对整个系统中每个菜单和按钮进行用户权限的分配。并且可以根据用户类型来色。的分配多个用

32、户的权限,为其设置角4.2.5查看单个用户模块在这个模块中只能显示当前登录系统的用户信息,用户可以查看自己的详细信息,并且可以对自己的信息进行编辑。使用 struts 的多文件上传实现添加多个附件的功能。评审材料系统整体结构如图 4-2 所示。评审材料管理系统评审材料管理系统管理用户管理模块角色管理模块上传材料模块查看单个用户模块查询材料模块图 4-2评审材料系统整体结构图4.3系统处理流程设计4.3.1查询材料处理流程在查询材料时,使用 Lucene 的全文检索技术,对数据库进行搜索。用户在查询条件中输入自己想找到的文件的相关词语或字,则可以查询出包含相应文字的文件名的文件。查询材料流程图如

33、图 4-3 所示。服务器端用户发送返回查询结果结束结束图 4-3 查询材料流程图4.3.2上传材料处理流程首先将上传的的数据从数据库中获取出来;然后利用 Lucene 将每条数据转化成对象,对对象进行索引数据的写入,保存在内存中;最后输出内存数据生成索引文件。上传材料的执行过程如图 4-4 所示。在索引库中进行查找,并将结果返回给用户显示查询结果对进行中文分词将发送到服务等待接收输入检索开始文件对象 转换为 对象分词器分词通过 IndexWriter 写入数据库上 传 成 否功?图 4-4 上传材料的执行过程图结束提示上传成功,并且在页面显示已经上传的文件点击上传选择要上传文件4.3.3用户管

34、理处理流程在用户管理这个功能模块中,用户可以输入查询条件根据多条件查询查询出所需要的用户列表;用户可以点击多选框选中要删除的用户或是点击全选来批量删除所有选中的用户,主要的技术是 JavaScript 来控制页面中的用户被选中;用户可以删除单个用户;用户可以添加、编辑单个用户,而在添加、编辑单个用户时可以导入用户所附带的文件,用到了 strus2 的文件上传;用户可以批量导入多个用户,用到了 JXL 技术来实现对 Excel 表中数据的批量导入。用户管理流程图如图 4-5 所示。开始否查询成 否保存成 功?提示是否要功?否删除选中 是是的?是结束图 4-5 用户管理流程图返回列表页面跳转到用户

35、列表页面在列表中显示符合条件的用户点击删除按钮填写用户信息点击查询按钮选择查询条件点击编辑、添加用户选择要删除的一个或多个用户4.3.4角色管理处理流程系统管理员可以为不同的角色来分配一些权限,然后再把这个角色附加到具体的用户上。而对于权限来说有左侧菜单的显示、页面中的按钮、以及某部分 jsp 页面的显示;可以一次为多个用户分配权限。角色管理流程图如图 4-6 所示。开始结束图 4-6 角色管理流程图查看单个用户处理流程当用户登录进来后,用户可以查看自己的详细信息,并且可以对自4.3.5己的详细信息进行编辑。4.4数据库设计数据库设计是对于一个已知的应用途径,选取最好的数据库模式,设计数据库以

36、及应用模式,以达到能有效户的应用目的。数据的目的,满足各种用评审材料管理系统数据库的设计过程中尽量满足了数据库的设计原则:点击保存选择具有此角色的用户为此角色选择权限选择角色类型规范化,在数据库的设计过程中应该遵循规范化理论;命名规范,数据库的库名、表名、字段名必须遵守规则;主键和外键;重复性的控制,尽量减少和消除数据库的冗余;数据库的设计中应该进行并发控制。评审材料文件表设计如图 4-7 所示。名图 4-7评审材料文件表设计图用户、角色、权限、用户4-8 所示。附件表设计及其相互之间的关系如图图 4-8 用户、角色、权限、用户数据库表各个表项的详细说明如下:附件表设计及其关系图表 4-1评审

37、材料表表 4-2 用户信息表字段名称数据类型备注userIDvarChar主键 IDjctIDvarChar所属codejctUnitIDvarChar所属的名称userNamevarChar用户logonNamevarChar登录名logonPwdvarCharsexIDvarCharBirthdayvarChar出生日期AddressvarChar联系地址contactvarCharvarChar电子邮箱MobilevarCharisDutyvarChar是否在职tIDvarChar职位onDutyDatevarChar入职时间字段名称数据类型备注SeqID主键 IDProjIDvarCh

38、ar带有附件的工程 ID(所属)BelongTovarChar所属资料类别FileNamevarChar文件名FileURLvarChar文件路径ProgressTimevarChar上传时间CommentvarChar备注表 4-3 用户附件表表 4-4 角色信息表表 4-5 用户角色关联表表 4-6 权限信息表字段名称数据类型备注MIDvarChar权限 CodevarChar父级权限 CodeNAMEvarChar权限名称UrlvarChar权限在系统中执行访问地址的 URLIconvarChar如果是菜单,则为显示的 URLvarChar如果是菜单,执行的 Frame 区称字段名称数据

39、类型备注userIDvarChar用户 IDroleIDvarChar角色 ID字段名称数据类型备注roleIDvarChar角色 IDroleNamevarChar角色名称字段名称数据类型备注fileIDvarChar主键 IDuserIDvarChar用户 IDfileNamevarChar文件名fileURLvarChar文件路径progressTimetimeSt上传时间offDutyDatevarChar离职时间remarkvarChar备注表 4-7 角色权限关联表字段名称数据类型备注roleIDvarChar角色 IDMidvarChar权限 CodevarChar父级权限 Co

40、deisParenttiny是否是父节点istiny是否是系统菜单结构5系统实现本章主要介绍各个功能模块的界面设计方式,以及实现方法。主要包括的模块有系统登录页面,查询材料页,上传材料页,用户管理页,角色管理页。5.1系统登录5.1.1系统登录页面的主界面效果系统登录页面如图 5-1 所示。图 5-1 系统登录页面图,并且利用 Ajax在系统登录页面中要输入用户名、和技术对用户名和验证进行了校验,只有输入正确的用户名、只能时才可以登录成功,对的设置有只能输入每个使用一次,可以点击换成另一个。5.1.2系统登录页面的实现1:struts2 的 validator 校验(校验)项目中进行数据校验的

41、方式:JavaScript 校验(前台校验)+Ajax 校验(校验)+Struts2 的 validator 校验(校验)。2:hibernate 的懒加载问题当使用 hibernate 查询一个对象的时候,如果 Ses关闭,再调用该对象关联的集合或者对象的时候,会产生懒加载异常,所以要在 WEB 容器中添加该过滤器(要求:该过滤器一定要放置到 strtus2的过滤器的前面,先执行该过滤器)。3:作用:防止的测试系统的用户名和(利用循环输入用户名和测试),采用,每次到登录页面的时候,的值是不同的,需要重新输入。4:记住我记住当前用户名和,下次登录名不需要用户再次输入。添加过滤器,实现在跳转到

42、index.jsp 页面之前先从如果name 中存在中文,此时中文字符是不能存放到中获取数据,对象中,使用 HttpResponse 对象添加会抛出异常。解决方案:使用 URLEncode 类和 URLDecode 类进行编码和LogonUtils 类对 name 进行编码:try name = URLEncoder.encode(name, UTF-8); catch (UnsupportedEncodingException e) 在e.prStackTrace();namepassword= new= new(name,name);(password,password);在过滤器 Sys

43、temFilter 类对 name 进行:if(.getName().equals(name)name =try .getValue();name = URLDecoder.decode(name, UTF-8); catch (UnsupportedEncodingException e) e.prStackTrace();checked = checked;5:完成动态加载树型结构使用 Jquery 的 zTree 插件的实现。6:自定义使用当前用户具有的权限,控制页面上的按钮或者7:粗颗粒度权限控制(使用过滤器完成)是否可见。Ses Ses Ses到 Ses不应该在服务器一直不清空,如果

44、 Ses过多,会导致压力大,系统变慢,于是要求 10 分钟如果不操作系统,将自动清空。粗颗粒度权限控制即 Ses级别的权限,精确的权限控制(判断 Ses是否存在),使用过滤器完成不存在就跳转到友好提示的页面,粗颗粒的权限控制,如果 Ses如果存在可以通过 URL到对应的操作。8:系统中的异常处理+日志备份(使用 struts2 的器)使用 struts2 的ntercept()方法定义 try没有抛出异常,则在 try 模器,在器中的catch 异常,如果 Action、Service、块中指定正确操作的页面。例如:result = actioninvocation.invoke();retu

45、rn result;/result 跳转到正确的页面如果 Action、Service、抛出异常,则在 catch 模块中,获取异常,使用 log4j 存放到指定的日志文件中,通过 returnerrorMsg;跳转到错误页面。9:细颗粒权限控制(使用 struts2 的器)使用 struts2 的器定义一个注解(mid 和),对应权限 code和父级权限的 code,将注解添加到 Action 类中方法的上面。每个Action 类的方法上添加注解(mid=”,=”),表示方法的惟一标识(即该方法所具有的权限)。在 struts2 的器中,从Ses中获取角色 ID,获取 Action 类方法上

46、的注解(mid 和),使用角色 ID,mid 和查询角色权限表,判断当前用户是否可以操作该方法。在 struts2 的询一遍数据库,而不从 Ses器中都要使用 roleID,mid,去查中获取 mid 的值和注解上定义的 mid的值,操作每一个功能之前都会先查询权限,这样查询才能保证数据安全。5.2材料上传和查询5.2.1材料查询和上传主界面效果材料查询页面如图 5-2 所示。图 5-2 材料查询页面图材料上传页面如图 5-3 所示。图 5-3 材料上传页面图对于材料查询和上传用到 Lucene 技术,材料查询用户可以进行多条件查询,也可以根据查询出来的材料列表同时删除一条或多条列表数据。对于

47、材料上传使用 JavaScript 技术对页面中的上传材料选项卡可以进行设置,添加或删除上传材料的选项卡。一次可以同时上个文件。个或多5.2.2材料查询和上传的实现1:在项目的资源路径下添加三个配置文件:(1)IKyzer.cfg.xml:分词器配置文件ext.dic(扩展词库):在这个文件里面配置一些分词原则stopword.dic(停用词库):在这个文件里面配置一些不用分词的词汇。2:索引库基本代码在 util 包下添加三个工具类:(1)Configuration.java:指定索引库的位置,并对数据进行分词。(2)FileUpload.java: 向索引库中存放的数据要转换成对象(每条数

48、据就是一个对象),并向对象中存放 Field 对象(每条数据对应的字段,例如主键 ID、所属、材料类别、文件名称、备注等),将每个字段中的值都存放到 Field 对象中。(3)LuceneUtils.java:实现对数据的增删改查。5.3用户管理5.3.1用户管理主界面效果用户管理页面如图 5-4 所示。图 4-4 用户管理页面图用户管理页面-编辑用户页面如图 5-4 所示。图 5-4 用户管理页面-编辑用户页面图用户管理页面-编辑用户页面如图 5-5 所示。图 5-5 用户管理页面-查询用户页面图用户管理页面-添加用户页面如图 5-6 所示。图 5-6 用户管理页面-添加用户页面图用户管理页

49、面-批量删除用户页面如图 5-7 所示。图 5-7 用户管理页面-批量删除用户页面图用户管理页面-导入用户页面如图 5-8 所示。图 5-8 用户管理页面-导入用户页面图5.3.2用户管理的实现1:Jquery 的 Ajax 实现登录名的校验(1)页面效果:鼠标失去焦点时,页面会进行校验。校验如图 5-9。图 5-9 登录名校验图实现方法:使 用 struts2自 带 的 校 验 规 则 实 现 的 。 引 入 插 件 包struts2-json-plugin-2.3.3.jar 并在页面中进行相应的校验处理。2:对输入的号码进行校验在 JavaScript 中使用正则表达式对输入的3:文件上

50、传号码进行校验。放置到 upload 的文件夹下;将每天上传的文件,将上传的文件使用日期格式的文件夹分开,将每个业务的模块放置文件夹下;上传的文件名要指定唯一,可以使用 UUID 的方式,也可以使用日期作为文件名;封装一个文件上传的方法,该方法可以支持多文件的上传,即支持各种格式文件的上传;保存路径 path 的时候,使用相对路径进行保存,这样便于项目的可移植性。4:使用 md5 的加理用户的在添加用户和编辑用户时都要用到 md5 对进行加密。新增时使用 md5 加密,如果用户时如果修改了要进行加密。为 123;编辑没有填写,需要设置初始,需要进行加密,如果没有修改则不需5.4角色管理5.4.

51、1角色管理主界面效果角色管理页面如图 5-10 所示。图 5-10 角色管理页面图在本系统中对于用户、角色、权限的设计为:角色和用户的关系为多对多的关系,角色和权限为多对多的关系。角色在用户和权限之间起着桥梁的作用。5.4.2角色管理的实现1:项目中配置 hibernate 多对多的关系(1)用户和角色的关系:使用 hibernate(2)角色和权限的关系:不使用 hibernate,创建中间表(角色权限关联表)2:对于页面中全选和全不选的操作使用 JavaScript 来设置页面中的全选、不选中的一些操作。在使用进行保存的时候,获取页面选中复选框 value 的属性值,此时是一个 Strin

52、g 类型的数组对象,可以采用遍历数组的方式,保存数据。3:多对多级联删除中间表的数据如果用户分配了角色,那么删除用户的时候就会抛出异常,需要在ElecUser.htm.xml 文件中进行设置:inverse=true,由角色一端负责关联关系:也就是说角色可以操作用户,用户不能操作角色。6系统测试6.1测试基础(1)测试的目的评审材料管理系统的测试主要是针对保证对系统的需求分析、设计、实现编码进行最终的,保证系统能正确稳定的运行;检验预期结果和实际结果(2)测试方法差别,并根据需求再对系统代码进行修改。本系统采用的测试方法为:白盒测试,在知道评审材料管理系统的产品的工作过程的前提下,根据需求规则

53、说明书检测系统的内部动作是否符合规格说明书规定,系统中的每个功能的实现是否按照需求正确工作。6.2测试内容6.2.1 单元测试单元测试就是把各个模块看成一个小整体,采用静态测试和白盒测试法来测试各模块是否满足要求。在评审材料管理系统中首先对每个模块中的每个功能进行单一的测试,根据需求文档写测试用例,再根据测试用例点击每个,看页面中显示的效果与需求文档是否一致。用户登录功能测试用例如图 6-1。图 6-1 中文分词模块测试表6.2.2 集成测试为保证评审材料管理系统能够正常运行,分模块分功能的测试并不能保证整个系统能够正常运行。而这里的集成测试是对整个系统进行的测试,保证对数据库正常操作,并且把在数据库中需要展示的数据正确的显示在页面。在本系统中集成测试主要有关注的有以下几个方面:系统中当用户登录之后在【查询单个用户】功能模块中可以查询到此用户,并且在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论