版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
教研室文档管理系统设计与实现摘要随着教研室工作的增加,电子文档越来越多,且比较分散不集中,在进行查阅或者申报项目等工作时,经常需要重复收集文档,浪费了一些不必要的人力、物力和时间且造成文档的冗余。在分析传统文档管理手段不足之处的同时,结合以绿色环保为主题的办公形式,提出了以提高工作效率,服务教师与学生为目的的教研室综合文档管理系统的开发,该系统开发和设计研究的主要目的就是为了解决这一问题。该系统主要实现文档的信息化管理,将一些教研文档或者报表上传到特定的网站以便在日常的教学中节省一部分的人力物力和时间。该网站主要应用SSM框架进行开发,思路是将文档的文件名称和存储路径从前端页面上传然后从控制器读取文件的名称和路径,并将其存储到数据库中对应的文档表中,文件下载时将从数据库读取相应的文件的路径然后进行下载,从而实现文档的信息化管理。关键词:文档;电子化管理;SSM目录TOC\o"1-3"\h\z第一章绪论 41.系统开发的背景及目的 42.国内外开发现状与趋势 4第二章系统分析 71.系统需求分析 72.系统可行性分析 72.1经济可行性 72.2技术可行性 72.3营运可行性 83.系统使用技术分析 83.1Java语言 83.2SSM框架 93.3MySQL数据库 9第三章系统设计 111.概念设计(E-R图) 112.用例图 123.类图 13第四章系统实现 171.登录 172.管理员系统 203.教师系统 224.学生系统 24结论 26参考文献 27第一章绪论PAGE27第一章绪论1.系统开发的背景及目的由于互联网技术的迅速发展,在当今社会中的应用也越来越广泛,已逐步成为推动社会发展的动力。利用互联网技术,同时发展教育和科技也是实现科教兴国的有效措施。包括高职学院在内的高校信息化是社会信息化的基础和重要标志,实现高校的信息化是知识经济条件下高等院校发展的大势所趋[1]。由于近几年素质教育的全面推进,各大高校进行扩招,教学资源愈发紧张,教学中产生和需要用到的文档日益增多,不仅增加了学校相关文档管理人员的工作量,而且增加了文档查找的难度。针对以上的问题,提出了实现教学文档电子化管理的方法,大致思想是用Java语言设计一个Web系统,可以将文档的电子版格式上传到系统进行管理,同时系统中保存的文档可以供所有的教职人员或者学生自行下载和使用自己所需的文档,减少了查找文档所耗费的时间,降低了查找文档的难度,缩短了获得文档的流程(一些重要的文档需要经过各种组织领导的批准才可以拿到,流程比较复杂且耗费时间较长),提高了文档管理的水平。建立基于Web的教研室文档管理系统还可以实现打破时间地点限制的文件共享,实现教研室文档管理的网络化、数字化,同时基于Java语言的教研室文档管理系统可以实现跨平台运行,且开发成本比较低。基于Web的教研室文档管理系统是图形化操作界面,便于使用人员操作,容易上手,不需要复杂的系统使用教学,可以快速地在学校中投入使用。2.国内外开发现状与趋势如何有效的进行文件管理这一问题存在已久,所谓的有效的进行文件管理就是指如何对文件进行有效的存储、检索、传递和利用等等。对于这一问题的研究,大致可以分为三个阶段:早期的文件管理方式是通过人管理文件,由人负责整理归纳所有重要的文件,即通过人手工操作进行文件的管理和文件的查找,在人工管理文件这一阶段,文件信息的存储主要是通过纸、竹简或者帛等媒介,人工管理这些文件工作量比较大,其文件的存储介质比较容易损坏或者丢失。这种文件管理方式比较简单,但是也有很多不便之处,这种管理方式效率低下且人的工作量比较大,尤其是在数量巨大的文件中查找一份文件时,需要耗费大量的时间进行查找。随着时代的进步,科技的发展,计算机技术的兴起也在一定程度上为文件管理方式的升级提供了机会,推动了文件管理方式从人工管理向技术管理方向的发展,即由人工管理方式转变为计算机管理方式。计算机管理文档分为两种方式,一种是早期的通过利用计算机中的资源管理器以固定的格式创建文件夹将文件进行分类存储,在一定的程度上弥补了之前手工管理纸质文档的不足之处,最大的进步就是将管理纸质文档改为管理电子文档,同时因为是将文件存储在计算机上,文件所用的存储空间大大减少,且管理方便,但是当文件数量很多时,查找起来也相对比较困难。另一种是通过利用数据库管理文档,即通过数据库进行文件的存储和管理以及查询。这种管理方式的优点就是存储空间大、检索速度快,解决了文档检索效率慢的问题。随着网络技术的崛起,文档管理逐步趋向于实现文件的共享,通过实现文件的实时共享和文档的集中管理避免重复工作,提高文档管理的水平并且在生活或者学习中提高效率。在第二阶段这一时期,关于电子文档的管理的研究目前也已经有了很多研究成果,首先是提出了无纸化办公条件下的电子文档管理的概念,这是因为电子文档相较于纸质文档具有以下优势。一是电子文档方便归档管理。物理归档是把电子文档备份在移动硬盘、光盘等载体上,移交给档案管理部门,真正实现电子文档的权限移交[2]。二是电子文档可以实现异地实时文件共享,打破纸质文档传输的空间限制。结合电子文档的优势以及快速发展的计算机技术,传统文档管理转向电子文档管理已成为社会的必然趋势。在这一发展过程中,基于各种语言的文档管理系统层出不穷。有基于Python语言的文档管理系统,Python语言简单易学,容易上手操作,而且省略了各种大括号还有分号以及一些关键字、类型说明等等。因为是解释性语言,所以开发过程中调试代码简单方便,开发效率比较高,同时可移植性高可以在任何系统上运行而且Python是免费开源的,应用领域涉及广泛[3]。目前流行的基于Python的Web开发的框架有很多,例如:Flask、Django和Web2Py等[4]。但是Python也有一些缺点,Python的执行速度相比于C/C++会比较慢,但是并不影响使用,如果是一些实时性比较强的程序,则会在一定程度上受到影响。在开发系统的设计语言方面就了解到以上这些,接下来是系统架构方面的现状。目前,大部分学校的管理系统都采用的B/S(浏览器/服务器)结构,当然也有一小部分仍在使用C/S(客户端/服务器)结构的系统。两种结构各有自己的优势和弊端。在运行速度方面,C/S结构的运行速度比B/S要快。在系统操作方面,B/S结构的系统操作只需要一个浏览器,而C/S结构的系统需要先下载其专门的客户端然后进行操作,相比较而言,B/S的操作更加简单方便。在图形表现能力方面,C/S结构的图形表现能力要强于B/S,但是随着前端技术的发展,B/S的图形表现能力大大提高,缩短了与C/S之间的差距。在跨平台使用方面,B/S有着明显的优势,因为B/S是基于网页语言的,与操作系统无关,因此可以实现跨平台的使用,而C/S是不可跨平台使用的,这在一定程度上限制了C/S的发展。通过以上的对比分析,可以发现B/S的优势明显,但是C/S也是有着不可替代的地位。结合B/S架构的优势和一些实际情况的分析,决定采用B/S三层体系结构进行教研室文档管理系统的开发。教研室文档管理系统设计的大体方向是首先确定系统的三大角色,并且确定各个角色的功能以及权限。一是管理员角色。负责管理学校信息、部门信息、专业信息、角色信息等一些基本信息管理和一些教师学生账号的增删管理,负责授予各种账号关于各种业务的权限。二是教师角色。可以查看或者下载教师角色上传的文档,还可以将文档上传到系统,可以查看或下载学生上传的文档,同时还可以上传自己的授课安排以及查看所有教师上传的授课安排。三是学生角色。学生可以查看或下载学生角色上传的各种文档,还可以将文档上传到系统的学生端,另外还可以查看所有教师的授课安排。第二章系统分析第二章系统分析1.系统需求分析文档管理是学校教务工作中的重要组成部分,而教研室作为基层教学单位,保存着众多重要的文档,所以收集管理教研室的文档对学校的文档管理工作有着重要的意义。目前在文档管理方面面临的主要问题就是文档分散、查找不方便、文档冗余等等。随着近几年互联网技术的发展,用电脑管理文档成为了解决文档管理问题的首要方案。不仅仅是因为互联网技术的崛起,还因为电子文档相比于传统文档有着很多明显的优势。首先是电子文档的效率高,操作速度快。电子文档能够使人在短时间内快速查阅到需要的资料,提高查询速度,避免了人工查阅资料浪费大量时间。其次就是电子文档可以使档案信息得到高效利用,实现资源共享。传统的文件是无法满足异地实时提供文件的,但是电子文档不仅可以打破时间距离的限制,还可以实现多人共同使用同一文件,实现资源最大化共享。最后就是电子文档安全性比较高。电子文档的安全性表现在有一些涉密文档可以实现加密保存,一定程度上防止非授权访问;纸质文档易丢失、易损坏并且纸质文档长时间保存容易破损进而损害文档资料的完整性,且纸质文档相较于电子文档所占存储空间比较大,而电子文档存储方式多样,占用空间小,长时间保存也不会损害文档的完整性并且可以有效提高文档的保密性。因此教研室传统文档管理转换为电子文档管理有很多先进之处。2.系统可行性分析2.1经济可行性在经济角度分析,成本投入低,产生的效益高于投入的成本。使用的开发软件是绿色版eclipse,数据库是MySQL,一个开源数据库,在操作MySQL数据库时为了简单方便操作,使用了navicat软件,navicat是一个以图形化界面操作数据库的管理工具[6]。它以直观的方式展示数据库中的表数据以及表结构,方便用户操作和理解。开发教研室文档管理系统主要投入一个或多个开发者的时间和精力,但是当系统完成之后,投入到使用中将会节省很多人的时间和精力,产生的效益远远大于投入的成本。2.2技术可行性在技术角度分析,MySQL数据库的使用比较简单,而且对应的navicat软件是以直觉化的图形用户界面,管理数据库中的表,相比于使用MySQL的命令行管理数据库更加简单。开发过程中使用的是我比较熟悉的Java语言,有一定的技术可行性。近年来,Java以其高可靠性、可移植性和可扩展性在社会和行业的各种实际应用系统中得到了广泛的应用[7]。2.3营运可行性由于教研室文档管理系统是基于学校在文档管理方面的问题提出的开发方案,是符合实际需求的,在高校的推广可行性方面有一定的优势。文档管理系统将会大大提高文档管理的水平,提高工作效率,减少了查找文档所耗费的时间,具备很强的推广性。结合上述可行性的分析,教研室文档管理系统的开发是符合需求且设想合理,具备实施的可行性。3.系统使用技术分析3.1Java语言教研室文档管理系统使用Java语言进行开发,并应用SSM框架。首先介绍Java语言的特性,Java作为一个在众多编程语言中被广泛使用的语言,其有以下几点优势:简单易懂在计算机开发方面,由于Java语言可操作性强、安全性较高,并且能够适应于多种开发环境,满足不同用户的需求,具有操作简单、可移植、高性能等特点,与其他编程语言相比具有很多的优势,因此受到了广大计算机技术人员的青睐[8]。Java语言的语法与C++相似,相对简单,便于大多数程序员学习和应用,而且Java抛弃了一些在C++中难以理解的语法,降低了语言理解的难度,使自己的语言更容易理解,方便了大多数人的学习和使用[9]。Java是一种面向对象的语言,使用者更容易理解。良好的安全性和健壮性Java编程和其他的开发技术对于计算机软件开发的工作有着不同的效果,Java编程具有较高的安全性和稳定性[10]。Java的运行的环境是复杂的,在运行过程中可能会遭受到恶意代码的攻击,针对这一问题,Java语言配备了一种安全机制对程序进行保护。Java强大的类型机制、垃圾收集器、异常处理和安全检查机制使得用Java编写的程序非常健壮[11]。平台无关性Java语言可以实现“一次编译,多处运行”,这一句话充分表达了Java语言的平台无关性,不管是在哪个系统下的平台上进行编译,编译后的程序都可以在其他平台上运行[12]。由于Java语言可以跨平台使用,因此具有很强的可移植性。这是因为Java语言是一种解释性语言,编译器将Java代码转换成“中间代码”,然后在JVM(Java虚拟机)上进行解释和执行[13]。因为中间代码是独立于平台的,所以Java语言可以跨平台使用。高性能与一些解释性的高级脚本语言相比,Java是高性能的,同时,因为JIT(Just-In-Time)编译技术的发展,Java的运行速度越来越接近于C++[14]。以上Java语言的特性是其被广泛使用的原因,同时也是此次开发系统选择Java的原因。3.2SSM框架SSM框架是SpringMVC、Spring和Mybatis三个框架的整合,是标准的MVC模式,划分为表现层、controller层、service层和DAO层,SSM框架的优势可以从分析其组成部分的优势所得[15]:Spring的优势Spring是一个开源框架,通过Spring中的IOC特性,将对象之间的依赖关系交给了spring控制,用来削减计算机程序的耦合问题,减轻了后期程序维护的工作量。SpringMVC的优势SpringMVC通过分离模型、视图和控制器实现web层职责的解耦,将复杂的web应用分成逻辑清晰的几个部分,有利于开发中的分工,提高开发效率。同时因为在MVC模式中,三个层各司其职,一旦需求发生变化,只需更改相应层的代码而不会影响其它层中的代码,维护成本较低。同时分层后有利于组件的重用,代码的复用、重用性高。Mybatis的优势Mybatis是一个半自动的ORM(Object-RelationalMapping,对象-关系映射)持久层框架,内部封装了JDBC(JavaDatabaseConnectivity,Java数据库连接),消除了JDBC大量冗余代码,不需要手动开关连接[16]。Mybatis相对来说比较简单,易上手易掌握。Mybatis优势是比较灵活,SQL语句写在XML文件里,从程序代码中彻底分离,解除SQL与程序代码的耦合,便于统一管理和优化,并可重用。Mybatis支持定制化SQL(即自定义SQL查询)、存储过程以及高级映射。提供映射标签,支持对象与数据库的ORM字段关系映射,并且提供XML标签,支持编写动态SQL语句[17]。缺点是SQL语句的编写工作量较大,尤其是字段多,关联表比较多时,加大了开发人员的工作量。3.3MySQL数据库教研室文档管理系统开发中使用的数据库是MySQL,MySQL数据库体积小、速度快、开放源代码,一般中小型网站的开发都选择MySQL作为网站数据库。MySQL能够快捷、有效和安全地处理大量的数据,相对于Oracle等数据库来说,MySQL的使用简单,易于上手[18]。操作MySQL数据库可以使用navicat软件,navicat使用图形化界面操作数据库,相比于使用MySQL的命令行更加简单,但是在一些数据库的设置方面还是离不开MySQL的命令行操作,例如修改数据库用户密码以及启动MySQL服务等等,这些功能是navicat所不能代替的,navicat可以用来新建删除数据库以及创建修改删除表结构,还可以快速的向表中插入数据,也就是navicat的操作对象是数据库和表。第三章系统设计第三章系统设计概念设计(E-R图)图3-1E-R图用例图管理员的主要功能就是管理学校信息、部门信息、专业信息、教研室信息、学历信息、学位信息、管理员信息、角色信息等基本信息并可以对其进行增删改查,同时管理教师和学生的账号的增删改查,管理员用例图见图3-2。教师的主要功能就是各种文件在相对应的页面进行文件的上传和下载以及文件的删除而且还可以发布自己的授课安排,教师用例图见图3-3。学生的主要功能就是各种文件在相对应的页面进行文件的上传和下载以及文件的删除等等同时还可以查看教师的授课安排等,以此安排自己的学习时间,学生用例图见图3-4。图3-2管理员用例图图3-3教师用例图图3-4学生用例图类图图3-5角色与基本信息类图之间的关系图3-6关于教师的类图图3-7关于学生的类图教师类和学生类继承管理员类,这些类与角色类和功能类之间是一对一的关系,即一个人只能有一个角色和身份,与基础信息类之间的关系也是一对一的关系,具体见图3-5。教师类与其功能模块中涉及的论文类等等实体类之间是一对多的关系,即一名教师可以上传多个文件,具体见图3-6。学生类与其功能模块中涉及的论文类等等实体类之间是一对多的关系,即一名教师可以上传多个文件,具体见图3-6。第四章系统实现
第四章系统实现1.登录用户首先进入到登录页面login.jsp,输入账号、密码并且选择角色进行登录,角色分为管理员、教师和学生。根据选择不同的角色进入不同的系统首页,这一功能的实现是通过字段roleId进行实现的。首先创建角色表(role表),主要是给不同的角色赋予不同的roleId。以教师为例具体说明,创建teacher表,主要存放教师的基本信息,例如姓名、密码、所在教研室等等,在表中使用roldId作为外键与角色表关联。登录界面如图:图4-1登录页面运行页面在图中选择“教师”前面的单选按钮,将角色对应的值存放在value属性中。代码如下:<labelclass="checkbox-inline"><inputtype="radio"name="roleId"value="5">教师</label>点击登录将会首先调用当前页面中的检查方法(检查用户名和验证码是否为空,如果为空将会出现提示信息),如果符合条件,将会使用POST方法将内容提交到登录控制器的具体方法中,进行账号密码以及角色的判定(没有判定密码,是因为账号的密码可以是空)。代码如下:functioncheck_login(){if($(“#userId”).val()==””){$(“#userId”).focus();$(“#userId”).text(“请输入用户名”);}elseif($(“#code”).val()==“”){$(“#code”).focus();$(“#code”).text(“请输入验证码”);}else$.post(“login.do”,$(“#myform”).serialize(),……)}控制器接收前端页面提交的数据和请求,判断验证码是否正确,不正确将会提示错误信息(只有验证码校验正确之后,才可以进行下面的角色判断),然后再进行角色判断,根据选中单选按钮的value值进行判断,代码如下:privatefinalstaticintSUCCESS=0;privatefinalstaticintADMIN_CODE_ERROR=1;privatefinalstaticintPASSWORD_ERROR=2;privatefinalstaticintIMAGE_CODE_ERROR=3;privatefinalstaticintTeacher_RoleId=5;privatefinalstaticintStudent_RoleId=6;if(roleId==Teacher_RoleId){Teacherteacher=teacherDao.findByUserId(userId);If(teacher==null){result.put(“flag”,ADMIN_CODE_ERROR);returnresult;}elseif(!teacher.getPassword().equals(password)){result.pet(“flag”,PASSWORD_ERROR);returnresult;}else{session.setAttribute(“user”,teacher);List<Module>modules=teacherDao.findModulesByTeacher(teacher.getId());session.setAttribute(“allModules”,modules);result.put(“flag”,SUCCESS);result.put(“roleId”,5);returnresult;}}根据前端传递的roleId进行判断(此处以教师为例,所以选择此判断),首先根据提交的账号(即userId)在数据库teacher表中查找相应的记录,结果用Teacher类的对象teacher进行存储。首先判断账号对应的记录是否存在。如果账号不存在将ADMIN_CODE_ERROR的值赋给flag;如果账号存在,判断前端传递的密码值与数据库中记录的密码值是否一致,如果不一致,则将PASSWORD_ERROR的值赋给flag;如果账号密码都存在且密码正确,则将teacher里的值赋给user,然后调用teacherDao接口中的findMoudlesByTeacher方法查找出当前数据id的所对应的所有Module中的功能模块,然后将数据存放在modules,并赋值给allModules,其中users和allModules两个数据存放在session中,等待下一次服务器与浏览器发生交互时传递数据。session数据存放完成后,需要将之前的条件判断的结果传递到页面,则将flag和roleId存放在result中。函数执行完成之后,前端页面继续执行post里面的函数,代码如下:function(data){if(data.flag==1){$(“message”).text(“账号错误”);}elseif(data.flag==2){$(“#message”).text(“密码错误”);}elseif(data.flag==3){$(“#message”).text(“验证码错误”);change();}else{if(data.roleId==”123478”){location.href=”toIndex.do”;}elseif(data.roleId==”5”){location.href=”toTeacherIndex.do”;}else{location.href=”toStudentIndex.do”;}}}将result作为形参传进函数,函数的作用就是根据result里面的值返回相应的提示信息,以及根据result中的roleId的值调用相应的返回方法,返回角色对应的系统页面,实现分角色登录不同系统。2.管理员系统图4-2管理员首页以管理员身份进入,则会被引导至管理员首页index.jsp,管理员在这个页面可以选择需要进行的操作,在基础信息大模块中选择相应的学校信息模块、部门信息模块、专业信息模块、教研室信息模块、学历信息模块、学位信息模块、角色信息模块、教师管理模块、学生管理模块以及管理员信息模块等等进行自己想要的操作。基础信息大模块是以下拉列表的形式展示的,通过在页面中利用JSP实现module表中的遍历并放在下拉表中。图4-3教师管理首页通过教师管理模块将会进入管理教师模块的页面teacherList.jsp,在该页面中可以根据教师的工号、姓名以及部门进行筛选查询,同时还可以进行教师账号的增加、删除以及批量删除、初始化教师账号密码、修改教师账号信息、查看账号的详细信息等等操作。增加教师账号可以通过点击教师账号中的增加功能,点击完成之后则会调用TeacherController中的toAddTeacher.do方法,进入addTeacher.jsp页面,进行教师账号的增加,填写相关信息之后点击保存将会调用TeacherController中的addTeacher.do方法,将填写的信息写入到数据库teacher表中,通过调用teacherDao中的saveTeacher方法进行写入,写入完成之后通过addTeacher.do方法中的redirect:findTeacher.do重定向到该方法,继而返回到teacherList.jsp页面,完成教师信息的添加。删除教师账号只需点击相应账号操作一栏的“删除”标志,则会自动调用TeacherController中的deleteTeacher.do方法,同时将所选行的账号的id传入控制器,调用teacherDao中的deleteTeacher方法,根据id删除teacher表中对应的记录,然后重定向到teacherList.jsp页面。批量删除就是选中一个或者多个记录,点击表上方的删除按钮,系统通过删除按钮的id调用当前页面相应的脚本方法,首先遍历选中的复选框所在的行,取出记录的id并存入ids中,然后进行批量删除,调用TeacherController中的deleteTeachers.do方法,接受前端页面传进的参数ids,然后进行for遍历循环,此时应用的是for(循环变量类型循环变量名称:被遍历的对象){循环体}的形式进行循环遍历,批量删除中的循环体就是调用teacherDao中的deleteTeacher方法进行删除,通过循环删除达到批量删除的目的,完成批量删除之后重定向到teacherLits.jsp页面。初始化教师账号密码的功能是选中一个或多个需要初始化的教师账号然后点击表上方的“初始密码”,系统根据“初始密码”按钮的id调用当前页面的脚本方法,首先遍历选中的复选框所在的行,取出记录中的id,并存入ids中,然后通过ajax方法将ids传到TeacherController中的resetPassword.do方法中,通过调用teacherDao中的updatePassword方法将选中的教师账号的密码进行初始化。修改教师账号信息的功能是选中需要修改的教师账号点击同一行操作一栏的“编辑”标志,系统调用TeacherController中的toUpdateTeacher.do方法,跳转到updateTeacher.jsp页面,完成信息修改之后,点击保存,系统调用TeacherController中的updateTeacher.do方法,继而通过teacherDao中的updateTeacher方法将修改之后的信息更新到相应的数据库表中,然后重定向到teacherList.jsp页面中,完成教师账号信息的修改。查看教师详细信息的功能是选中需要查看的教师账号点击同一行操作栏中的“详细信息”标志,系统调用当前页面的detailTeacher脚本方法,根据该方法调用TeacherController中的teacherInfo.do方法并且传入选中的id,根据传入的id调用teacherDao中的findById方法,查找出该账号所对应的表中记录,然后将记录传到teacherInfo.jsp页面中进行显示,获得选中教师账号的详细信息。其他页面的增删改查同理,学生管理模块的初始密码等等操作也是同理,此处不再赘述。3.教师系统教师端的主要功能模块见图4-4。教师端的功能总体上就是文件上传和下载的实现,详细请见图4-5。此处以“论文”模块为例分析文件上传和下载的实现过程。图4-4教师系统首页图4-5论文功能页面文件的上传功能,首先是在“论文”模块的首页即documnetList.jsp页面,点击论文列表上面的“上传”标志,调用FileController中的touploadlist.do方法,系统调用方法完成之后,跳转到upload.jsp页面。在文档名称后面选择需要上传的文件,填写相关作者信息,完成之后点击上传,系统调用判空函数,判断是否文件上传为空以及作者一栏是否为空。如果不为空则将文件以及作者的值传到FileController中的upload.do方法,首先取出上传文件时的文件名存入filename中,然后取出当前绝对路径存入变量path,然后根据path的值和filename创建一个File的对象,如果此文件夹不存在,则创建该文件夹。之后将file文件流转换到新建的文件夹中,将filename添加到ModelAndView的对象中,同时也将文件在磁盘存储位置的路径添加进去。然后将文件名、存储路径、作者等属性相应的存储到Document表中,完成之后返回到documentList.jsp页面。文件的下载功能,首先是在需要下载的文件一栏中点击“下载”标志,系统调用当前页面的downloadFile方法,并传递文件的文件名(文件名不允许重复)。代码如下:functiondownloadlFile(docName){varr=window.confirm(“确定要下载此文件吗?”);if(r){window.location.href=”downloadFile.do?docName=”+docName;}}之后调用FileController中的downloadFile.do方法,首先使用getResourceAsStream方法获得与文件名相匹配的文件的路径,并存入到输入流,同时利用输入流的available方法获取需要下载的文件的大小并存入字节类型的数组中,然后进行读取,之后通过headers的add方法设置下载文件的方法名,然后设置请求状态响应浏览器,完成下载。4.学生系统图4-6学生系统首页学生系统的功能与教师系统的功能大同小异,此处不再一一叙述。结论结论随着Internet的迅猛发展,当今社会已经进入了以计算机为主的科技化时代。这促使越来越多的人对计算机技术关注和重视,促使计算机行业逐渐兴起,使得计算机技术逐渐成熟,也同时推动了计算机在社会各行业的广泛应用,为当今社会生活提供了极大的便利。目前研究的教研室文档管理系统就是基于计算机技术进行开发的,我们使用了B/S三层架构的方式进行开发,开发语言使用的是目前社会流行的Java语言,选择Java语言并非是因为Java是热门语言,很大程度上选择Java语言是因为其语言的优势,在综合比较Java与其他编程语言之后,并结合自身对各种语言的掌握程度,因此选择了最合适的Java语言进行系统开发。教研室文档管理系统中的数据库主要采用MySQL,因为其体积小,操作简单,而且自身对MySQL的掌握程度相比于其他数据库更为熟练,而且MySQL数据库适合中小型系统的开发,综合以上因素选择MySQL数据库作为开发系统中所使用的数据库。教研室文档管理系统包含了文档管理过程中经常需要进行的操作,主要从三个角色进行功能的分配。管理员的功能主要是学校基础信息的管理、教师和学生账号的增删改查以及对账号的权限分配。教师的功能主要是各种文档的上传和下载等,在本系统中,上传文档的格式不拘于doc、pdf甚至多媒体类型的文件(例如MP3文件)等等,接受大部分的文件类型,不足之处就是可能因为文件类型过于广泛,系统测试过程中可能有部分文档的类型是没有进行测试的(主要是一些不常见的文件类型),所以上传过程中是否存在缺陷是无法得知的。下载功能基本完成,不足之处就是下载文件时是无法指定文件下载目录的,这一点是需要进行研究和完善的。另一个不足之处就是在学生需要获得权限才可以访问教师系统中的文档,这一功能是没有实现的,需要后期的完善。在本次系统设计中,大体的基本功能模块都已完成,两个不足之处不影响系统的整体使用。另外一个不太完美的地方就是没有进行穷举测试,功能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年中国外运股份有限公司招聘备考题库及完整答案详解1套
- 2026年台州市商贸核心区开发建设投资集团有限公司公开招聘工作人员的备考题库及一套完整答案详解
- 2026年成都市新都现代交通产业功能区管理委员会公开招聘6名编外(聘用)人员的备考题库有答案详解
- 2026年中铁现代物流科技股份有限公司北京分公司招聘备考题库及一套参考答案详解
- 2026年宜春市生态环境系统事业单位急需岗位公开招聘工作人员备考题库及参考答案详解
- 2026年四川大学华西公共卫生学院华西第四医院临床护士招聘备考题库及参考答案详解一套
- 浦东蓝天消防安全培训课件
- 医疗托管中医疗数据销毁的法律程序
- 医疗托管中医疗安全培训的法律要求
- 医疗志愿者精准服务能力培养
- 选词填空(试题)外研版英语五年级上册
- 露地胡萝卜秋季栽培
- 海水淡化PX能量回收装置维护说明书
- 历年天津理工大学高数期末考试试卷及答案
- 妇产科学(第9版)第二章女性生殖系统解剖
- 中医经络之-特定穴课件
- GB/T 9122-2000翻边环板式松套钢制管法兰
- GB/T 16895.6-2014低压电气装置第5-52部分:电气设备的选择和安装布线系统
- 江苏省学业水平合格性考试复习课件:中外历史纲要上册主要考点线索梳理
- 煤矿岗位安全风险辨识评估
- 小提琴协奏曲《梁祝》音乐欣赏(33)课件
评论
0/150
提交评论