还剩39页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
第1章绪论
1.1开发背景随着计算机和网络技术的迅速发展,人类社会进入了信息时代,在信息社会和知识经济时代,“数字化校园”已经成为高校进行信息化建设的热点,是校园管理达到现代化标准的重要标志而“校园网一卡通系统”是“数字化校园”的重要组成部分,是数字化校园的基础工程校园网一卡通系统的实施,一方面能够整合校园内各信息管理系统;另一方面为数字化校园提供了一个安全可靠的数据平台校园网一卡通系统——就是使用先进的非接触IC卡技术以及网络通讯技术,针对学校的综合管理(特别是学生的日常生活方面)而开发设计的它以非接触IC卡作为载体,利用计算机网络以及数据库等技术,使IC卡具有身份识别和电子钱包的功能,可替代校园日常生活所需各种证件和现金交易,达到证件、考勤、消费、娱乐、餐饮等收费的全电子化和智能化结束了传统校园生活中证件、卡片和票据满天飞的情况,将多种管理系统集成为一体,以一卡通的形式进行诸如签到考勤、身份证明、借阅图书、校园消费等多种活动,使用方便快捷,安全可靠,做到“一卡在手,走遍校园”
1.2理论与实际意义随着人类社会的进步与发展,当今的社会已经进入了信息化的社会,建立先进的信息系统是高校现代化的必由之路,而信息安全技术、智能卡技术的推广与运用,则是高校信息化程度的重要标志近年来,高等学校经历了一系列的调整和改革,如扩招、院系合并等对此,学校迫切感觉到管理与服务的手段落后,难以适应变化事实上,高校在组织、协调、监督、指导各部门的工作中,各类事务越来越复杂,信息量越来越大,涉及的部门越来越多,庞大的数据信息等待分析、处理和存储,繁琐的事务需要简化和提速,如果仍沿用以前的手工操作或人工管理的方式,管理部门将很难有时间集中精力处理一些高层次问题,这无疑不能适应目前的形势需要在这些问题中,有一个突出的、基础性的问题急待解决,即校园管理身份认别以及校园货币电子化的问题,这是涉及校园管理方方面面的重大课题由此,基于智能卡技术的“校园一卡通”系统应运而生在当前高校信息化建设的进程中,一卡通系统得到了高度的重视和迅速的推广,成为今后校园信息化建设的重要内容和必然趋势“校园网一卡通系统”的主要的思想是,即通过建设规范的、安全的、可扩展的校园管理系统,实现校园管理信息化、智能化、自助化其基本的建设过程是,先解决校园货币的电子化问题,然后根据教育行业信息系统建设的标准及校园卡的规范,将信息化的应用与服务全面推广到校园管理的各个方面对于校园货币电子化而言,其目标是凡有现金、票证或需要身份识别的场合,均用一张智能卡来完成该卡可供持卡人用于校园内部处理杂务,购买食品、饮料、书本,借阅图书,查资料,报到注册、交纳费用等持卡人只需开设帐户并存入金额,即可启用其电子钱包功能;卡可反复充值对教育行业的核心应用而言,校园卡是符合教育部教育管理信息中心校园卡标准化规范,卡中写入了与持卡人有关的信息,如身份信息、学习成绩信息,同时由教育部、学校分级进行签名,即学生信息证书,以安全的、统一的实现各类校园管理与应用功能,并且卡中信息可在全社会共享和认证本系统所使用的开发语言是JSP,数据库用的是MySQL,服务器是Tomcat,集成开发环境IDE是Myeclipse
7.5,它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTMLStrutsJSFCSSJavascriptSQLHibernate
1.3主要研究内容数据库设计是指对于一个给定的应用环境,构造最优的数据库模式建数据库及其应用系统,使之能够有效的存储数据,满足各种用户的应用需求信息要求和处理要求这个问题是数据库应用领域的主要研究课题从使用者角度看,信息系统是提供信息、辅助人们对环境进行控制和进行决策的系统数据库是信息系统的核心和基础它把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息一个信息系统的各个部分能否紧密地结合在一起以及如何结合,关键在数据库因此只有对数据库进行合理的逻辑设计和有效的物理设计才能开发出完善而高效的信息系统数据库设计是信息系统开发和建设的重要组成部分
1.4设计目标校园一卡通是以IC卡为信息载体,适用于校园消费和管理的网络系统IC卡取代了学校管理和生活中所使用的各种个人证件和现金支付手段,在一张小小的IC卡上实现生活消费、学籍管理、身份认证、网上交费等多种功能校园IC卡与银行联网,可以在校内外银行网点和指定商户圈存、圈提、取现、消费,真正做到一卡通用校园IC卡的推广使用将极大方便学生、教工的生活,减轻携带各种证件的烦恼,并与学校其他信息基础设施相配合,促进校园信息化管理水平的提高该系统可在校园内实现对教师学生的考勤、消费、教学、图书管理等日常行为方面进行一系列自动化集成管理,完成对学校资源的有效整合,使学校的管理提升到一个新的水平
1.5校园网一卡通系统特点
1.系统应用特点校园网一卡通应用中,IC卡主要用于身份识别、消费和记录特征信息IC卡作为学生和教工在校内的证件,应用于教学、日常生活及其管理等方面,以实现个人基本信息的识别与管理及相应收费,实行一卡多用,一卡通用全校分学生和教工两部分,建立校园卡的统一发行管理机制,并通过推进校园卡应用工程,逐步完善全校统一的基本数据管理系统,确保校园卡安全、有效的使用校园卡实行校内自主管理,丢卡者挂失后可以迅速补发新卡,方便持卡人,并有利于学校的管理利用校园网络,建立一个校园IC卡系统的网络运行环境,实现校园卡基本数据的网络传送,特别是卡挂失的黑名单能够实时、有效地下载,最大限度地保护持卡人的利益,保证校园卡系统的安全运行校园卡应用系统能够与各应用单位原有的管理系统相兼容,并提供良好的信息接口,只要进行少量的修改工作,即能并行运行
2.先进性充分考虑信息化社会迅猛发展的趋势,在技术上设计超前,所采用的技术和设备能保证校园一卡通管理系统建成先进的、现代化的管理系统
3.实用性校园一卡通系统充分强调了系统的实用性,各个应用子系统都是从实际应用中出发开发,符合各应用点的实际操作情况,应用流程情况,是以用户为中心的一卡通应用系统
4.安全性及可靠性1系统的安全性系统具有安全性,包括网络系统、主机系统、数据存取系统、数据传输系统的安全性,数据备份和灾难恢复的可靠性为保证系统软件、应用软件及数据安全,系统严格选用操作系统平台,开发平台,设计防病毒功能,保护系统数据,并建立备份系统,定期自动进行全量及增量备份在系统中采用射频证卡作为身份识别,并在关键信息的处理,传输中采用加密处理,防止信息被未授权访问,确保系统的安全性本系统开发平台为MyEclipse数据库为MySQL数据库,服务器为Tomcat2网络运行的可靠性可靠性包括网络运行的可靠性、各硬件设备的可靠性、所运行软件的可靠性,并在系统中加入掉电保护,数据备份等手段来保证系统的正常,长期的运行本系统采用实时+非实时相结合的网络架构,系统管理中心有中心数据库,各子系统又具有本地库,各本地库与中心通过校园网实现数据互传,使各应用子系统依赖校园网,又可脱离校园网单独运行,这样增加了运行的安全可靠性消费终端都有自备电池,能在断电的情况下工作,消费终端有存储功能可保存一定的消费记录3异常处理在系统的设计中充分考虑到可能出现的各种异常情况,如断电,网络线路故障,交易流量超载等在系统中提出各种异常情况的处理办法如配备延时电源以防止断电的发生,门轧机有手动落杆功能防止系统故障,一但故障发生能及时放行,不影响学生进出;
5.经济性在系统的设计过程中,充分考虑到经济方面的因素一是要考虑采用主机、网络设备等的性能价格比,尤其在网络设计中,采用不同的方案,可以达到同样的效果,而投资却大不相同,所以要选择性能价格比最优的方案二是考虑系统的运行和维护费用,保证系统的实施和维护,拥有丰富的维护经验和快速的响应速度
6.可扩充性所谓可扩充性,是指根据实际的要求,系统可被方便地裁减和灵活的扩展,使系统能适应变化和新情况本软件设计采用模块化程序设计方法,便于以后的修改及扩充系统硬件的连接采用标准化接口,便于和其它系统的连接
7.总体应用结构各消费点通过校园主干网和中心服务器联结,通过校园主干网与中心进行数据交换,主干网的安全是整个校园一卡通系统运行的安全保证为了确保系统安全,设计上采用了中心服务器与各消费点服务器之间的非实时性及实时性相结合原则,即主干网通可进行数据交换,便于数据统计,主干网不通各消费点服务器可承担各消费系统运行任务,保证各消费系统正常运行第2章系统开发工具及技术
2.1系统开发工具本系统采用JSP为主要开发语言,开发工具使用了MyEclipse和Dreamweaver,服务器使用了Tomcat后台数据库用MySQL,在WindowsXP操作系统下开发既考虑了系统的需求,又兼顾了运行的效率,以及今后系统的功能拓展等具有运行效率高、开发周期短、扩展能力强、技术规范等特点
2.
1.1MyEclipse简介MyEclipse企业级工作平台MyEclipseEnterpriseWorkbench,简称MyEclipse是对EclipseIDE的扩展,利用它可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTMLStrutsJSFCSSJavascriptSQLHibernate在结构上,MyEclipse的特征可以被分为7类
1.JavaEE模型
2.WEB开发工具
3.EJB开发工具
4.应用程序服务器的连接器
5.JavaEE项目部署服务
6.数据库服务
7.MyEclipse整合帮助对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们MyEclipse结构上的这种模块化,可以在不影响其他模块的情况下,对任一模块进行单独的扩展和升级简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse
6.0以前版本需先安装EclipseMyEclipse
6.0以后版本安装时不需安装Eclipse
2.
1.2MySQL简介MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司MySQL被广泛地应用在Internet上的中小型网站中由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库
1.MySQL的特性1使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性2支持AIX、FreeBSD、HP-UX、Linux、MacOS、Novell、Netware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统3为多种编程语言提供了API这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等4支持多线程,充分利用CPU资源5优化的SQL查询算法,有效地提高查询速度6既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB
2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名7提供TCP/IP、ODBC和JDBC等多种数据库连接途径8提供用于管理、检查、优化数据库操作的管理工具9可以处理拥有上千万条记录的大型数据库
2.MySQL的应用与其他的大型数据库例如Oracle、DB
2、SQLServer等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQLCluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器由于这四个软件都是自由或开放源码软件(FLOSS,因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统
3.MySQL管理可以使用命令行工具管理MySQL数据库(命令mysql和mysqladmin,也可以从MySQL的网站下载图形管理工具MySQLAdministrator和MySQLQueryBrowserphpMyAdmin是由php写成的MySQL资料库系统管理程式,让管理者可用Web界面管理MySQL资料库phpMyBackupPro也是由PHP写成的,可以透过Web介面创建和管理数据库它可以创建伪cronjobs,可以用来自动在某个时间或周期备份MySQL数据库另外,还有其他的GUI管理工具,例如早先的mysql-front以及emsmysqlmanagernavicat等等
2.
1.3Tomcat简介Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet
2.4和JSP
2.0规范因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器,目前最新版本是
6.0Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的Tomcat标志改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的这里的诀窍是,当配置正确时,Apache为HTML页面服务,而Tomcat实际上运行JSP页面和Servlet另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式不过,Tomcat处理静态HTML的能力不如Apache服务器
2.2构建JSP的运行环境JSP的运行环境包括两部分,分别为JDK开发工具和JSP服务器JDK开发工具负责编译和解释Java文件,而JSP服务器负责将JSP文件转换为Java文件、提供事物和安全方面的帮助JSP的服务器有很多类型,如Tomcat、Resin、JBoss、和WebLogic等本系统使用的是Tomcat服务器Tomcat是Jakara项目中的一个重要的字项目,又是Sun公司官方推荐的Servlet和JSP容器,也比较适合初学者JDK(JavaDevelopmentKit,Java开发工具包)是一种用于构建在Java平台上发布的应用程序、Applet和组件的开发环境
2.
2.1JDK的安装和配置可以从Sun公司的官方网站http://java.sun.com上下载最新版本的JDK,下载完成后找到下载的JDK文件jdk-6u7-windows-i586-p.exe就可以安装了安装完成后需要进行一些配置,具体的配置步骤如下1在桌面上,右击我的电脑图标,从弹出的快捷方式中选择属性,将弹出属性对话框2在系统属性对话框中选择高级选项卡在该选项卡中,单击环境变量按钮,将弹出环境变量对话框3在环境变量对话框的系统变量中,选中变量path,然后编辑,在弹出的编辑系统变量对话框中加入JDKbin目录所在的路径这样就完成了JDK在xp操作系统下的安装和配置为了检测JDK是否安装成功,打开命令提示符窗口,输入javac,如出现如图
2.1所示,则JDK安装成功图
2.1jdk测试界面
2.
2.2Tomcat的安装和配置从网上下载Tomcat直接解压就可以了,然后进行配置,配置步骤如同配置JDK步骤,新建一个系统变量,变量名为JAVA_HOME,变量值为JDK目录所在路径完成后启动Tomcat服务器,在IE地址栏中输入http://localhost:8080/,单击转到按钮,如果显示如图
2.2所示,则说明Tomcat安装配置成功图
2.2Tomcat测试界面
2.3构建JSP的开发环境.
2.
3.1MyEclipse的安装和配置
1.双击MyEclipse
7.5的安装文件后进行安装,安装过程如下先单击“next”按钮再接受协议,再单击“next”按钮,选择好MyEclipse的安装目录之后,再单击“next”按钮选择MyEclipse之后,继续单击“next”按钮再“next”-“install”-“next”-“done”到此完成myEclipse的安装了
2.选择MyEclipse菜单,Window-Preference…,打开Preference对话框,找到菜单树中MyEclipse-ApplicationServers-Tomcat
6.x选中Tomcat
6.x项,在对话框中,选中Enable单选按钮,然后点击TomcatHomeDirectory输入框后的Browse按钮,选择Tomcat的安装根目录,这里是D:\SOFT\apache-tomcat-
6.
0.26,其它的框会自动填充点击Apply按钮
3.选中Tomcat
6.x中的JDK一项,这里要特别注意,默认的是JRE的运行环境,这里要设定成JDK的,否则,MyEclipse无法正常部属Web应用,也无法正常运行Tomcat服务器
4.单击Add按钮,JREName中写入jdk
1.
6.0_02,然后在Browse选择框中选择JDK的根目录,这里是C:\ProgramFiles\Java\jdk
1.
6.0_02,其他的默认,点击OK按钮在TomcatJDKName中选择刚才创建的那个,就是jdk
1.
6.0_02单击Apply按钮
5.最后可以单击preference对话框的OK按钮了,完成MyEclipse的配置
2.
3.2MySQL的安装和配置MySQL是一个真正的多用户、多线程SQL数据库服务器,它是一个客户机/服务器结构的实现MySQL是现在流行的关系数据库中其中的一种,相比其它的数据库管理系统(DBMS)来说,MySQL具有小巧、功能齐全、查询迅捷等优点MySQL主要目标是快速、健壮和易用关键的是它是免费的,可以在Internet上免费下载到,并可免费使用MySQL对于一般中小型,甚至大型应用都能够胜任MySQL的官方网站是http://www.mysql.comMySQL的安装过程如下
1.双击MySQL的安装文件,出现安装界面,点击next
2.其余的选择默认就行,一直点击next,出现MySQL的配置界面,点击Finish
3.点击Finish后,直到出现语言选择界面,选择gbk
4.继续点击next,出现输入密码界面,输入root用户的密码
5.继续点击next,直到出现finish界面后安装完成
6.进入MySQL后,输入setnamesgbk;设置编码为gbk,再输入status;后如出现如图
2.6所示,则说明配置成功图
2.3MySQL测试界面
2.4JSP技术的简介JSPJavaServerPages是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准JSP技术有点类似ASP技术,它是在传统的网页HTML文件*.htm*.html中插入Java程序段Scriptlet和JSP标记tag,从而形成JSP文件*.jsp用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能JSP与JavaServlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览JSP的
1.0规范的最后版本是1999年9月推出的,12月又推出了
1.1规范目前较新的是JSP
1.2规范,JSP
2.0规范的征求意见稿也已出台JSP页面由HTML代码和嵌入其中的Java代码所组成服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言JSP可用一种简单易懂的等式表示为HTML+Java=JSP
2.5SQL语言的特点
1.SQL的历史在70年代初,E.E.Codd首先提出了关系模型70年代中期,IBM公司在研制SYSTEMR关系数据库管理系统中研制了SQL语言,最早的SQL语言叫SEQUEL2是在1976年11月的IBMJournalofRD上公布的1979年ORACLE公司首先提供商用的SQL,IBM公司在DB2和SQL/DS数据库系统中也实现了SQL1986年10月,美国ANSI采用SQL作为关系数据库管理系统的标准语言ANSIX
3.135-1986,后为国际标准化组织ISO采纳为国际标准1989年,美国ANSI采纳在ANSIX
3.135-1989报告中定义的关系数据库管理系统的SQL标准语言,称为ANSISQL89,该标准替代ANSIX
3.135-1986版本该标准为下列组织所采纳1国际标准化组织InternationalOrganizationforStandardization2美国联邦政府目前,所有主要的关系数据库管理系统支持某些形式的SQL语言,大部分数据库遵守ANSISQL89标准
2.SQL的优点SQL广泛地被采用正说明了它的优点它使全部用户,包括应用程序员、DBA管理员和终端用户受益非浅1非过程化语言SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集所有SQL语句接受集合作为输入,返回集合作为输出SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入SQL不要求用户指定对数据的存放方法这种特性使用户更易集中精力于要得到的结果所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段查询优化器知道存在什么索引,哪儿使用合适,而用户从不需要知道表是否有索引,表有什么类型的索引2统一的语言SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户基本的SQL命令只需很短时间就能学会,高级的命令在几天内便可掌握SQL为许多任务提供了命令,包括1查询数据2在表中插入、修改和删除记录3建立、修改和删除数据对象4控制对数据和数据对象的存取5保证数据库一致性和完整性以前的数据库管理系统为上述各类操作提供单独的语言,而SQL将全部任务统一在一种语言中3SQL是所有关系数据库的公共语言由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS转到另一个所有用SQL编写的程序都是可以移植的
3.SQL的组成SQL包含4个部分1数据查询语言DQL-DataQueryLanguage SELECT语句2数据操纵语言DQL-DataManipulationLanguage INSERT、UPDATE、DELETE语句3数据定义语言DQL-DataDefinitionLanguage CREATE、ALTER、DROP语句4数据控制语言DQL-DataControlLanguage COMMITWORK、ROLLBACKWORK语句
2.6JSP和MySQL数据库的连接为了要连接数据库,需要有JDBC驱动程序,由于使用的是MySql数据库,所以需要下载MySql数据库
5.1版本的JDBC驱动程序下载的是mysql-connector-java-
5.
1.6-bin.jar压缩包下载完毕后,将压缩包复制到Tomcat安装目录的lib文件夹中Java程序通过JDBC组件连接一个数据库,可以分为加载JDBC驱动程序,提供JDBCURL和获取Connection对象几个步骤
1.加载JDBC驱动首先必须通过java.lang.Class类的forName动态加载驱动程序类,并向DriverManager注册JDBC驱动程序MySQL的驱动程序类是com.mysql.jdbc.Driver
2.提供JDBCURL当在Java程序中完成对MySQL驱动程序加载后,就可以创建字符串来指向要操作的数据源及相关属性,这个字符串被称为JDBCURLJDBCURL定义了连接数据库时的协议、子协议和数据源名称其格式为协议子协议数据源名称;“协议”在JDBC中总以jdbc开始;“子协议”是桥接的驱动程序或是数据库管理系统的名称,使用MySQL是mysql;“数据源名称”表示数据库来源的地址和连接端口
3.获取Connection对象URL字符串创建完成后,就可以获取数据库连接对象了要连接数据库,实际上就是想java.sql.DriverManager请求并获得java.sql.Connection对象Connection是数据库连接的具体代表对象,一个Connection对象就代表一个数据库连接,可以使用DriverManager的getConnection方法,指定JDBCURL作为子变量并获得Connection对象
4.创建Statement对象Statement对象用于将SQL语句发送到数据库中实际上有三种Statement对象,它们都作为在给定连接上执行SQL语句的包容器Statement、PreparedStatement(它从Statement继承而来)和CallableStatement(它从PreparedStatement继承而来)它们都专用于发送特定类型的SQL语句Statement对象用于执行不带参数的简单SQL语句;PreparedStatement对象用于执行带或不带IN参数的预编译SQL语句;CallableStatement对象用于执行对数据库已存储过程的调用Statement接口提供了执行语句和获取结果的基本方法PreparedStatement接口添加了处理IN参数的方法;而CallableStatement添加了处理OUT参数的方法有些DBMS将已存储过程中的每条语句视为独立的语句;而另外一些则将整个过程视为一个复合语句在启用自动提交时,这种差别就变得非常重要,因为它影响什么时候调用commit方法在前一种情况中,每条语句单独提交;在后一种情况中,所有语句同时提交连接数据库时使用了JavaBean,连接数据库的部分代码如下privateConnectionconn=null;privateStatementstmt=null;privateCallableStatementcallStmt=null;privateResultSetrs=null;publicstaticfinalStringDBDRIVER=com.mysql.jdbc.Driver;publicstaticfinalStringDBURL=jdbc:mysql://localhost:3306/campuscard;publicstaticfinalStringDBUSER=root;//用户名publicstaticfinalStringDBPASS=123;//密码publicConnectionDB{System.out.println*************构造函数;try{Class.forNameDBDRIVER;//加载驱动conn=DriverManager.getConnectionDBURLDBUSERDBPASS;//创建连接对象stmt=conn.createStatement;//创建Statement对象}catchExceptione{}}第3章需求分析
3.1系统分析通过调查,要求系统需要有以下功能
1.要有良好的人机界面
2.支持多人操作,要求有较好的权限分配功能
3.在学生选课、刷卡消费时存在一对多的关系,要求支持多行录入功能
4.为了方便用户查询,要求支持多条件查询
5.对于每次刷卡的编号惟一,编号需要自动生成
6.支持刷卡信息和充值信息的内容浏览
3.2校园网一卡通系统的开发设计思想
1.尽量采用学习现有的软硬件环境,及先进的管理系统开发方案,从而达到充分利用现有资源,提高系统开发水平和应用效果的目的
2.系统应符合学习管理的规定,可替代校园日常生活所需各种证件和现金交易,并达到操作过程的直观、方便、实用、安全等要求
3.此系统应既能满足当前学校对网络的应用需求,又可以在将来需要扩展的时候,能方便地扩展,保护目前的所有投资,设计的配置可以灵活变通,以便适应客户的其他要求系统采用成熟先进的技术,使用具有时代先进水平的一卡通管理设备,这些设备在相当长的时间内能保证其先进性与可用性
4.实用有效是最主要的设计目标,设计结果能满足需求并且行之有效校园网一卡通系统坚持实用性作为原则保证系统和应用软件全中文界面,且功能完善,界面友好,兼容性强,使用户最方便地实现各种功能并且便于掌握
5.此系统应提供多层次安全控制手段,建立完善的安全管理体系,采用多重数据保护和加密技术防止数据受侵击和破坏,有可靠的防病毒措施和阻挡不良信息进入的措施
3.3系统开发步骤一般说来,管理系统的建立与应用可以划分成总体规划、系统开发和系统运行三个阶段,其中系统开发阶段还可进一步分为系统分析、系统设计和系统实施等工作环节上述各个阶段排列成一个严格的线性开发序列,在每个工作阶段均产生完整的技术文档作为下一阶段工作的指导和依据,每一阶段都应对文档进行评审,确信该阶段工作已完成并达到要求后才能进入下一阶段,同时在以后的工作中不能轻易改变前面经过评审的成果上述开发方式的主要优点是便于开发工作的组织和管理,并且可大大降低管理系统开发的复杂性国内外许多系统开发的实例都证明这是一种行之有效的开发方式国外曾有人对一些软件项目开发各阶段的工作量进行了统计,结果表明,在开发过程中各工作阶段所占全部工作量的比重分别达到系统分析系统设计编程模块调试系统调试=20%:15%:20%:25%:20%由此可见,程序编写在开发工作中只占很小比例,而调试工作却占整个开发工作量的一半左右,因此“系统开发就是编程”的习惯说法显然是片面的另据统计,在建立管理信息系统的三个阶段中,总体规划和系统开发阶段的工作量约占整个工作量的2/3,而运行、维护阶段要占1/3,这说明一个管理信息系统开发后,仍应十分重视它的维护工作,以便使系统不断完善并充分发挥其作用
3.4系统的可行性分析开发任何一个基于计算机的系统,都会受到时间和资源上的限制因此,在接受任何一个项目开发任务之前,必须根据客户可能提供的时间和资源条件进行可行性分析,以减少项目开发风险,避免人力、物力和财力的浪费本系统数据库采用目前比较流行的MySQL,该数据库系统在安全性、准确性、运行速度方面有绝对的优势,并且处理数据库量大,效率高;开发工具采用MyEclipse
7.5,MyEclipse
7.5是目前应用最广泛的J2EE开发工具,可以快速开发WEB应用程序系统建立后所要求达到的运行指标是系统开发和评价的依据系统应充分体现学校的战略目标、发展方向和基本特点,直接为学校管理服务,系统的目标确定后,就可以从以下三方面对能否实现系统目标进行可行性分析
1.技术可行性根据系统目标来衡量所需的技术是否具备,一般可从硬件、软件的性能要求、环境条件、技术人员水平和数量等方面去考虑和分析,其中开发人员的技术力量应首先考虑能力与水平,并考虑近期内可以培养和发展的技术人员
2.经济可行性估算系统的开发费用和今后的运行、维护费用,估计系统将获得的效益,并将费用与效益进行比较,看是否有利开发、运行和维护费用主要包括购买和安装设备的费用计算机硬件、系统软件、机房、电源、空调等;软件开发费用若由实习单位的技术人员开发,则该项费用可以计入下面的人员费用一项;人员费用系统开发人员、操作人员和维护人员的工资、培训费用等;消耗品费用系统开发所用材料、系统正常运行所用消耗品,例如水、电费,打印纸、软盘、色带等开支,其它费用系统的效益可以从经济效益和社会效益两方面考虑对于企业管理信息系统则应着重分析其社会效益例如,系统投入运行后可以提供哪些以前无法及时提供的信息,用户查询和使用信息的方便程度提高多少、速度增加了多少,对于管理人员进行决策提供了多少帮助等等
3.运行可行性对系统运行后给现行系统带来的影响(包括组织机构、管理方式、工作环境等)和后果进行估计和评价同时还应考虑现有管理人员的培训、补充,分析在给定时间里能否完成预定的系统开发任务等
3.5系统总体功能需求“校园网一卡通”系统以学校现有的网络设施为基础进行建设,并且作为整个“校园化的核心”应用项目,设计上必须符合“数字化校园”的整体设计思想校园卡终端设备必须满足系统联网、脱网两种工作状态,并具有拖网状态下设备的独立结算功能与校园网络无缝集成,与餐厅、图书馆、浴室、学校超市、网络中心等职能部门相连相通系统预留接口,用于其他系统接入校园卡系统和其他系统扩展程序接入校园卡系统为了保证数据信息安全、完整和一致,保证系统设备的通用性、标准化和可替代性,需要充分考虑到系统突发故障的技术防范和处理措施第4章系统设计校园网一卡通系统研究的内容涉及卡在学校里应用的全过程,包括校园卡管理、教务管理、身份识别、充值消费、统计查询等等
4.1系统管理的工作流程系统管理的工作流程如下
1.校园卡管理此模块主要有校园卡的充值、开户、注销,卡信息的查询包括余额查询和用户资料的查询,历史记录的查询包括充值记录和消费记录查询等功能
2.教务管理采取IC卡密钥机制,可按教师、学生、管理者等情况对卡设置不同的权限,根据不同的访问权限、操作管理权限实现对校园教学办公系统的访问,同时也保障了校园网络的安全运行
3.身份识别在有些特定的场合需要对教师和学生的身份进行鉴别的时候,可借助IC卡的强大功能来进行身份识别例如有些实验室只容许某些特定的教师或学生进入,可通过设置读卡器的软件来限制其他无关人员进入,经授权可以凭IC卡查询学校的资源情况如教学设备、教育情况、学生情况、图书音像资料
4.充值消费发卡行联网的营业网点均受理校园卡的存款业务、各种消费及查询业务,这些业务必须联机运行
5.统计查询经授权可以凭IC卡查询学校的资源情况如教学设备、教育情况、学生情况、图书音像、持卡人信息、余额等各种资料
4.2系统功能模块图校园网一卡通系统是一个典型的B/S结构的网站应用程序,由登录模块、主界面、系统管理模块、校园卡管理和超市管理模块、食堂管理模块、水控管理模块、宿舍管理模块、图书馆管理模块、教务管理模块等组成规划功能模块,得到如图
4.1所示的系统总体功能模块图图
4.1系统功能模块图
1.校园卡管理主要包括校园卡充值、挂失、开户、注销和一些常用查询,等功能,如图
4.2所示图
4.2校园卡管理模块图
2.超市管理主要包括消费、充值、查询消费记录、查询收入总额,如图
4.3所示图
4.3超市管理模块图
3.食堂管理主要包括购买、充值、查询学生信息、查询消费记录等等,如图
4.4所示图
4.4食堂管理模块图
4.水控管理主要包括水房和浴室的管理,而水房和浴室各有消费、查询和充值等如图
4.5所示图
4.5水控管理模块图
5.宿舍管理主要功能为进宿室验证系统,可实时统计几时几分哪位学生进入宿室,可查询学生所在校区,所在宿舍,回宿舍时间及学生的基本信息等这样严格的管理更增加了宿室的安全性,如图
4.6所示图
4.6宿舍管理模块图
6.图书馆管理主要包括刷卡进馆、查询图书所在位置、查询图书是否被借、查询持卡人基本信息等各种查询,以及借书、还书、新书入库,删除图书等等功能如图
4.7所示图
4.7图书馆管理模块图
7.教务管理主要包括选课、查看课程表、学生考勤、成绩录入、查询成绩、添加课程、删除课程、查看课程信息、新增新生,删除学生信息等功能,如图
4.8所示图
4.8教务管理模块图第5章数据库设计
5.1数据流图数据库需求分析的重点是“数据”和“处理”,通过调查、收集与分析,获得用户对数据库的几点要求信息要求、处理要求、安全性和完整性要求由于本系统是B/S结构的网站,对于用户来说,是从服务器上获得所需要的详细信息,对于校园网一卡通系统来说,关注的是与校园网络无缝集成,与餐厅、图书馆、浴室、学校超市、网络中心等职能部门相连相通根据分析和详细调查,确定该系统应包括查询和管理数据库的功能查询的主要功能是根据用户的查询条件,显示查询所得结果;管理数据库的主要功能通过添加、修改、删除操作更新数据库中的数据,确保数据库中数据的正确性,保证用户查询结果正确
5.2MySQL数据库结构的设计系统要处理的对象包括学生基本信息,校园卡日常事务管理基本信息、“校园卡”基本信息、食堂消费基本信息、超市消费基本信息、身份认证基本信息等日常管理、身份认证等方面,详细的数据见于数据字典
5.
2.1数据字典的设计数据字典DataDictionary,简称DD是数据管理DataAdministration,简称DA的一个组成部分,数据字典是有关数据信息的收集、维护和发布的机制它是元数据Metadata,即关于数据的信息的中心元库Centralrepository数据字典提供了关于数据元素、元素组记录或片断、记录组文件或数据库信息的定义和使用机制,以及这些实体之间的联系还可以定义其它一些实体,例如,输入格式、报表、屏幕、处理、过程等等所有数据定义实体是建立在数据元素定义的基础之上的数据库和数据字典,是数据管理人员可以使用的资源和工具本系统采用的数据库是MySQL,拟建立campuscard数据库文件本系统的主要功能是实现各种数据的增、删、改、查,下面是数据库中表的建立
5.
2.2数据表的设计
1.学生Student基本信息表如表
5.1所示,用于记录学生的基本信息表
5.1学生信息表数据项名数据类型和长度别名是否为空候选码主外键Snochar8学生学号否是主键Sidchar18学生身份证号否是Snamechar10学生姓名否否SpwdChar15登录密码否否Ssexchar4学生性别否否Sbirthdatetime学生出生日期否否Sdeptchar20学生所在院系否否Sspecialchar20学生专业否否Sclasschar20学生所在班级否否Saddrchar20学生生源地否否
2.校园卡Card基本信息表如表
5.2所示,用于记录校园卡的基本信息表
5.2校园卡信息表数据项名数据类型和长度别名是否为空候选码主外键Cardnochar8校园卡编号否是主键Snochar9学生学号是是外键Sidchar18学生身份证号是是Cardstaechar6校园卡状态‘可用’’不可用’是否CardmonyFloat校园卡余额是否
3.课程Course基本信息表如表
5.3所示,用于记录课程的基本信息表
5.3课程信息表数据项名数据类型和长度别名是否为空候选码主外键Cnochar10课程编号否是主键Cnamechar40课程名称否否propertychar10课程属性‘选修’.’必修’否否GradeFloat课程学分否否Teacherchar10任课教师姓名否否
4.宿舍DormInf基本信息表如表
5.4所示,用于记录宿舍的基本信息表
5.4宿舍信息表数据项名数据类型和长度别名是否为空候选码主外键Dormnochar10宿舍号否是主键Sdeptchar20系别否否DormregionChar10宿舍楼所在区否否Snochar8学号否否外键
5.归宿刷卡DromPress信息表如表
5.5所示,用于记录学生回宿舍的刷卡信息表
5.5归宿舍刷卡信息表数据项名数据类型和长度别名是否为空候选码主外键BacknoInt编号否是主键Cardnochar8校园卡编号否否外键Snochar8学生学号否否外键Dormnochar10宿舍号否否外键Dormregnchar10宿舍所在校区否否timeDateTime刷卡时间否否
6.食堂DinInf基本信息表如表
5.6所示,用于记录食堂的基本信息表
5.6食堂信息表数据项名数据类型和长度别名是否为空候选码主外键Dinnochar10食堂编号否是主键DinnameChar40食堂名字否否Dinmanaechar10食堂负责人名是否Dinaddrchar10食堂所在校区否否
7.超市SupInf基本信息表如表
5.7所示用于记录超市的基本信息表
5.7超市信息表数据项名数据类型和长度别名是否为空候选码主外键Supnochar10超市编号否是主键Supnamechar40超市名称否是Supmanagechar10超市负责人姓名否否Supaddrchar10超市所在校区否否
8.学生上课刷卡CourPress基本信息表
5.8,用于记录学生到课考勤的基本信息表
5.8学生上课信息表数据项名数据类型和长度别名是否为空候选码主外键PressnoInt上课次数编号否是主键Cardnochar8校园卡编号否否外键Cnochar10课程编号否否外键ClasstieDateTime到课刷卡时间否否
9.图书BookInf信息表如表
5.9所示用于记录所有书的基本信息表
5.9图书信息表数据项名数据类型和长度别名是否为空候选码主外键BooknoChar15图书编号否是主键namechar30书名否否stateChar10状态(未借,已借)否否classchar20书类别否否authourChar20作者否否bookshefChar30书架否否publishrChar40出版社否否
10.图书馆刷卡BookPress信息表如表
5.10所示,记录学生借书、还书信息表
5.10归宿舍刷卡信息表数据项名数据类型和长度别名是否为空候选码主外键PressnoInt刷卡编号否是主键CardnoChar8卡号否否外键BooknoChar15图书编号否否外键stylechar10类型(借书,还书)否否TimeDatetime刷卡时间否否
11.创建进馆刷卡BookIn信息表如表
5.11所示,记录学生进馆信息表
5.11进馆刷卡信息表数据项名数据类型和长度别名是否为空候选码主外键PressnoInt刷卡编号否是主键Cardnochar8校园卡编号否否外键Snochar8学生学号否否外键TimeDateTime刷卡时间否否
12.在食堂、超市刷卡PressInf基本信息表
5.12,用于记录学生在食堂和超市消费的基本信息表
5.12食堂超市刷卡信息表数据项名数据类型和长度别名是否为空候选码主外键PressnoInt消费次数编号否是主键Placechar10消费所在地点否否PnoInt所在地点刷卡机编号否否Cardnochar8校园卡编号否否外键PmoneyFloat本次刷卡金额是否PtimeDateTime本次刷卡时间否否Pmanagechar10刷卡处负责人姓名否否
13.管理员Admin信息表如表
5.13所示,记录管理员的信息表
5.13管理员信息表数据项名数据类型和长度别名是否为空候选码主外键idint编号否主键userNameVarchar10用户名否是passwordVarchar10密码否否styleVarchar10类型否否
14.选课SC信息表如图
5.14所示,用于记录选课信息表
5.14选课信息表数据项名数据类型和长度别名是否为空候选码主外键idint选课编号否否主键CardnoChar8卡号否否外键CnoChar8课程号否否外键gradefloat成绩是否
15.校园卡充值FillInf信息表如表
5.15所示,记录校园卡充值的基本信息.表
5.15校园卡充值Fillinf基本信息表数据项名数据类型和长度别名是否为空候选码主外键CznoInt充值次数编号否是主键Cardnochar8校园卡编号否否外键Snochar8学生学号否否外键Czlxchar10充值类型“补助”、“奖学金”、“用户自充”否否CzjeFloat充值金额否否CzrqDateTime充值时间否否Jbrchar10日常事务办理人否否
5.
2.3索引的设计依次分别在表的主码上创建唯一性索引,具体SQL代码如下
1.在学生表中以学号为升序创建索引createuniqueindexS_SnoonstudentSnoasc;
2.在校园卡表中以卡号为升序创建索引createuniqueindexCard_CardnoonCardCardnoasc;
3.在课程表中以课程号为升序创建索引createuniqueindexCourse_CnoonCourseCno;
4.在宿舍信息表中以宿舍号为升序创建索引createuniqueindexDorm_noonDormInfDormno;
5.
2.4视图的设计
1.用于查询的更新学生在各个食堂刷卡消费信息的视图定义如下createviewDinnerasselectCardnoPlacePnoas食堂号PmoneyPtimePmanagefromPressInfwherePlace=食堂
2.用于查询和更新学生在各个食堂刷卡消费信息的视图定义如下createviewSupmarketasselectPlacePnoas超市编号CardnoPmoneyPtimePmanagefromPressInfwherePlace=超市
3.将学生信息表和刷卡消费表连接,用于查询相关的学生的基本信息createviewstudent_Din_Sup_PressasselectPressInf.PressnoPressInf.PlacePressInf.PnoPressInf.CardnoPressInf.pmoneyPressInf.PtimePressInf.PmanageCard.SnofromPressInfCardwherePressInf.Cardno=Card.Cardno
5.
2.5存储过程的设计系统共创建了14个存储过程,具体如表
5.16所示表
5.16存储过程基本信息表编号存储过程名称作用P-1student_Information在Student中查询学生基本信息P-2Card_Information在Card中查询校园卡基本信息P-3PressInf_Information在PressInf中查询学生的消费信息P-4Courpress_Information在CourPress中查询学生考勤信息P-5DormPress_Information在DormPress中查询回宿舍的信息P-6Fill_Information在FillInf中根据Czlx查询信息P-7student_Information2查询计算机系的学生信息P-8Card_Information2查询“不可用”的的校园卡信息P-9Fill_Information2查询制定的“奖学金”类的充值信息P-10Dorm_backinbeginTimedatetimeinendTimedatetime查询各宿楼在某天某个时间段内学生的回宿舍楼信息P-11Din_Sup_MonthinbeginTimedatetimeinendTimedatetime在PressInf中查询各个食堂、超市某段时间内的收入情况P-12DinPress查询食堂消费记录P-13SupPress查询超市刷卡信息P-14FillInformation查看插入的充值的相关的记录信息
5.
2.6触发器的设计为了保持数据库里的数据的一致性,在用校园卡刷卡消费和进行各种类型的校园卡充值操作后,不仅要修改PressInf、FillInf、waterPress里的信息,还要修改对应的Card表里的校园卡余额CardPmoney的值;用触发器来实现,具体触发器依次定义如下
1.充值操作后,修改卡内余额,触发器如下createtriggertr1afterinsertonFillInfforeachrowupdateCardsetCardmoney=Cardmoney+new.CzjewhereCardstate=可用andCard.Cardno=new.Cardno;
2.食堂和超市消费刷卡操作后,修改卡内余额,触发器如下createtriggertr2afterinsertonPressInfforeachrowupdateCardsetCardmoney=Cardmoney-new.PmoneywhereCardstate=可用andCard.Cardno=new.Cardno;第6章系统实现
6.1系统登录模块的实现
1.“系统登录”窗体系统登录模块用来检验是否合法用户登录系统,运行结果如图
6.1所示图
6.1系统登录模块的截图2.程序相应代码单击“登录”后将数据提交到check.jsp进行验证Check.jsp部分代码如下Stringuserid=request.getParameteruserid;//接收用户名Stringpassword=request.getParameterpassword;//接收密码Stringstyle=request.getParameterselect;//接收用户类型ifstyle.equals管理员{try{Stringsql=SELECTuserNamepasswordFROMAdminWHEREuserName=+userid+ANDpassword=+password+ANDstyle=管理员;rs=db.querysql;ifrs.next{flag=true;//如果有内容,表示登录成功session.setAttributeuserNameuserid;//登陆成功,设置sessionuserName应该跳转到管理员主页%jsp:forwardpage=admin/main.html/%}else{out.print用户名或密码错误;}}catchExceptione{}finally{db.closeDB;}}else//普通用户{try{Stringsql=SELECTSnoSnameSpwdFROMstudentWHERESno=+userid+ANDSpwd=+password+;rs=db.querysql;ifrs.next{flag=true;//如果有内容,表示查询出来,合法用户session.setAttributeuserNameuserid;//设置sessionsession.setAttributesnamers.getStringSname;//设置session%jsp:forwardpage=guest/index
1.html///跳转到主页面%}else{out.print用户名或密码错误;}}catchExceptione{}finally{db.closeDB;}//关闭数据库连接}%
6.2校园卡管理子系统的实现
1.校园卡管理子系统窗体校园卡管理的主要功能是校园卡的充值、开户、挂失、注销以及查询卡余额、充值、消费历史记录,根据卡号、学号或姓名查询卡的信息,每个功能都对应一个页面,部分功能截图如下所示图
6.2校园卡管理子系统的部分截图
2.程序相关代码充值功能实现的代码如下%@pagelanguage=javaimport=java.util.DatepageEncoding=utf-8%%@pageimport=java.sql.*%%request.setCharacterEncodingutf-8;//进行乱码处理%%booleanflag=false;//表示充值成功或失败的标记%jsp:useBeanid=dbclass=com.li.db.ConnectionDBscope=page/jsp:useBean%Stringcardno=request.getParametercardno;//接收充值卡号ifdb.isNotusedcardno{%scripttype=text/javascript!--window.alert此卡已被挂失,不可用!;window.history.go-1;--/script%return;}Stringsno=request.getParametersno;//接收学号Stringstyle=request.getParameterselect;//接收充值类型Stringmoney1=request.getParametermoney;//接收充值金额floatmoney=Float.valueOfmoney
1.trim.floatValue;Stringnow=newDate.toLocaleString;//获取当前时间Stringsql1=selectCardnofromcardwhereCardno=+cardno+andSno=+sno+;//判断卡号和学号是否匹配ifdb.querysql
1.next{Stringsql=insertintoFillInfCardnoSnoCzlxCzjeCzrqJbrvalues+cardno++sno++style++money++now+充值员1;//添加记录flag=db.isUpdatesql;db.closeDB;//关闭数据库连接}else{%scripttype=text/javascript!--alert卡号和学号不匹配!;window.history.go-1;--/script%}%%ifflag{%h1align=center卡号为%=cardno%的账户充值成功!/h1br/h1align=center充值金额是%=money%/h1scripttype=text/javascript!--alert充值成功!;window.history.go-1;--/script%}else{%scripttype=text/javascript!--alert充值失败!;window.history.go-1;--/script%}%
6.3水房管理子系统的实现
1.“水房管理子系统”窗体水房管理子系统的主要功能是实现学生进行消费,水房可以为卡进行充值,可以查询学生的消费记录,部分功能截图如下所示图
6.3水房管理子系统的部分截图
6.4浴室管理子系统的实现
1.“浴室管理子系统”窗体浴室管理子系统的主要功能是实现用户在浴室内消费、充值,可以查询用户在浴室的消费记录、某段时间内用户的消费信息,部分功能截图如下所示图
6.4浴室管理子系统的部分截图
6.5图书馆管理子系统的实现
1.“图书馆管理子系统”窗体图书馆管理子系统的主要功能包括借书、还书、新增图书、删除图书、查找图书、借书信息查询、学生信息查询、流量统计、刷卡进入图书馆和用户借阅历史查询等功能,部分功能截图如下所示图
6.5图书馆管理子系统的部分截图第7章系统测试系统测试是对整个系统开发过程包括系统分析、系统设计和系统实施的最后审查,是保证系统质量与可靠性的最后关口测试过程一般分为4个步骤,即单元测试、组装(集成)测试、确认测试和系统测试单元测试又称模块测试,是针对软件设计的最小单位——程序模块,进行正确性的测试工作组装测试也叫做集成测试或联合测试通常在单元测试的基础上,将所有模块按照设计要求组装成系统,对其进行正确性的测试根据实际情况对本系统进行了单元测试和组装测试本系统在单元测试阶段,首先对各个模块功能的实现进行了测试,各个模块按要求实现了相应的功能再次对数据输入的有效性、完整性和唯一性进行了验证根据数据库中数据字段的长度要求,对输入的数据长度进行了验证,防止了数据的溢出本系统中,在代码的编译阶段,进行白盒测试,检查程序代码有无语法错误在数据库方面,主要是检查数据查询和写入时的正误,语法正确后,方能保证查询正确;在应用程序方面,检查所有代码的语法浴室消费功能运行如图
6.4,该功能的测试用例如表
7.1所示表
7.1测试用例测试用例测试结果结果测试人日期卡号输入123456(没有该卡号)正确李富强10/6/18金额输入10输出提示输入正确的卡号出错说明无错误考号输入Card01正确的卡号正确李晓磊10/6/18金额输入111输出提示余额不足出错说明无错误卡号输入Card02正确李晓磊10/6/18余额输入10输出提示消费成功出错说明无错误第8章总结1技术总结经过两个月的设计和开发,校园网一卡通系统基本开发完毕熟练掌握了MySQL数据库中各种数据对象的建立及各种操作;掌握了JSP中几个内置对象的使用及JavaBean和Servlet等技术,最重要的是熟练掌握了SQL语言2心得体会在整个设计阶段,无论是在软件设计还是在论文撰写的过程中都获益非浅,从中不仅接触到了许多新的技术和知识,而且通过亲手实践,了解了如何把书本上所学的东西应用到实践中去,并且感觉到软件工程和数据库设计的重要性3不足之处由于毕业设计时间较短,所以该系统还有许多不尽如人意的地方比如对数据库的安全缺乏保障,出错处理不够等多方面问题,这些都有待于进一步改善;另外限于对业务知识的缺乏制约了设计开发质量4发展方向主要是完善数据库,增加对数据库的安全性保护,在现有数据库的基础上,利用MySQL的触发器实现数据库的“级联式”更新;其次是前台界面,美化界面,实现更全面的功能另外考虑到校园网一卡通系统的部分信息要向外发布,采用的是B/S合的模式如食堂消费子系统,教务管理系统,宿舍管理等子系统采用B/S结构的模式,适应学校的不断发展参考文献图书类
[1]温秀梅李虹Java程序设计教程与实验.北京:清华大学出版社2007
[2]张银鹤刘治国张豪.JSP动态网站开发.北京:清华大学出版社2009
[3]刘中兵李伯华皱晨JSP数据库项目案例导航.北京:清华大学出版社2006
[4]王夕宁王晓平JSP通用模块与典型系统开发北京:人民邮电出版社2006
[5]李宁 JavaWeb开发技术大全.清华大学出版社2009
[6]郝安林 王伟平 张明亮 JSP从入门到精通.电子工业出版社2008
[7]孙鑫 JavaWeb开发详解.电子工业出版社2006
[8]吴亚峰 索依娜 30天学通JavaWeb项目案例开发.电子工业出版社2009
[9]张新曼 精通JSP-Web开发技术与典型应用.人民邮电出版社2007
[10]聂哲JSP动态Web技术实例教程.高等教育出版社2009
[11]Jon Eaves,RupertJones JSP程序设计.人民邮电出版社2009
[12]张白一 崔尚森 Web应用开发技术:JSP.西安电子科技大学出版社2007网站类
[1]http://imysql.cn/MySQL中文网
[2]http://www.zhiweinet.com/jsp/jsp教程网
[3]http://www.clhard.com/alexbiz/article/24/
493.Html编程入门SQL语言简介
[4]http://tech.ccidnet.com/赛迪网IT技术
[5]http://www.csdn.net/中文领先的IT技术社区致谢衷心地感谢本系领导提供了舒适的学习、设计环境,并给予悉心的关怀与指导感谢温老师的热心辅导,尤其是温老师认真负责的工作态度、严谨的治学风格,使自己深受启发;在设计的同时,和同学们之间的相互探讨也使自己获益匪浅这段时间里,除了基本学会了相关的专业知识和技能外更重要的是学到了兢兢业业,奋发向上的精神,这种精神无疑会成为自己今后人生道路上的一种力量再次感谢在设计当中给予了很大帮助的温秀梅老师,感谢她不辞辛苦地指导和帮助,感谢她为设计顺利进行提供的方便、理解和关注同时感谢在设计过程中给过自己意见与帮助的同学们谢谢大家!校园卡管理食堂管理超市管理水房管理浴室管理宿舍管理图书管理教务管理校园卡管理统充值挂失开户校园卡管理注销查询超市管理各种查询充值消费食堂管理各种查询充值消费水控管理水房浴室充值消费查询查询消费充值宿舍管理刷卡进入信息查询统计情况修改信息图书馆管理借书还书新书入库信息查询刷卡进馆删除图书教务管理学生信息管理选课管理考勤新增学生删除学生查询修改新增课程学生选课成绩录入查询成绩修改上课刷卡考勤统计。