基于JSP固定资产管理系统-定稿_第1页
基于JSP固定资产管理系统-定稿_第2页
基于JSP固定资产管理系统-定稿_第3页
基于JSP固定资产管理系统-定稿_第4页
基于JSP固定资产管理系统-定稿_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

本科生毕业论文题目:基于JSP的固定资产管理系统系别:专业:学号:姓名:指导教师:完成时间:摘要已经进入信息时代的今天,用纸张记录的简易信息管理方式,已不能用来快速、准确地分析、处理复杂的信息。所以,人们试图利用计算机来控制整个信息处理和信息管理过程。本文针对固定资产的管理进行研究,先后进行了可行性分析、需求分析、总体设计、详细设计及代码实现、测试等。本文探究了WEB应用系统开发的过程及相关技术,为实现基于JSP与MySQL数据库技术的固定资产管理系统,结合实际的资产管理方式设计其功能需求和业务处理流程,主要实现前台业务处理和对数据库中信息访问、读取、处理的正确过程。系统将分为用户登录、固定资产增添/作废,固定资产调配等功能模块,首先着手于实现用户登录控制,从访问安全性考虑,设计了三种不同权限的用户。其次,定位不同权限用户完成何种功能,采用JSP网络编程和MySQL数据库技术控制数据处理过程。使用基础的HTML语言进行前台设计,JSP、SQL语句及MySQL数据库实现后台的数据处理过程。最终完成后进行系统测试。关键字:信息;固定资产管理;JSP;SQL语句;MySQL数据库ABSTRACTNowadays,wehaveenteredtheinformationage,usingthesimpleinformationmanagementwaywhichispaperrecordscannotrapidandaccuratetoanalysisandprocessthecomplexinformation.So,peopletriedtousethecomputertocontrolthewholeprocessofinformationprocessingandinformationmanagement.Basedonthefixedassetsmanagementresearchhascarriedonthefeasibilityanalysis,needsanalysis,generaldesign,detaileddesignandcodeimplementation,testing.ThispaperdiscussestheapplicationofWEBsystemdevelopmentprocessandrelatedtechnology.TorealizedthefixedassetsmanagementsystemwhichbasedonJSPandMySQLdatabasetechnology,combinedwiththeactualassetmanagementtodesignitsfunctionalrequirementsandbusinessprocesses.Thesystemmainlyrealizestheforegroundbusinessprocessingandthecorrectprocedureandprocessingtoaccessandreadtheinformationfromthedatabase.Thefunctionmoduleofthesystemisdividedintotheuserlogin,addorscrapthefixedassets,handlefixedassetandsoon.Firstly,realizationofcontroltheuser’slogin,fromtheaccesssecurityconsiderations,designofthreekindsofdifferentusers.Secondly,differentuserscompletedifferentfunctions,usingJSPnetworkprogrammingandMySQLdatabasetechnologytocontroldataprocessing.ThefrontdesignofthesystemusesthebasicHTMLlanguage.And,thebackgrounddataprocessingprocessusesthetechnologywhichistheJSP,theSQLstatementandtheMySQLdatabase.Eventually,testingthesystemaftercompleting.Keywords:information;fixedassetsmanagement;JSP;theSQLstatement;MySQLdatabase目录1引言 11.1系统设计背景 11.2系统开发意义 11.3系统开发工具的选用及介绍 11.3.1JSP的优势及特点 11.3.2服务器的优势及特点 21.3.3数据库的优势及特点 22需求分析 32.1可行性分析 32.2功能性需求分析 32.2.1识别系统业务 32.2.2系统数据流图 42.3非功能性需求分析 62.3.1可靠性需求 62.3.2安全性需求 62.3.3可扩展性需求 63详细设计 73.1数据库设计 73.1.1数据库表创建 73.1.2实体-关系模型(E-R图) 73.2系统结构图 103.3功能需求 113.3.1用户登录模块 113.3.2访问权限不同的用户管理模块 124前台设计 154.1固定资产管理系统登录窗口 154.2超级管理员使用窗口 174.3管理者使用窗口 204.3.1查看管理员管辖资产明细 204.3.2查看所有资产使用情况 234.3.3添加固定资产 244.3.4报废固定资产 274.4普通用户使用窗口 274.5用户注册窗口 285后台设计 295.1系统架构 295.2服务器 305.3数据库结构 30参考文献 31致谢 321引言1.1系统设计背景过去,人们管理资产的方法大多采用纸制统计、归档的方式,这样各式各样的本子或者表单,容易丢失并且复杂、混乱,也没有一个系统的整合,让处理资源的时候,显得繁琐,导致浪费较多时间及精力。处于信息时代的今天,需要高效处理和使用信息。那么,信息化管理就变得尤其重要。结合实际情况和社会的高度需求,开发一个固定资产管理系统,从而实现资产专人专项负责、方便对资产进行分析和查询。1.2系统开发意义固定资产管理系统将所需功能整合在一起统一处理,方便了用户对资产的处理,节约时间、精力。本系统采用JSP编程语言,该语言是面向对象的编程语言,模块化处理,扩展性强,拥有DAO层的强大支持,便于数据管理。同时也具有较高的安全性,易用性。业务逻辑层采用JSP语言,类的设计和引用更利于程序的开发、控制,具有较高的可读性。应用层采用HTML+CSS方式,让页面更美观。本系统采用B/S结构,无需安装客户端,随时随地都可以使用,使用简单、方便。具有通用性,不必担心客服端的兼容性问题。1.3系统开发工具的选用及介绍该系统开发工具选用JSP网络编程语言,支持的服务器选用TomCat,数据库选用MySQL。1.3.1JSP的优势及特点JSP是目前流行的一种动态网页应用程序,它不仅能跨越平台执行功能强大的动态网页,而且能够以JAVA技术为基础的动态网页程序。目前比较流行的支持JSP的服务器是Tomcat。JSP程序要通过JDK编译以后才能执行,JSP不能直接传送到浏览器而是要先编译成Servlet,Tomcat负责将JSP网页转换成一个Servlet,然后编译Servlet。JSP提供在HTML代码中混合某种程序代码。在JSP环境下,HTML代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。JSP面向Web服务器的技术,客户端浏览器不需要任何附加的软件支持。1.3.2服务器的优势及特点它是一个小型的轻量级应用服务器,运行时占用系统资源小,支持负载平衡与邮件服务等开发应用系统中的常用功能,并且不断改进和完善。Tomcat适用于中小型系统和并发访问用户不太多的场合,是开发和调试JSP程序的首选。先进的技术、稳定的性能、源码开放和免费获取的机制,使得Tomcat深受Java爱好者的喜爱并得到了许多软件开发商的认可,成为目前相当流行的Web应用服务器。1.3.3数据库的优势及特点MySQL是一个小型关系型数据库管理系统,MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源代码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。其优点有:综合统一;高度非过程化;面向集合的操作方式;以一种语法结构提供多种使用方式;语言简洁,易学易用。2需求分析2.1可行性分析可行性分析是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,所以,进行可执行性的分析是非常必要的,经过最初的设计目标和进行的市场调查得出以下四点的可行性分析:经济可行性:该系统设计只是作为本人的毕业设计,所以没有什么经济效益可谈,开发过程不会产生大的开销;技术可行性:现有的技术已经能够充分支持、开发该系统,并且已有现行系统能稳定的运行;运行可行性:该系统采用B/S结构,只要能够将服务器架构好后,运行在浏览器中,就能随处使用;法律可行性:该系统是作为毕业设计与商业无关,又是自主开发设计,因此不会构成侵权,在法律上是可行的。2.2功能性需求分析2.2.1识别系统业务对于固定资产的管理,用户管理和资产管理这两个业务处理过程可以分为:分角色用户管理;查看资产管理;添加资产管理;资产报废处理;修改用户信息;修改资产信息。2.2.2系统数据流图作为固定资产管理系统,用户登录系统就是对其中的资产做相应处理。用户分为三类:超级管理员、管理员、普通用户。超级管理员具备查看其管辖下的管理员信息,以便与其联系。此外,超级管理员还可以修改个人信息。管理员登录成功后显示其管理的所有资产信息,并能进行资产添加、报废和查看所有资产的操作。普通用户登录成功后,就能显示出所有资产信息,选中需要资产再查询出明细后,更改使用情况并登记。下面将根据不同角色用户访问系统数据处理流程,用数据流图的方式说明:1.超级管理员数据处理流程:超级超级管理员1处理事务登录信息D1管辖的管理员信息超级管理员ID2产生信息管理员信息超级管理员查询结果图2-1:超级管理员查看所管辖人员的信息超级超级管理员1处理事务登录信息D1修改信息超级管理员ID2显示修改信息修改信息修改信息图2-2:超级管理员修改个人信息2.管理员数据处理流程:管理员管理员管理员1处理事务登录信息D1查询资产信息2产生信息资产信息事务显示信息图2-3:管理员查看所有资产信息管理员管理员1处理事务登录信息D1更新信息管理员ID2提示信息更新信息添加/报废信息图2-4:管理员添加/报废资产信息3.普通用户数据处理流程:11处理事务登录信息D1查询资产信息2产生信息明细提取信息事务修改信息普通用户D2更新信息3提示更新成功显示信息图2-5:普通用户修改资产信息2.3非功能性需求分析在这里列举出所有非功能性需求,主要包括可靠性、安全性、可扩展性。2.3.1可靠性需求本系统属于B/S结构,运行在浏览器端,所以对运行平台没有限制,使用方便,无需安装客户端。系统设计时将考虑容错性,完整的处理系统运行是将遇到的问题。2.3.2安全性需求系统拥有一个登录页面,只有当用户拥有账号才能进行访问和操作,保障了资产的安全性。另外,用户分为三种权限,操作不同的内容保障了整个后台数据库里数据的安全性和完整性。2.3.3可扩展性需求系统采用JSP编程语言,该语言是面向对象的编程语言,模块化处理,扩展性强,拥有DAO层的强大支持,便于数据管理。将类封装在包里面,方便之后的扩展功能,导入数据包后就可以直接调用了,操作方便,整体性强。3详细设计3.1数据库设计3.1.1数据库表创建1.数据库名称:management_property;2.访问数据库的用户名:root,密码:1234;3.按访问权限将登录用户分为三类:创建者(超级管理员superadmin)、管理者(管理员admin)、用户(普通用户user);4.此外,创建4个反应资产情况的表:资产存放部门表(department)、资产使用部门表(location)、资产使用状态表(status)、资产类型表(type)。3.1.2实体-关系模型(E-R图)1.登录用户之间的关系模型:超级管理员超级管理员用户名name密码password编号id管理员管理n1性别sex部门dep权限quanxian电话phone编号id用户名name密码password性别sex部门dep权限quanxian电话phonesuperID(外键)图3-1:超级管理员表、管理员表关系表3-1:超级管理员表(superadmin表):字段名称字段类型字段描述主键/外键idchar(2)编号主键namevarchar(20)用户名passwordvarchar(20)密码sexchar(2)性别depvarchar(20)所属部门quanxianvarchar(20)权限phonevarchar(20)电话表3-2:管理员表(admin表):字段名称字段类型字段描述主键/外键idchar(2)编号主键namevarchar(20)用户名passwordvarchar(20)密码sexchar(2)性别depvarchar(20)所属部门quanxianvarchar(20)权限phonevarchar(20)电话superIDchar(2)超级管理员编号外键表3-2中superID属性用于关联与超级管理员之间的关系,反应管理员(admin)的管理者。2.资产与其他实体之间的关系模型:编号编号姓名生产厂家数量价格入库时间类别号使用状态号存放部门号使用者编号管理者编号存放部门编号名称资产使用状态状态编号名称分类类别编号名称n1111n生产日期使用部门号责任n管理员编号名称1图3-2:资产表及类别、状态、部门表关系表3-3:固定资产总表(property表):字段名称字段类型字段描述主键/外键propertyIdchar(9)资产编号主键propertyNamevarchar(40)资产名称propertyMakervarchar(30)资产生产厂家propertyNumint资产数量propertyValuefloat资产金额propertyPublicTimedate生产日期propertyImportTimedate入库时间propertyLocationNoint资产存放位置编号外键(location)propertyTypeNoint资源所属类别号外键(type)propertyStatusNoint资产使用状态号外键(status)propertyDepartmentNoint存放部门编号外键(department)propertyUserNoint保管员编号外键(user)adminNoint管理员编号外键(admin)表3-4:状态信息表(status表):字段名称字段类型字段描述主键/外键statusIdint资产状态自编号主键statusNamevarchar(10)资产状态名省略表location、type、user、department,以上四张表均只有编号和名称两个属性。3.2系统结构图资产管理系统资产管理系统(index.html)登录成功无帐号(register.jsp)录入数据库(registerCheck.jsp)user.jspadmin.jspsuperadmin.jspshowAdminInformation.jspupdateinformation.jspoldProerty.jspaddProerty.jspgetAllProerty.jsp图3-3:系统大致结构用户访问资产管理系统是按权限不同,进去不同的管理页面,处理业务流程的。图3-3中省略了user.jsp页面下的功能页。操作大致方式:访问管理系统首页访问管理系统首页(index.html)无帐号无法访问,点“注册”帐号跳转到注册页面(register.jsp),注册普通用户访问正确后,调转到首页重新填写错误按权限不同,访问不同页面进行处理图3-4:登录时的两种情况说明3.3功能需求3.3.1用户登录模块输入用户名及密码输入用户名及密码用户进入登录页面(index.html)判断用户名是否正确?判断密码是否正确?是访问数据库确定用户类型,转向相应页(superadmin.jsp/admin.jsp/user.jsp?))是否否(重新输入密码)选择哪类用户登录?superadmin/admin/user?图3-5:用户登录模块图3-5中反应了用户登录该系统的过程。根据权限的不同,用户跳转到属于自己访问权限的页面,用户可对自己的信息进行更改,或者是对资产信息进行更改。3.3.2访问权限不同的用户管理模块1.超级管理员管理模块:显示管理页面显示管理页面(superadmin.jsp)登录成功选择哪一模块?显示管辖的管理员(showAdminInformation.jsp)更改个人信息(updateinformation.jsp)是否更改?是否更新到数据库选择查询方式是否查询成功?查询到之后对应操作是否,未管理用户图3-6:超级管理员管理模块超级管理员具有查询自己所管辖的用户和修改个人信息的权限。图3-6中反应了超级管理员两个功能模块的操作流程。2.管理员管理模块:显示管理页面显示管理页面(admin.jsp)登录成功显示管理员管辖的资产信息查看该资产的明细信息(detail.jsp)determin.jsp查看所有资产使用情况(getAllProerty.jsp)添加固定资产(addProerty.jsp)报废固定资产(oldProerty.jsp)显示系统中所有的资产信息填写资产信息错误信息填写正确提交数据库(updateAdd.jsp)正确显示资产,报废?报废信息更新到数据库(propertyShow.jsp)报废图3-7:管理员管理模块管理员具备添加资产和修改资产状态的权限,能查看所有数据库中所有的资产信息,还能查看属于自己管辖资产的详细信息。图3-7中反应了管理员四个功能模块的操作流程。3.普通用户管理模块:显示管理页面显示管理页面(user.jsp)登录成功显示所有的资产信息是否选择需要资产?更新资产目前使用情况(borrow.jsp)是否资产信息更新到数据库(borrowCheck.jsp)图3-8:普通用户管理模块图中提到的“更新资产目前情况”是指:使用该资产的放置位置、使用者、使用状态。4.注册模块:省略注册模块的操作流程,注册模块(register.jsp)只能注册普通用户,不能随意注册超级管理员和管理员。通过验证(registerCheck.jsp)用户名和密码的正确性后,更新到user表中。4前台设计4.1固定资产管理系统登录窗口图4-1:管理系统登录页(index.jsp)以下代码段为图4-1中核心部分:<tdcolspan="2"> <inputname="kind"type="radio"value="superadmin"checked="checked"> <fontcolor="#FFFFFF"size="3"face="黑体">创建者</font> <inputtype="radio"name="kind"value="admin"> <fontcolor="#FFFFFF"size="3"face="黑体">管理员</font> <inputtype="radio"name="kind"value="user"> <fontcolor="#FFFFFF"size="3"face="黑体">用户</font> </td>我利用<input>标签中的name属性,判断是哪一类用户登录系统进行操作。提交后,页面跳转到indexCheck.jsp,以下为indexCheck.jsp中的部分代码: <jsp:useBeanid="judgment"scope="page"class="process.login"> <jsp:setPropertyname="judgment"property="*"/> </jsp:useBean> <jsp:useBeanid="db"scope="page"class="DAO.DBConn"/> <jsp:useBeanid="cov"scope="page"class="DAO.Convert"/> <% Stringsql=""; Stringkind=judgment.getKind(); Stringpwd="";getKind()方法调用的是login类里面的方法,主要用于确认是哪类用户登录,以便数据库查询是否存在该用户及之后的系列操作。 ResultSetrs=nullgetKind()方法调用的是login类里面的方法,主要用于确认是哪类用户登录,以便数据库查询是否存在该用户及之后的系列操作。 Stringname=""; Stringid=""; name+=cov.toGb(request.getParameter("username"));确定表名 sql="selectpassword,idfrom"+kind+"wherename='"+name+"'";确定表名 rs=DBConn.executeQuery(sql); if(rs.next()){ pwd=rs.getString("password"); id=rs.getString("id"); } if(judgment.getPassword().equals(pwd)) { session.setAttribute("id",id); intflag=judgment.getFlag();getFlag()方法调用的是login类里面的方法,利用switch语句处理页面跳转。 getFlag()方法调用的是login类里面的方法,利用switch语句处理页面跳转。 switch(flag){ case1: response.sendRedirect("superadmin.jsp"); break; case2: response.sendRedirect("admin.jsp"); break; case3: response.sendRedirect("user.jsp");//修改跳转页面 break; } } else{ Stringmessage="登录失败,用户名或密码有误!!"; session.setAttribute("error",String.valueOf(message)); response.sendRedirect("index.jsp");} %> 定义一个id是为了将该登录用户的id写入session里面,之后判断用户是否登录和控制用户对资产或者是管理的操作。以下是process包里面的login.java的部分代码,用于确认的哪一类用户登录系统的。定义一个id是为了将该登录用户的id写入session里面,之后判断用户是否登录和控制用户对资产或者是管理的操作。packageprocess;publicclasslogin{ privateStringid; privateStringpassword; privateStringkind;Flag的值结合indexCheck.Jsp中的switch语句完成页面跳转。 privateintFlag的值结合indexCheck.Jsp中的switch语句完成页面跳转。 publiclogin(){ } publicintgetFlag(){ if(kind.equals("superadmin"))flag=1; if(kind.equals("admin"))flag=2; if(kind.equals("user"))flag=3; returnflag; }}4.2超级管理员使用窗口查看管辖管理员的信息,详见图11详见图1查看管辖管理员的信息,详见图11详见图12图4-2:超级管理员登录成功后跳转页superadmin.jsp以superadmin表中的id为3的用户为例,说明“显示管辖的管理员”的实现过程。以下是实现查询该功能的核心代码,在entities包里面的superadmin类调用getAdmin()方法,查询到管辖的管理员之后显示到管理页上(showAdminInformation.jsp)。 publicResultSetgetAdmin()throwsException{//超级管理员通过该方法查询其管理的人员信息 Stringsql="selectadmin.id,,admin.sex,admin.dep,admin.phonefromadmin,superadminwheresuperadmin.id=superIDandsuperadmin.id="+id;使用静态方式调用DBConn中的方法。where使用静态方式调用DBConn中的方法。where后面的语句实现两张表的连接,并查询出只有id为3的用户的管理信息。 rs=DBConn.executeQuery(sql); returnrs; }图4-3:显示查询出该超级管理员管理的人的信息图4-3中说明了id为3的超级管理员管辖了两名管理员,分别是id为1的lisi和id为2的xiaohua。图4-4:超级管理员修改个人信息以id为3的超级管理员为例,以下是修改过程:图4-5:用户信息修改前数据库控制台中查询的结果图4-6:修改后跳转到update.jsp提示页面图4-7:修改完成后数据库中更改情况4.3管理者使用窗口4.3.1查看管理员管辖资产明细注1注1图4-8:管理员登录成功后跳转页admin.jsp管理员登录成功后,在其管理页面就会显示管理的资产信息,即注1内容。点击显示该资产的详细信息。(详见图4-9、4-10)1.以下是admin.jsp中的部分代码: <jsp:useBeanid="admin"scope="page"class="entities.admin"/> <jsp:useBeanid="determin"scope="page"class="process.determin"/> <jsp:useBeanid="cov"scope="page"class="DAO.Convert"/><% request.setCharacterEncoding("GB2312"); Stringid=(String)session.getAttribute("id");将之前写入session里面的值取出,该值是登录的管理员的id。 将之前写入session里面的值取出,该值是登录的管理员的id。 if(id==null){ response.sendRedirect("index.jsp"); } 利用id的值查询出资产名称显示,查询方法后详。 StringpropertyName="";利用id的值查询出资产名称显示,查询方法后详。 admin.setId(id); determin.setAdminNo(id); ResultSetrs=admin.getProperty(id); while(rs.next()) { propertyName=rs.getString("propertyName");%><tr>将id的值存入determin类里,用于之后提取该资产的详细信息。<td><ahref="determin.jsp?propertyName=<%=propertyName%>"><%=propertyName%></a></td>将id的值存入determin类里,用于之后提取该资产的详细信息。</tr><%}%>2.以下是entities包中admin类里的getProperty()方法: publicResultSetgetProperty(Stringid)throwsException{//读取该管理者所管理的资产信息 //查询条件: //1.资产管理者编号与管理者编号匹配 //2.管理者管理的资产编号与资产编号匹配 Stringsql="selectpropertyId,propertyName"+ "fromadmin,property"+ "whereproperty.adminNo='"+id+"'"; ResultSetrs=DBConn.executeQuery(sql);使用此方式传递参数 returnrs;使用此方式传递参数 }图4-9:显示选中的资产以下是determin.jsp中的部分代码:<% StringpropertyName=request.getParameter("propertyName"); Stringp_id=""; ResultSetrs=determin.getPropertyNo(cov.toGb(propertyName)); while(rs.next()){接受到资产名称后,一定要进行处理乱码,否则使用determin.getPropertyNo()方法,得不到值。 p_id接受到资产名称后,一定要进行处理乱码,否则使用determin.getPropertyNo()方法,得不到值。 %> <tr> <td><%=p_id%></td> <td><%=cov.toGb(propertyName)%></td> <td><ahref="detail.jsp?p_id=<%=p_id%>">进入</a></td>使用此方法将资产id传给detail.jsp页面处理。 </tr>使用此方法将资产id传给detail.jsp页面处理。<%}%>图4-10:显示该资产明细查看完后,点击“返回”页面将跳转到admin.jsp页面上,管理员可以完成其他功能操作。4.3.2查看所有资产使用情况图4-11:显示数据库中所有资产的信息本功能的设计是为了方便管理者查看所有资产的使用状态,及时的得到资产的信息。4.3.3添加固定资产注2注2图4-12:增加新资产(addProperty.jsp)填写固定资产基本信息,值得一提的是,下拉列表与数据库之间的关联(注2)。在数据库中存放“资产类型”、“资产状态”、“资产存放部门”是采用编号的方式。查询资产明细时,也是需要与相应的表建立连接。这里前台下拉列表是文字显示,后台使用以下代码将文字转化为数据,添加到数据库property表中。1.首先在addProperty.jsp页面中,使用<select>和<option>标签创建下拉列表,value属性是重点,将显示的列表信息与value的值对应; <tr> <td>资产类型:</td> <td> <selectname="type"> <optionvalue="计算机类">计算机类</option> <optionvalue="旅游类">旅游类</option> <optionvalue="小说类">小说类</option> <optionvalue="文史类">文史类</option> <optionvalue="保健类">保健类</option> <optionvalue="科学类">科学类</option> </select> </td> </tr> <tr> <td>资产状态:</td> <td> <selectname="status"> <optionvalue="未使用">未使用</option> </select> </td> </tr> <tr> <td>资产存放部门:</td> <td> <selectname="department"> <optionvalue="信科系">信科系</option> <optionvalue="旅管系">旅管系</option> <optionvalue="外语系">外语系</option> <optionvalue="经管系">经管系</option> <optionvalue="图书馆">图书馆</option> <optionvalue="行政楼">行政楼</option> </select></td> </tr>2.其次在updateAdd.jsp页面中,调用process包中login类里面的以下方法,得到相应的返回值; publicintgetTypeNo(){ if(type.equals("计算机类"))typeNo=1; if(type.equals("旅游类"))typeNo=2; if(type.equals("小说类"))typeNo=3; if(type.equals("文史类"))typeNo=4; if(type.equals("保健类"))typeNo=5; if(type.equals("科学类"))typeNo=6; returntypeNo; } publicintgetDepNo(){ if(dep.equals("信科系"))depNo=1; if(dep.equals("旅管系"))depNo=2; if(dep.equals("外语系"))depNo=3; if(dep.equals("经管系"))depNo=4; if(dep.equals("图书馆"))depNo=5; if(dep.equals("行政楼"))depNo=6; returndepNo; } publicintgetStatusNo(){ if(status.equals("未使用"))statusNo=1; if(status.equals("已报废"))statusNo=2; if(status.equals("已使用"))statusNo=3; returnstatusNo; }3.最后在updateAdd.jsp页面中,调用p.addProperty()次方法,将资产添加到数据库中。4.以下是操作过程:图4-13:添加前property表中的数据行数和信息图4-14:执行添加操作将信息写入数据库图4-15:添加后property表中的数据行数和信息4.3.4报废固定资产图4-16:输入需要报废资产的编号(oldProperty.jsp)输入资产编号,将资产的使用状态修改为id为2的“已报废”。图4-17:提交报废资产信息(propertyShow.jsp)将报废资产提交给propertyShow.jsp页面,更新数据库信息。4.4普通用户使用窗口图4-18:显示所有资产信息并选择有需资产(user.jsp)普通用户登录后,即显示所有资产信息,从中找出用户需要的资产,单独查询出来,提交到(borrow.jsp)页面对资产进行处理。图4-19:对选择出来的资产修改相应信息(borrow.jsp)用户更改其使用位置、使用状态和使用者信息。详细操作方式与4.3.3相似,最后将修改信息提交到borrowCheck.jsp页面。图4-20:将修改信息更新到数据库4.5用户注册窗口图4-21:用户填写基本信息(register.jsp)如若有新增用户需要访问系统,又无超级管理员和管理员权限时,只能注册普通用户登录。确认注册无误后,跳转到主页面(index.jsp)用普通用户方式访问。不能随意注册高权限的用户的设计,能够加强系统的安全性,很好的控制资产的增加、报废及人员的管理。5后台设计5.1系统架构图5-1:后台系统架构如图5-1所示,整个系统共分为两大部分。一是,控制系统与数据库连接、访问、完成增删改查等功能的后台程序。二是,完成浏览器端固定资产管理,数据处理模块的前台设计。5.2服务器图5-2:系统使用的服务器系统采用的是Tomcat6.0版本。5.3数据库结构图5-3:系统使用的数据库系统使用的是MySQL数据库。参考文献[1]《JSP网络编程从基础到实践(第三版)》邓子云编著电子工业出版社[2]《数据库系统概论(第四版)》王珊萨师煊编著高等教育出版社[3]《DreamweaverCS4从入门到精通》胡崧于慧编著中国青年出版社[4]网络教程:/eschool/硅谷动力网络学院[5]《软件工程导论(第5版)》张海藩编著清华大学出版社[6]《JavaWeb开发详解—XML+XSLT+Servlet+JSP》孙鑫编著电子工业出版社[7]《JSP动态网页开发案例教程》包乌格德勒编著机械工业出版社[8]《JSP基础与案例开发详解》邱加永编著清华大学出版社[9]网络教程:/W3school在线教程[10]《Java学习手册》陈丹丹编著电子工业出版社致谢经过与指导老师不断沟通、修改,本次毕业设计已经接近尾声。在这里首先要感谢我的导师。他平日里工作繁多,但在我做毕业设计的每个阶段,从最初选题,设计数据库,后期功能实现等整个过程中都给予了我悉心的指导。除了敬佩贾志洋老师的专业水平外,他严谨的思维方式及代码的设计风格都将是我今后的学习和工作榜样。然后还要感谢大学四年来所有的老师,为我们打下专业知识的基础,通过所有知识的结合,此次毕业设计才会顺利完成。附录资料:不需要的可以自行删除Excel2000实用教程简介:Excel2000是Office2000办公套件中的一个主要软件,它可以运行在Windows95、Windows98、Windows2000及WindowsXP等操作系统上。Excel2000处理电子表格的功能非常强大,能够完成十分复杂的任务,广泛应用于财务、统计、金融、审计、行政等各个领域。我们将从表格的建立、编辑、设置格式、使用公式、创建图表及打印表格等几个方面,介绍如何做出美观、实用、完整的工作表,浅讲一些Excel2000处理分析数据的简单功能。第一讲基本操作学习要点:工作簿的新建与保存;工作表的重命名、删除与插入;移动、复制工作表。基本概念:工作簿与工作表——一个工作簿可以包含若干张工作表;一个工作簿是一个独立的文件。一、创建一个工作簿启动Excel2000;新建工作簿;保存工作簿;退出Excel2000。具体操作:1、启动Excel2000:左键单击"开始"→指向"程序"→单击"MicrosoftExcel"选项。2、新建工作簿:在启动Excel的同时,系统自动建立了一个新工作簿,并命名为"Book1"。打开"文件"菜单→单击"新建"→在"新建"对话框中选中"常用"选项卡→选中"工作簿"图标→"确定"。这样也可以新建一个工作簿。在一个工作簿中系统默认设置了3张工作表:sheet1、sheet2、sheet3。工作表是由若干行和列组成的。在工作表中:(1)列标-英文字母;行号-阿拉伯数字;(2)单元格-行和列的交叉点;单元格名称是由列标和行号共同组成,在名称框中显示。3、保存工作簿:第一次保存时,单击"文件"菜单中的"保存"选项,打开"另存为"对话框:确定保存位置(系统默认的位置是"MyDocuments我的文档")→为工作簿命名(例:W1)→确定保存类型为"MicrosoftExcel工作簿"→单击"保存"按钮。以后可以直接选工具栏上的"保存"按钮来快速保存。Excel工作簿默认的扩展名是:xls。4、退出Excel:单击标题栏右端的"关闭"按钮,或单击"文件"菜单中的"退出"选项。二、工作表的重命名、插入与删除打开一个工作簿;重命名工作表;插入工作表;删除工作表;另存为工作簿。具体操作:1、直接双击文件名(例:W1)即可打开该工作簿。2、双击Sheet1工作表标签→输入新名称:表1→确认;双击Sheet2工作表标签→输入新名称:表2→确认;右键单击Sheet3工作表标签→在弹出的快捷菜单中单击"重命名"选项→输入新名称:表3→确认。这样可将工作表Sheet1、Sheet2和Sheet3依次重命名为表1、表2和表3。3、单击选中表2工作表标签→单击"插入"菜单中的"工作表"选项,则在工作表"表2"之前插入了一张新工作表"sheet4"。若在插入工作表之前选定连续的多张工作表,就可以一次插入多张工作表。(用Ctrl键或Shift键来帮助多选)4、单击选中工作表"表3"→单击"编辑"菜单中的"删除工作表"选项→在弹出的系统对话框中单击"确定",即可删除工作表表3。5、将已经过多处修改的工作簿另存到C盘。单击"文件"菜单中的"另存为"选项→在弹出的"另存为"对话框中确定保存位置"C盘"和文件名(可以重新命名,例:W2)→单击"保存"按钮。三、多工作簿操作同时打开多个工作簿;复制、移动工作表;同时关闭所有工作簿。具体操作:1、同时打开W1和W2两个工作簿:单击"打开"工具栏按钮,弹出"打开"对话框→在"查找范围"列表中找到W1、W2工作簿(在同一个文件夹中)→单击W1→按住Ctrl键再单击W2→单击"打开"按钮。2、将W2工作簿中的"表1"工作表移动到W1工作簿中:单击W2工作簿中的任意位置,激活W2工作簿→单击"编辑"菜单上的"移动或复制工作表"选项,打开相应对话框→确定目标工作簿;确定在目标工作簿中的具体位置→清除"建立副本"复选项→"确定"。3、将W2工作簿中的"表2"工作表复制到W1工作簿中:操作方法与第2步基本相同,但要选中"建立副本"复选项。更便捷的方法是用鼠标直接拖拉(移动)、按住Ctrl键再拖拉(复制)。在同一个工作簿中进行复制、移动工作表的操作,也可按以上两种方法操作。4、一次关闭所有工作簿:按住Shift键,单击"文件"菜单中的"关闭所有文件"选项。

第二讲输入数据学习要点:各种数据的输入方法;序列的输入方法。一、输入数字、日期和时间、文字输入数字,掌握科学记数法出现的特殊情况;输入日期时间,了解当前日期和时间的快速输入方法;输入文字,掌握将纯数字按文字输入的方法;输入其他特殊数据,掌握数据格式的设置方法;了解数据输入的不同方法,掌握撤消输入的方法。具体操作:1、左键单击任一单元格,使其变为活动单元格(四周的框线变黑变粗),在其中直接输入数字,按Enter键确认。(1)当输入的数字超过11位时,或长度超出单元格宽度时,Excel将自动显示它为科学记数法格式;(2)若按一般方法输入分数,系统将默认为日期,必须在输入分数之前,先输入"0"和一个空格。2、在活动单元格中直接输入日期:2004-3-10;输入时间:3<空格>PM;输入当前日期:按Ctrl+;(分号);输入当前时间:按Ctrl+Shift+:(冒号)。3、在活动单元格中直接输入文字。Excel对文字有一定的记忆功能。当希望把纯数字按文字输入时,应在数字前先输入一个单引号(必须在英文输入法状态下)。4、选中单元格后,打开"格式"菜单→单击"单元格"选项,打开"单元格格式"对话框→选中"数字"选项卡;在"分类"列表框中选择"货币"、“百分比”等→确定。在其中直接输入数字,即可以以货币、百分比等形式显示出来。5、按Enter键、按上下左右方向键、按Tab键、直接用鼠标单击其他单元格,都可以确认数据的输入。在确认前按Esc退出键或退格键Backspace,可以取消或删除部分输入内容。二、同时在多个单元格中输入相同的数据选定单元格区域及多区域选定;同时在多个单元格中输入相同的数据。具体操作:1、单击单元格A3后不松开鼠标左键(此时鼠标为空十字形状),拖动鼠标至A6,选定第一个单元格区域;按住Ctrl键不放,单击B2一个单元格;按住Ctrl键不放,再用同样方法拖动选定C1到E3的第二个单元格区域。2、输入:123;按Ctrl+Enter组合键确认,即可在多个单元格中都输入相同的数据。三、输入序列填充序列;自定义序列。具体操作:1、单击单元格A1,在其中输入数字3;将鼠标移动到单元格的右下角,当鼠标变为实心的十字形时,按鼠标右键拖拉出一个行单元格区域或列元格区域,同时会弹出一个菜单,(1)选"以序列方式填充",可以输入一个递增的等差序列;(2)选"序列",可以对输入的序列进行设置;(3)选"复制单元格",可以输入相同的数据;(当鼠标变为实心的十字时,按鼠标左键拖拉也可以复制单元格,但是对系统内置的自定义序列则为序列的填充,如:甲、乙、一、二、星期、日期等)2、设定自定义序列:(1)单击"工具"菜单中的"选项…"命令,打开"选项"对话框→单击"自定义序列"选项卡;(2)在"自定义序列"下拉列表框中单击"新序列"项;(3)在"输入序列"框中输入自己新定义的序列:教授,副教授,讲师(每输入一个数据要按一次回车键);(4)单击"添加"命令按钮→确定。这样在按鼠标左键拖拉时,就可以直接填充该序列了。第三讲编辑工作表数据学习要点:修改单元格内容;插入与删除;撤消操作;移动及复制;拆分和重排窗口一、修改单元格内容修改单元格内容;查找和替换文字或数字。具体操作:1、双击要修改的单元格,在闪烁的光标处插入、删除内容,也可以在单击单元格后直接输入新的内容,全部替换原有的内容。2、选中一定的查找区域,或单击工作表的任意处(查找、替换整张工作表),在"编辑"菜单上单击"查找"项,(1)打开"查找"对话框;输入查找内容;单击"查找下一个"或"查找全部"按钮,即为查找操作。(2)打开"替换"对话框;在"查找内容"编辑框中输入原来的数据→在"替换为"处输入新的数据;单击"全部替换"(一次完成全部替换)或"替换"按钮(一次替换一个对象),即可完成替换操作。二、插入与删除插入单元格、行、列;清除单元格内容;删除单元格、行、列;撤消与恢复。具体操作:1、单击"插入"菜单上的"单元格"项,打开"插入"对话框:若选中"活动单元格右移"或"活动单元格下移",则可插入一个单元格;若选中"整行"或"整列",则可插入一行或一列(直接选"插入"菜单中的"行"或"列"更快捷)。选定多个单元格(行、列),则可一次插入与选定的单元格(行、列)数量相同的单元格(行、列)。2、清除单元格内容。拖拉鼠标确定出要清除的单元格区域,按键盘上的"Delete"键即可。也可以使用"编辑"菜单上的"清除"选项,有4种方式可供选择。3、删除单元格。单击"编辑"菜单上的"删除"项,打开"删除"对话框,有4种删除方式可选,选其中一种,"确定"。删除单元格后,Excel会调整周围单元格填补空缺。4、在行号或列标处单击鼠标左键,可选定整行或整列→单击"编辑"菜单中的"删除"命令,可以直接删除该行或列。5、单击一次工具栏上的"撤消"按钮,可撤消前面的一步操作;单击一次"恢复"按钮,可恢复一个撤消操作。三、剪切、复制与粘贴移动、复制单元格数据;快捷方式;行列转换。具体操作1:选中需移动的内容或区域→单击工具栏上的"剪切"按钮→单击目标区域的左上角单元格→单击工具栏上的"粘贴"按钮。2、选中需复制的内容或区域→单击工具栏上的"复制"按钮→单击目标区域的左上角单元格(按住Ctrl键可选多个区域)→单击工具栏上的"粘贴"按钮。3、用鼠标拖动的方法可以更快捷地实现数据的移动、复制。单击单元格或选中单元格区域,移动鼠标到单元格边框或区域的四边,当鼠标变为十字箭头时:

直接按住左键拖拉:移动;

按住Ctrl键再拖拉:复制;(以上两个操作会覆盖目标区域的原内容。)

按住Shift键再拖拉:在已有的单元格间移动插入单元格;

按住Ctrl+Shift键再拖拉:在已有的单元格间复制插入单元格;

按住Alt键再拖拉至某工作表标签:移动到该工作表中;

按住Ctrl+Alt键再拖拉至某工作表标签:复制到该工作表中。4、选定单元格区域→单击"复制"工具栏按钮→选定目标区域的左上角单元格→单击"编辑"菜单上的"选择性粘贴"命令,打开"选择性粘贴"对话框→选中"转置"复选框→"确定"。则行与列的内容进行了转换。(目标区域不能与源区域有重合的部分)四、拆分与重排窗口拆分和冻结窗口;同时显示多张工作表;具体操作:1、利用Excel2000所提供的冻结窗口和拆分窗口的功能,可以使相距很远的单元格在一屏中同时显示,这为操作数据较多的工作表带来了极大便利。

用冻结窗口的方法:选定Sheet1工作表→选中第3行→单击"窗口"菜单中的"冻结窗格"选项→工作表的前3行就被冻结,总是出现在窗口中;而通过滚动鼠标滑轮或键盘上的上下箭头,可以使非常后边的行(如:90行)也同时出现在窗口中。利用冻结窗口的功能,可以使一张大工作表的行列标题一直显示在窗口中。单击"窗口"菜单中的"撤消冻结窗格"可以恢复。

用分割窗口的方法:选定Sheet2工作表→用鼠标指向垂直滚动条顶端的水平分割块→当鼠标变成分割指针时,按住左键向下拖拉到第8行的下方→松开左键→操作两个窗口的滚动条,也可使第3行和第90行都出现在窗口中,拖回该分割条即可撤消。(一般了解)2、要同时显示多张工作表,必须建立多个窗口。(1)单击"窗口"菜单中的"新建窗口"选项→单击Sheet1工作表标签;(2)单击"窗口"菜单中的"新建窗口"选项→单击Sheet3工作表标签;(3)重排窗口:单击"窗口"菜单中"重排窗口"选项→在"重排窗口"对话框中选择一种排列方式→"确定"。五、保护数据设置和撤消对工作表的保护。设置和撤消对工作簿的保护。具体操作:1、设置保护:(1)打开"工具"菜单→指向"保护"选项→在子菜单中单击"保护工作表"选项,打开"保护工作表"对话框;(2)在"密码"框中输入密码,在下边的对话框中指定工作表中的哪些内容受保护(一般为都不可操作)→"确定"→在"确认密码"对话框中的"重新输入密码"框中再次输入相同的密码→"确定"。该工作表就只可以观看,不能被操作了。2、撤消保护:在"工具"菜单的"保护"子菜单中选中"撤消工作表保护"选项→输入密码→"确定"。3、在对工作簿进行"另存为"操作时,选择"另存为"对话框中的"工具"选项,选择其中的"常规选项",可对工作簿进行真正的保护操作。撤消保护时取消密码即可。第四讲使用公式学习要点:公式的输入;移动、复制、填充公式。基本概念:为与常量相区别,每一个公式都要以等号(=)开头。一、输入公式输入公式;输入公式中的函数。具体操作:1、直接在单元格中输入:=A1+A2→按Enter键确认;或在编辑栏中输入:=A1+A2→单击编辑栏上绿色对勾"√"按钮确认。("×"按钮的作用是取消输入。编辑栏是Excel所独有的,主要的作用是显示和编辑活动单元格中的内容。单击含运算结果的单元格,公式内容会显示在编辑栏中;修改公式在单元格或编辑栏中均可进行)2、通过用鼠标选定单元格的方法快速输入公式:A1*A2+A3。输入:"="→单击A1→输入:"*"→单击A2→输入:"+"→单击A3→按Enter键确认。3、在单元格中输入函数,如:求平均值、求和等。(1)单击"插入"菜单的"函数"选项,打开"插入函数"对话框;(2)在"函数选择"列表中选中"AVERAGE"(求平均值)、"SUM"(求和)"MAX"(求最大值)→"确定",打开"函数参数"对话框;(3)单击"Number1"参数框右端的"压缩"按钮→在工作表中用鼠标选中求值范围,如:B2到E2→单击"还原"按钮;→"确定"。二、重算公式与显示公式自动重算显示所有公式的内容。具体操作:1、自动重算-修改引用单元格中的内容(如:A2)后公式会自动重算,这是系统的默认设置。2、显示工作表上所有公式的内容。打开"工具"菜单中的"选项"对话框→单击"视图"选项卡→选中"窗口选项区"中的"公式"复选项→"确定"。按Ctrl+"`"(在键盘的左上角,Esc键下方)组合键可以使工作表中所有公式在公式内容和公式结果间进行切换,这种方法更为便捷。三、移动、复制、填充公式移动和复制公式;填充公式;绝对引用具体操作:1、移动:在B4中输入公式:=SUM(B1:B3);单击B4→鼠标指向单元格边框,当鼠标变为十字箭头时,按住左键拖拉到D4→松开左键;2、复制:在C4中输入公式:=SUM(C1:C3);按住Ctrl+C键复制,在E4中按住Ctrl+V键粘贴。3、填充公式:在D1单元格中插入一个自动求和公式(常用工具栏上的"自动求和"按钮)→鼠标指向D1单元格边框右下角,当鼠标指针呈十字形时,按住鼠标左键向下拖拉至D3单元格→松开左键,则可完成对D2和D3的公式填充。说明:公式移动时,其中的单元格引用不变;复制和填充时,单元格中的引用会改变。4、绝对引用:在公式的单元格引用"C1"处,按F4功能键(单元格引用"C1"就变为"$C$1"),确定。单元格被绝对引用,无论移动、复制还是填充,公式都不会变化。(包含符号"$"的单元格引用是绝对引用)第五讲设置工作表格式学习要点:设置单元格及其内容的多种格式;使用自动套用格式;设置条件格式。一、设置单元格及其内容的多种格式更改行高和列宽;合并单元格;设置字体的格式;使用格式刷;设置表格边框。具体操作:1、更改行高:(1)用鼠标单击行号选中一行或只是选中一个单元格→指向格式菜单中的"行"→在子菜单中单击"行高"选项,打开"行高"对话框(2)在"行高"文本框中直接输入数据→"确定"。例5-1中:第1行为60;第2、3行为20;第4行为100;第6至20行完全一致,比当前的行高略高一些就可以。2、更改列宽:(1)按住Ctrl键单击列标同时选中多列;(2)指向"格式"菜单中的"列"→在子菜单中单击"列宽",打开"列宽"对话框;(3)在"列宽"文本框中输入数据→"确定"。例5-1中:A、C、E、G列宽为9;B、D、F、H列宽为8。说明:(1)对行高和列宽的精确设置应在对话框中进行,但当不需要十分精确时,用鼠标拖动的方法来调整更为快捷:选定行、列后,用鼠标拖动调整其中的一行或一列,就可十分快捷地同时调整多行或多列乃至整个工作表的行高或列宽,且完全一致;(2)行高的单位是像素点,列宽的单位是字符。3、合并单元格:(1)选中要合并的单元格区域→选取"格式"菜单中的"单元格"选项,打开"单元格格式"对话框;(2)在"对齐"选项卡的"文本控制"区中,选中"合并单元格"复选框→"确定";例5-1中:合并A1:H1、C3:D3、E3:H3、B4:H4。说明:(1)当包含数据的多个单元格被合并时,只有左上角单元格中的数据被保留到合并后的单元格中;(2)要把合并后的单元格再拆分开,只需要在单击目标后把选中的"合并单元格"复选项取消即可。4、设置字体的格式:(1)选中单元格→选取"格式"菜单中的"单元格"选项,打开"单元格格式"对话框;(2)在"对齐"选项卡中设置"水平对齐"和"垂直对齐";(3)在"字体"选项卡中设置字体、字号等格式(也可在"格式"工具栏上直接设置)。

例5-1中:"简历表"三个字的"水平对齐"和"垂直对齐"都为"居中",楷体、加粗、字号20、单下划线;"姓名"两个字为隶书、字号12、水平、垂直居中。5、使用格式刷:(1)选中已经设置好的单元格→双击常用工具栏上的"格式刷"按钮(单击只可用一次);(2)用带小刷子的鼠标分别单击其他单元格即可完成对格式的复制;(3)再次单击"格式刷"工具栏按钮,结束格式刷的作用。例5-1中:"性别"、"出生日期"、"民族"、"学历"、"工作单位"、"主要经历"的文本格式设置与"姓名"相同。6、设置竖式文本:(1)选中单元格→选取"格式"菜单中的"单元格"选项,打开"单元格格式"对话框;(2)单击"对齐"选项卡→在"方向"框内单击选中竖式文本框→"确定";例5-1中:"主要经历"四个字为竖式文本,水平、垂直居中。7、设置表格边框:(1)选中整个表格→选取"格式"菜单中的"单元格"选项,打开"单元格格式"对话框;(2)单击"边框"选项卡→

在"线条样式"列表框中选择一种合适的线型→单击"预置"框中的"无"按钮、"外边框"按钮及"内部"

温馨提示

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

评论

0/150

提交评论