《毕业设计(论文)基于struts的项目申报系统设计与实现.docx》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于struts的项目申报系统设计与实现.docx(45页珍藏版)》请在三一办公上搜索。
1、毕业论文(设计) 题 目 基于STRUTS的项目申报系统设计与实现 学生姓名 指导教师 学 院 专业班级 完成时间 教务处制38目 录摘要ABSTRACT 第一章前言11.1开发背景11.2 现状分析及发展趋势11.2.1现状分析11.2.2发展趋势21.3 课题目标21.4 技术支持2第二章相关知识介绍32.1 JAVA Web应用32.1.1 JAVA32.1.2 JAVA Web32.2 J2EE32.3 MVC42.3.1 模型42.3.2 视图52.3.3 控制器52.4 Struts52.5 MS SQL Server62.6 JDBC62.7 PowerDesigner7第三章系
2、统需求分析83.1 系统规划83.2 系统开发环境83.2.1 开发语言83.2.2 服务器端运行系统83.2.3 客户端操作系统83.2.4 数据库83.2.5 数据库设计工具93.3 系统功能模块分析93.4 数据流图11第四章系统详细设计134.1 数据库设计134.1.1 数据表设计134.1.2数据表之间的关系154.2 系统功能模块设计164.2.1 项目申请者模块设计164.2.2 项目管理者模块设计184.2.3 系统管理员模块设计19第五章系统具体实现215.1 公共类的编写215.1.1 数据库的连接及操作方法类:DB215.1.2 数据表信息类:Content225.1.
3、3 分页类:Page225.1.4类型转换类:Change225.1.5检查用户权限类CheckUserAble235.1.6解决Struts中的中文乱码的类:FormToChinese235.2 开发自定义标签245.3 登录模块的实现255.3.1 创建登陆的页面:index.jsp255.3.2 配置struts-config.xml文件255.3.3 创建LogonForm类265.3.4 创建LogonAction类265.4 项目申请者模块的实现275.4.1 项目申请实现275.4.2 项目管理实现285.4.3 项目查询实现295.5 项目管理者模块的实现305.5.1 账户管
4、理的实现305.5.2 项目审核模块实现315.5.3 项目查询模块实现325.5.4 项目汇总模块实现325.5.5 向上级报送申报数据实现325.5.6 打印申报数据实现345.6 系统管理员模块的实现355.6.1 账户管理的实现355.6.2 信息查询模块实现355.6.3 信息汇总模块实现36第六章结束语37参考文献38摘 要随着计算机及数据库技术的不断发展, 使用现代化技术手段进行事务处理成为必要。Struts 是一种优秀的基于J2EE体系结构的 MVC模式框架,基于Struts框架开发项目申报系统可获得好的可重用性、可扩展性和易维护性。建立一个基于struts的项目申报系统可以方
5、便基层单位科研管理部门进行快速事务处理,提高工作效率。本文的研究内容为基于struts的项目申报系统,设计的项目申报系统专门针对基层科研单位。全文首先阐述了项目申报系统的应用背景、发展现状和趋势、课题目标以及相关的技术支持。之后对该系统涉及到的相关知识进行了介绍,对该系统进行了整体的设计分析,确定了开发环境,构建了基本的框架结构和功能模块。然后确定了数据库和各功能模块的详细设计,并进行具体的功能模块实现。对系统的运行调试表明,该系统完全可以满足基层科研单位的项目申报需求,可以高效地对科研项目的申报进行管理。关键词:struts,MVC,J2EE, JAVA,MS SQL Server,JDBC
6、,PowerDesignerABSTRACTAs computer and database technology continues to evolve, the use of modern techniques for transaction processing is necessary. Struts is an excellent architecture based on J2EE MVC model frameworks, The project reporting systems based on Struts framework will be good reusabilit
7、y, scalability and maintainability. Establishing a reporting system based on struts can facilitate grass-roots scientific management for rapid transaction processing and improve efficiency.The content of this research is a project reporting system based on struts, designed specifically for project r
8、eporting system, basic scientific research. The first section explains the background of the project reporting system, applications, development status and trends, project objectives and related technical support。After the research introduces knowledge involved in this system, design and analysis th
9、e system, determine the development environment, a establish the basic framework of the structure and function modules 。At last ,the research determines the database and the detailed design of each functional module, and achieve specific functional modules. On the operation of the system debugging s
10、hows that the system can fully meet the basic needs of the scientific research unit project application, you can efficiently manage the declaration on research projects.KEY WORDS: struts,MVC,J2EE, JAVA,MS SQL Server,JDBC,PowerDesigner基于struts的项目申报系统设计与实现第一章 前言第一章 前言本章介绍了项目申报系统的应用背景,对现存的项目申报系统进行了分析,预
11、测了该类系统的发展趋势,明确了该课题的目标,最后对该系统的技术方案作了简单介绍。1.1开发背景现代社会科学技术突飞猛进,各科研单位的研究项目越来越多,怎样使科研项目的申报和审批更加高效,已经成为各个科研单位亟待解决的问题。随着我国因特网的高速发展,它的影响已经不仅体现在人们的工作与学习方面,而且越来越多地融入生活的每一个角落,通过互联网系统来进行科研项目的申报,将可以加快基层单位科研管理部门进行快速事务处理,大大提高工作效率。1.2 现状分析及发展趋势1.2.1现状分析迄今为止,绝大部分的科研单位都还没有相应的项目申报系统,项目的申报主要依靠专门的负责人员来进行登记和审批,效率极低。即使个别科
12、研单位具有与项目申报有关的系统,系统也存在大量的缺陷,如数据量过大导致溢出,访问量过大导致系统崩溃,输入数据非法导致无法识别。因此,开发一个高效、稳定的项目申报系统迫在眉睫。下面的两个例子介绍了项目申报系统的发展现状。福建省科技厅的科学信息综合业务系统,就是一个主要针对项目申报而建立的系统。该系统因为涉及到众多科研技术,因此专门针对教育网的用户而设置了入口。整个综合业务系统包括用户登录、公告与通知、用户注册、相关下载、管理文件等模块,其中用户可以根据登录的目的而选择是登陆项目申报系统还是成果评奖系统。国家自然科学基金项目申报系统(MiniIRIS)是另一个典型项目申报系统,它的运行不是在网页上
13、,而是又一个专门的客户端。系统整体由四个模块组成:系统管理模块,项目管理模块,数据管理模块,帮助模块。主显示界面列出了项目清单,可以进行项目的选定修改。为了方便用户使用,系统针对常用的几个功能建立了图标按钮,如“添加申请”、“删除申请”、“项目打印”等。综上,现存的项目申报系统主要分为.基于WEB网页的和基于客户端两类。项目申请模块的基本功能都包括用户登录、文件上传、项目管理等;项目管理模块的基本功能包括用户登录、项目查询、项目审核等。两类系统各有特色,但都存在着功能不健全、反应过慢、操作繁琐等问题。新的项目申报系统应该尽量避免以上问题。1.2.2发展趋势科技工作的重要责任就是促进科学技术本身
14、的科学发展、全面发展,以引导和服务全社会提高自主创新能力、建设创新型国家。现在国家越来越重视科技项目的研究,科技研发已经到了一个百花齐放的时代。科研单位对项目申报系统的需求也变得越来越急切。项目申报系统的发展,将由原来的单一化和简单化,逐渐向多元化和智能化发展。未来的项目申报系统,将是一个建立在互联网上,由数据库支持的高效、稳定的软件系统1.3 课题目标把网络编程技术和数据库技术相结合,设计并实现一个基于struts的项目申报系统,该系统必须实现信息录入、信息查询、信息汇总和向上级报送申报数据,打印申报数据清单、用户登录及账号管理等功能。对于信息录入,录入方式应简洁,系统必须具备一定的容错性,
15、能够针对非法的输入数据进行必要的提示。进行信息查询时,应该提供多种查询方式,例如按日期查询,按申请人查询,按项目类别查询等。查询后显示的条目应按照一定规律顺序显示。进行信息汇总时,应该提供多种汇总方式,例如按日期汇总,按申请人汇总,按项目类别汇总等。系统应可以针对汇总后的数据进行统计。用户登录应具有较高的安全性,应能防止非法侵入。1.4 技术支持互联网的出现,使科研项目的申报不再受地点的限制。Struts 是一种优秀的基于J2EE体系结构的 MVC模式框架,基于Struts框架开发项目申报系统可获得良好的可重用性、可扩展性和易维护性。结合数据库,可使申报的项目方便地被存储和调用查看1。基于st
16、ruts的项目申报系统设计与实现第二章 相关知识介绍第二章 相关知识介绍本章介绍了与该系统相关的一些知识,包括JAVA语言和平台,J2EE平台,MVC设计模式,struts结构框架,MS SQL Server,JDBC,PowerDesigner等。2.1 JAVA Web应用2.1.1 JAVAJava,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算2。从此,Java被广泛接受并推动了Web的迅速发展,常用
17、的浏览器现在均支持Java applet。Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。目前常用的Java平台基于Java1.4,最近版
18、本为Java1.7。2.1.2 JAVA WebJava Web,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。Java在客户端的应用有java applet不过现在使用的很少,Java在服务器端的应用非常的丰富,比如Servlet,JSP和第三方框架等等。Java技术对Web领域的发展注入了强大的动力2.2 J2EEJ2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值3。 J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标
19、准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,导致企业内部或外部难以互通的窘境。 目前,Java 2平台有三个版本,它们是适用于小型设备和智能卡的Java 2平台Micro版(Java 2 Platform Micro Edition,J2ME)、适用于桌面系统的Java 2平台标准版(Java 2 Platform Standard Edition,J2SE)、适用于创建服务器应用程序和服务的Java 2平台企业版(Java 2 Platform Enterprise Edition,J2EE)。J2EE是一种利用Java
20、2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如编写一次、随处运行的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。J2EE体系结构提供中间层集成框架用来满足无需太多
21、费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。2.3 MVCMVC(Model View Controller)是一个设计模式4,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。 2.3.1 模型 模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用
22、象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。 2.3.2 视图 视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Adobe Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services5。如何处理应用程序的界面变得越来越有挑战性
23、。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。2.3.3 控制器 控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器(例如:servlet)本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。2.4 StrutsStruts是一个MVC框架(Framework),用于快速开发Java Web应用6。Struts实现的重
24、点在C(Controller),包括ActionServlet/RequestProcessor和Action,也为V(View)提供了一系列定制标签(Custom Tag)。但Struts几乎没有涉及M(Model),所以Struts可以采用JAVA实现的任何形式的商业逻辑。 Spring是一个轻型容器(light-weight container),其核心是Bean工厂(Bean Factory),用以构造设计者所需要的M(Model)7。在此基础之上,Spring提供了AOP(Aspect-Oriented Programming, 面向层面的编程)的实现,用它来提供非管理环境下申明方式
25、的事务、安全等服务;对Bean工厂的扩展ApplicationContext更加方便设计者实现J2EE的应用;DAO/ORM的实现方便设计者进行数据库的开发;Web MVC和Spring Web提供了Java Web应用的框架或与其他流行的Web框架进行集成。将两者一起使用,可将两者自身的特点进行互补。Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点8。使开发者能更深入的了解其内部实现机制。 除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率9。另外,就目
26、前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。 2.5 MS SQL ServerMicrosoft SQL Server是从原来的Sybase SQL Server数据库演化而来的,MS SQL Server可以说是PC市场上最早的关系数据库系统之一。1998年,由Sybase、Microsoft和Aslilton-Tate联合开发的用在OS/2系统上的SQL Server问世了。在SQL server移植到Windows 3x/9x和Windows NT后,Microsoft成为了这个项目的领头羊。Microsoft和Syb
27、ase销售的产品在4.21版本时基本上是相同的。到1993年,主要由于Windows NT操作系统的出现,联合开发认证协议取消了。从此,Microsoft主要集中于NT版本的SQL Server开发,而Sybase则将注意力放在微机版本的SQL Server开发。Microsoft最初批准的SQL Server核心组件是用于在OS/2的PC平台上的,在1996年推出SQL Server6.5后,已改为可在Windows 3x/9x和Windows NT系统上运行。当前最新版本为SQL Server 2008,其中SQL Server 2000是Microsoft于2000年10月份推出的产品。
28、Microsoft SQL Server平台有以下特点: 可信任的使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。 高效的使得公司可以降低开发和管理他们的数据基础设施的时间和成本。 智能的提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息。2.6 JDBCJDBC(Java Data Base Connectivity ,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成10。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数
29、据库开发人员能够用纯 Java API 编写数据库应用程序。Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。 Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的
30、只是 Java应用程序与各种不同数据库之间进行对话的方法。而 JDBC 正是作为此种用途的机制。2.7 PowerDesignerPowerDesigner系列产品提供了一个完整的建模解决方案,业务或系统分析人员,设计人员,数据库管理员DBA和开发人员可以对其裁剪以满足他们的特定的需要;而其模块化的结构为购买和扩展提供了极大的灵活性,从而使开发单位可以根据其项目的规模和范围来使用他们所需要的工具。PowerDesigner灵活的分析和设计特性允许使用一种结构化的方法有效地创建数据库或数据仓库,而不要求严格遵循一个特定的方法学。PowerDesigner提供了直观的符号表示使数据库的创建更加容易
31、,并使项目组内的交流和通讯标准化,同时能更加简单地向非技术人员展示数据库和应用的设计。 PowerDesigner不仅加速了开发的过程,也向最终用户提供了管理和访问项目的信息的一个有效的结构。它允许设计人员不仅创建和管理数据的结构,而且开发和利用数据的结构针对领先的开发工具环境快速地生成应用对象和数据敏感的组件。开发人员可以使用同样的物理数据模型查看数据库的结构和整理文档,以及生成应用对象和在开发过程中使用的组件。应用对象生成有助于在整个开发生命周期提供更多的控制和更高的生产率。PowerDesigner是一个功能强大而使用简单工具集,提供了一个复杂的交互环境,支持开发生命周期的所有阶段,从处
32、理流程建模到对象和组件的生成。PowerDesigner产生的模型和应用可以不断地增长,适应并随着你的组织的变化而变化。基于struts的项目申报系统设计与实现第三章 系统需求分析第三章 系统需求分析本章对该系统进行了整体的分析,明确了系统目标,确定了开发环境,构建了基本的框架结构和功能模块。3.1 系统规划对该系统功能的操作是根据用户的身份来设定的。本系统将用户分为了三个权限级别:“系统管理员”可对系统中的所有功能进行操作;“项目管理者”可对系统中的部分功能进行操作;“项目申请者”在本系统中只能对自己的项目进行操作。所以根据用户权限的级别,将该系统规划为对应的三种模式。3.2 系统开发环境3
33、.2.1 开发语言开发语言必须能够很好的进行网络系统的开发,具有很强的网络系统开发优势。Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。因此该系统的开发语言应选择JAVA。3.2.2 服务器端运行系统服务器端运行系统选用Windows NT。Windows NT是Microsoft推出的面向工作站、网络服务器和大型计算机的网络操作系统,它与通信服务紧密集成,提供文件和打印服务,能运行客户机服务器应用程序,内置了InternetIntranet功能,已逐渐成为企业组网的标准平台。3.2.3 客户端操作系统考虑到客户
34、端操作系统应该为用户最常用的系统,因此客户端操作系统选为Windows XP。Windows XP是当今最流行的操作系统之一,以其方便易懂的操作而受到了全球用户的喜爱。3.2.4 数据库在有些方面,服务器数据库(如SQL Server)与主机数据库是相同的。现在用于计算机系统数据库的最主要特点是关系数据库模型,此外主机与小型机上的服务器数据库,如关系数据库,都支持结构化查询语言(SQL)及其专有工具访问数据。3.2.5 数据库设计工具数据库设计工具采用主流数据库设计软件PowerDesign9 。3.3 系统功能模块分析该系统根据用户角色,划分为三个模块:项目申请者模块、项目管理者模块、系统管
35、理员模块。系统功能模块如图3.1所示。项目申报系统系统管理员模块项目管理者模块项目申请者模块项目修改信息查询用户登录用户资料修改信息录入用户登录用户资料修改账号管理信息查询信息汇总信息查询账号管理用户资料修改用户登录向上级报送申报打印申报数据信息汇总文件上传图3.1 系统功能模块根据系统的功能模块分析,画出系统的UML用例图如图3.2所示。用户登录资料修改项目申请者泛化泛化项目资料修改用户资料修改泛化泛化项目信息查询信息查询包含账户信息查询添加账号账号管理包含删除账号号管理申请者账号管理项目管理者泛化泛化账号管理管理者账号管理包含包含添加账号泛化删除账号账号汇总泛化信息汇总扩展扩展项目汇总系统
36、管理员向上级报送打印清单图3.2 系统UML用例图各个模块的子模块功能划分如下:1. 项目申请模块:(1) 用户登录:提供用户登录的功能(2) 用户资料修改:提供用户查看并修改个人资料的功能(3) 信息录入:提供用户提交项目申请的功能(4) 文件上传:提供文件上传的功能(5) 项目修改:提供用户更改申请项目资料的功能(6) 信息查询:提供用户查询个人项目申请状态的功能2. 项目管理模块:(1) 用户登录:提供项目管理者登录的功能(2) 用户资料修改:提供项目管理者查看并修改个人资料的功能(3) 账号管理:提供项目管理者管理项目申请者账号的功能(4) 信息查询:提供项目管理者查询项目申请的功能(
37、5) 信息汇总:提供项目管理者根据不同方法汇总申请项目的功能(6) 向上级报送申报数据:提供向上级报送申请项目资料的功能(7) 打印申报数据清单:提供申报数据清单的打印功能3. 系统管理模块:(1) 用户登录:提供用户登录的功能(2) 用户资料修改:提供用户查看并修改个人资料的功能(3) 账号管理:提供系统管理员管理所有项目申请者和项目管理者账号信息的功能(4) 信息查询:提供查询所有非系统管理员账号信息的功能(5) 信息汇总:提供对所有非管理员账号进行汇总管理的功能3.4 数据流图1. 项目申请处理的数据流图如图3.3所示。项目申请项目申请项目申请信息信息录入文件表项目申请者产生列表项目管理
38、者项目申请列表图3.3项目申请处理的数据流图项目申请者将项目申请提交给系统,系统的信息录入模块将项目申请存入数据库文件表中,数据库的文件表将项目申请信息递交给系统,通过产生列表模块产生项目申请列表,提交给项目管理者。2. 向上级报送申报数据的数据流图如图3.4所示。上报信息表项目信息项目信息项目上报信息信息录入项目管理者项目上报列表上级部门产生列表图3.4 向上级报送申报数据的数据流图项目申请者将项目信息提交给系统,系统的信息录入模块将项目信息存入数据库上报信息表中,数据库的上报信息表将项目上报信息递交给系统,通过产生列表模块产生项目上报列表,提交给上级部门。 基于struts的项目申报系统设
39、计与实现第四章 系统详细设计第四章 系统详细设计本章对该系统进行了详细设计,确定了数据库设计和具体功能模块设计。4.1 数据库设计该部分阐述了系统中的数据表设计,介绍了数据表之间的关系。4.1.1 数据表设计本系统共设计了5类表:文件表tb_file,下拉列表信息表tb_label,功能菜单表tb_menu,上报信息表tb_text,用户表tb_user。1. tb_file(文件表)文件表用于保存上传文件的信息、表tb_file的结构如表4.1所示。表4.1 文件表字段名称数据类型字段大小是否主键说明file_idint4主键自动编号file_namevarchar50文件名file_upe
40、rvarchar50外键上传者姓名file_sizevarchar50文件大小file_uptimevarchar50文件上传时间file_infovarchar50文件描述信息file_checksmallint2文件是否被审阅2. tb_label(下拉列表信息表)tb_label表中存储了本系统中所有下拉列表标签的信息,该标签的代码如下:该标签会向用户显示下拉列表项信息,并向服务器传递被选中的下拉列表项的值。表tb_label的结构如表4.2所示表4.2 下拉列表信息表字段名称数据类型字段大小是否主键说明label_idint4主键自动编号label_namevarchar50显示给用户
41、的下拉列表项的名称label_valuevarchar50在程序中使用的下拉列表项的值label_typevarchar50下拉列表的类型label_ordersmallint2下拉列表项的排列次序3. tb_menu(功能菜单表)功能菜单表用于保存功能菜单信息。表tb_menu的结构如表4.3所示。表4.3 功能菜单表字段名称数据类型字段大小是否主键说明menu_idvachar50主键程序中使用的菜单名称menu_namevarchar50显示给用户的菜单名称menu_parentidvarchar50父菜单的menu_id值menu_actionvarchar50菜单触发操作的请求连接m
42、enu_jibievarchar2菜单的级别menu_orderint4菜单在页面中的排列次序menu_ableint4菜单的权限级别4. tb_text(上报信息表)上报信息表用于保存向上级发送的信息。表tb_text的结构如表4.4所示。表4.4 上报信息表字段名称数据类型字段大小是否主键说明text_idint4主键自动编号text_subjectvarchar50上报主题text_sendervarchar50外键信息的发送者text_getervarchar50外键信息的接受者text_contenttext16信息内容text_sendtimevarchar50信息的发送时间5.
43、tb_user(用户表)该表用来保存所有员工的信息。共有9个字段,其中字段user_able表示用户的权限:0代表项目申请者,1代表项目管理者,2 代表系统管理员。表tb_user的结构如表4.5所示。表4.5 用户表字段名称数据类型字段大小是否主键说明user_namevarchar50主键用户名user_passwordvarchar10用户密码true_namevarchar50用户真实姓名user_ableint2用户权限user_emailvarchar50用户的E-mail地址user_telvarchar15用户的电话号码user_addressvarchar100用户地址use
44、r_accessTimesint4用户的访问次数user_foundTimevarchar50用户的创建时间4.1.2 数据表之间的关系本系统所涉及的表中,表tb_menu和表tb_label是两个独立的表,表tb_user和表tb_file之间,表tb_user和表tb_text之间均存在联系联系。表tb_user和表tb_file之间存在1对多的联系,其中表tb_user中的user_name在表tb_file中做外键。表tb_user和表tb_text之间存在1对多的联系,其中表tb_user中的user_name在表tb_text中做外键。数据表关系图如图4.1所示。图4.1 数据表关系图表tb_label和表tb_menu是本系统的关键表:1. 表tb_label当字段label_type的内容为XXX_search的时候,字段label_value的内容为数据表中的字段名;其他的则是要插入到数据表中的内容。2. 表tb_menu字段menu_id表示在程序中用到的菜单的名称。字段menu_name表示的是在页面中显示给用户的菜单名称。字段menu_parentid表示菜单的父菜单名称,通过设置该字段就可以实现级联菜单了。字段menu_action的设置是