实验室网上预约系统研究与设计终稿_第1页
实验室网上预约系统研究与设计终稿_第2页
实验室网上预约系统研究与设计终稿_第3页
实验室网上预约系统研究与设计终稿_第4页
实验室网上预约系统研究与设计终稿_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、毕业论文(设计) 2015 届电子信息工程专业 1113083 班级题目实验室网上预约系统研究与设计姓名张强伟学号111308336 指导教师张宏亮职称讲师二一五年五月三十日摘要实验室是教务管理系统中必不可少的一部分,而网上实验室预约系统可以提供方便快捷的预约能够通过网络实现资源共享,教师可以使用计算机自带浏览器进行实验室预约、查询以及添加实验课程等操作。学生可以进行实验室预约、维护个人信息,查看实验课程等操作。实验室预约系统便捷高效、成本低等优点可以给教师和学生提供良好的工作学习环境。实验室预约系统实验室预约系统分为三大模块:管理员模块、教师模块、学生模块。可以实现学生注册、教师注册、管理员

2、注册。管理员登陆可以添加实验室、查看预约信息。教师登陆可以预约实验室、添加课程。学生登录可以预约实验室。系统采用B/S模型、MVC设计思想;开发工具使用My Eclipse;使用Struts2+Spring+Hibernate的集成框架;前台也面使用JSP、JavaScript;后台数据库使用Oracle;数据库连接使用JDBC。关键词:实验室、预约、B/S、SSH2、OracleAbstractLaboratory is an essential part of in the educational administration management system, and the onli

3、ne lab reservation system can provide convenient and quick to make an appointment to achieve through the network resource sharing, teachers can use the computer browser for laboratory appointments, query, and operations such as adding experimental courses. Students can undertake laboratory appointme

4、nts, maintain personal information, view the operations such as experiment course. Laboratory booking system is convenient and efficient, low cost advantages can give teachers and students to provide a good working environment.Lab reservation system lab reservation system is divided into three modul

5、es: the administrator module, teacher module and student module. Registered, teachers, administrators can realize students register. The administrator login can add lab, check the reservation information. Can make an appointment teachers in laboratory, adding courses. Students can login booking labo

6、ratory.System adopts B/S model, the MVC design ideas; Using My Eclipse tools; Using the struts 2 + Spring + Hibernate integration framework; At the front desk surface using JSP, JavaScript; Background database use Oracle; Using the JDBC database connection.Keywords: Laboratory , Booking , B/S , SSH2

7、 , Oracle目录第一章绪论11.1 课题开发背景11.2 课题开发目的11.3 国内研究现状1第二章系统分析32.1 需求分析32.1.1 功能需求32.1.2 用户需求32.2 数据分析42.3 系统架构设计42.4 系统运行环境及开发平台52.4.1 运行环境52.4.2 开发平台5第三章数据库设计63.1 数据库简介63.2 JDBC技术简介63.3 数据库逻辑设计63.3.1 数据库表与实体类的关系63.3.2 数据库的E-R图73.4 数据库的物理设计8第四章功能模块设计134.1 系统总体功能模块134.2 学生功能模块设计144.3 教师功能模块154.4 管理员功能模块1

8、54.5 注册功能模块16第五章程序设计175.1 编程工具175.1.1 My Eclipse工具175.1.2 Oracle数据库工具175.1.3 SQL基本介绍175.1.4 获取数据库连接步骤18程序设计205.2.1 Action中的程序20中的程序21中的程序21第六章程序调试及程序测试256.1 程序调试步骤256.2 程序测试25第七章总结277.1 不足之处277.2 设计缺陷277.3 收获27致谢28参考文献29附录一30创建ADMINISTRATOY表30创建LABRARY表32创建RESERVATION_RECORD表33创建STUDENT表34创建TEACHER3

9、5附录二36数据库表与实体类映射关系配置文件36实验室网上预约系统研究与设计学号:111308336 姓名:张强伟指导教师:张宏亮讲师第一章绪论1.1 课题开发背景实验室是现如今大学进行学习实践以及科学研究的核心场所,是进行人才培养、实施素质教育和进行创新的重要课堂。然而由于实验室管理体系落后,教学模式较为单一,在一定程度上打击了学生参与实验的积极性以及创新的热情,对于实验教学带来不利的影响。现如今计算机和网络已经在高校普及,很多工作度可以依托网络和计算机来完成。实验室网上预约系统的主要作用在于实验室管理员可以添加实验室信息、管理学生信息;教师和学生可以预约实验室。可以加强实验室的管理、合理地

10、分配实验室资源等作用。1.2 课题开发目的在现如今网络与计算机普及的大环境下开放式的教学显得尤为重要。学生对于多样化的综合的实验室教学模式的需求鉴于目前我校在实验室管理系统上的空缺,现如今的管理体系不利于学生进行实验室预约、以及进行自主实验研究的现状所以决定开发一个满足我系现如今实验室教学状况的实验室预约系统,来解决教学中遇到的问题。1.3 国内研究现状近几年来国家对教育的投入力度逐步加大,绝大多数高校在建设信息化自动化校园方面取得了很好的成果。自从高校教学开始引入电脑,到现在的大型校园网互联,高校在建设信息化自动化的道路上立下了一座又一座的里程碑。当前,高校大多已引进硬件为主来不断建设校园的

11、信息网络系统。在硬件的引入量达到一定程度后,新的需求随之而来。高校开始更加关注软件的引入,以“强调应用”为主题的以软件为主的新的校园信息网络建设正在逐步成为高校建设校园信息网络的核心。现如今有一部分拥有自主研发能力的高校大多根据自己学校的实际情况,借鉴国内外比较先进的教学管理体系,来自主研发适合自己学校状况,满足自己需求的教务管理系统。然后另外一些没有自主研发能力的高校,则会选择以高昂的代价选择到软件企业购买产品来组建自己的校园信息网络。然而在目前状况下,很多高校并未关注实验室管理这一方面的网络化信息系化的建设。大多高校仍旧使用传统的形式来进行实验室管理,也就是,教师通过电话预约的形式给实验室

12、管理员打电话,或者是直接到实验室去预约。然后实验室管理员记录下预约的信息。管理员在排查预约情况,然后分配实验室。这种传统的管理形式,预约成功率低需要有严格的计划不易变动、工作比较繁琐效率不高、而且没有规范的操作章程。第二章系统分析2.1 需求分析需求分析,再做一个系统之前需要进行的必要的工作,明确用户的要求。需要做成一个什么样的系统,实现那些预期的功能。这也往往是程序开发的第一步。功能需求结合我系实验室的实际情况,该系统的设计目标是:用户通过账号和密码登陆个人界面,教师以实验室为单位进行预约,自主选择实验时间,管理员统筹管理实验信息添加实验室、查看学生用户、查看教师用户等;学生以个人为单位进行

13、预约、修改个人信息等;以上的所有预约以及预约操作都在独立的模块里执行,要求模块可以自动记录用户操作过程,并且能够将操作数据记录在数据库中。依照已经设定的目标,从系统设计的可用性、数据安全性、操作方便性以及可扩展性等方面考虑,使用 B/S结构建立系统,使用系统自带浏览器访问公共的服务器程序就可以进行预约相关操作。用户需求本系统面向三种不同类型的用户,学生用户,教师用户和管理员用户。三种不同的用户要实现的功能不同,需要的系统权限也不同。.1 学生用户需求学生用户需要有一个验证身份的登陆验证,需要一个个人中心,个人中心需要有基本的个人资料管理功能,如修改的密码,个人信息的修改等。学生用户需要有一个实

14、验室预约模块,在预约模块中用户可以选择自己空闲的时间根据查出的结果选择要预约的实验室,灵活安排实验时间。.2 教师用户需求教师用户需要有一个登录验证,登录到个人中心需要能够查看个人信息以及修改个人信息。教师可以以实验室为单位进行实验室预约。.3 实验室管理员用户需求系统管理员需要有一个验证身份的登陆验证,需要一个管理中心,在这个管理平台上,系统管理员能够添加实验室,能查看学生注册信息、以及教师注册信息等。2.2 数据分析实验室预约的预约是面向用户的,结合我校实际情况系统设计主要面对三类特定的用户。也就是学生、教师、管理员。三者登录实验室预约系统都需要进行身份验证,为了区别三者的身份特定了三个不

15、同的入口,也就是学生入口、教师入口、管理员入口。(1) 学生的主要需求有个人信息查看、修改以及个人实验预约信息查询和修改。(2)教师的主要需求与学生类似主要有查看个人信息、添加实验课程、查看班级实验预约信息、查看学生注册信息。(3)管理员主要需求是管理学生、教师的个人注册信息,以及添加实验室等。另外还有两个重要的数据库表实验室表和预约记录表。(1) 实验室表主要记录实验室信息(实验室名称、位置、实验室状态)。(2) 预约记录表记录预约信息预约人信息、预约实验室信息。在数据库中使用不同的表来记录不同身份的用户,根据数据库表来判断判断用户的身份。2.3 系统架构设计(1)该系统采用B/S模型,采用

16、MVC设计思想;(2)使用Struts2+Spring+Hibernate的集成框架,增强程序的可扩展性;(3)使用配置文件与工厂模式实现解耦合,增强程序的维护性;(4)将jdbc简单封装作为数据库操作工具类;(5)使用Hash Map接口实现购物车功能;(6)使用自定义拦截器判断用户是否登陆;系统总体架构设计如图所示预约平台数据验证、传输、存储JSP、JavaScriptJAVAOracle、SQL语句数据库数据源图系统总体架构2.4 系统运行环境及开发平台运行环境(1)操作系统:Microsoft Windows 7 professional 中文版(2)数据库:Oracle Databa

17、se 10g/11g(3)发布容器:开发平台(1)操作系统:Microsoft Windows 7 professional 中文版(2)数据库:Oracle Database 10g/11g(3)工具:第三章数据库设计3.1 数据库简介数据库是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。3.2 JDBC技术简介JDBC(Java Data Base Connectivity,java数据库连接)是一种可以用来执行SQL语句的Java API。J

18、DBC是一种跨数据库的一种数据库访问机制。JDBC可以为Oracle、MYSQL等关系型的数据库提供统一的连接方式。JDBC是一个标准的API可以编写更方便实用的数据库连接工具和数据库连接接口。如本系统搭建框架中的Hibernate框架就重新封装了JDBC用于连接数据库。只需要配置相关的数据库连接参数,加载数据库连接驱动即可。3.3 数据库逻辑设计数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。在信息化社会,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件。数据库技术是管理信息系统、办公自动化系统、决策支

19、持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。3.3.1 数据库表与实体类的关系E-R图也称实体-联系图(Entity Relationship Diagram),是一种表示实体类型、实体的属性和实体之间关联的方法,是程序中的类和现实世界的实物对照的一种模型。在模型中实体类型相当于数据中的一张数据库表,并不是表的某一行。而是代表了一类事物比如人这个类。数据库中的一行代表一个对象如个人信息表一条记录代表一个人。3.3.2 数据库的E-R图学生用户,学生的属性包括姓名、用户名、密码、学号、学生ID、年龄、性别、电话和邮箱。其中用户名是登录名,主键是学生ID作为学生的唯一标

20、示。实体类图如图所示ID学号性别年龄姓名年龄电话邮箱用户名学生ID职称性别年龄姓名年龄电话用户名教师邮箱图学生实体类图教师用户,教师的属性包括姓名、用户名、密码、职称、ID、年龄、性别、电话和邮箱。教师的ID是教师的唯一标示,用户名是用于登录系统的账号。实体类图如图所示图教师实体类图3.4 数据库的物理设计在Oracle数据库创建数据库实例名为purple1,创建用户角色并赋予权限。安装PLSQL Developer第三方工具管理数据库。使用创建的角色登录后在数据库上创建数据库表。共建十张表,包括:实验室表LABRARY、管理员表ADMINISTRATOY、学生用户表STUDENT、教师用户表

21、TEACHER、学期表SEMESTER、周表WEEK、预约记录表RESERVATION_RECORD详细表如下实验室表用来记录实验室的各种信息包括实验室名字、实验室地址、实验室容量、对应实验室管理员的ID、实验室创建人名字等。具体如表所示表实验室表实验室表LABRARY列名类型说明备注LAB_IDNUMBER(10)主键实验室IDADMIN_IDNUMBER(10)实验室管理员IDLAB_NAMENVARCHAR2(40)实验室名字LAB_LOCATIONNVARCHAR2(40)实验室位置LAB_CAPNUMBER(10)实验室容量LAB_STATUSNVARCHAR2(20)实验室状态CR

22、EATED_BYNUMBER(10)创建人CREATION_DATEDATE创建日期LAST_UPDATE_BYNUMBER(10)最后更新人DELETED_BYNUMBER(10)删除人DELETED_DATEDATE删除日期DELETED_FLAGNUMBER删除标记ATTRIBUTE1NVARCHAR2(100)扩展字段1ATTRIBUTE2NVARCHAR2(100)扩展字段2ATTRIBUTE3NVARCHAR2(100)扩展字段3ATTRIBUTE4NVARCHAR2(100)扩展字段4ATTRIBUTE5NVARCHAR2(100)扩展字段5管理员表用于记录管理员个人信息包括管理

23、员名字、年龄、电话、邮箱等个人信息具体如表所示表管理员表管理员表ADMINISTRATOY列名类型说明备注ADMIN_IDNUMBER(10)主键管理员IDADMIN_NAMENVARCHAR2(40)管理员名字ADMIN_ACCOUNTNVARCHAR2(40)管理员账号ADMIN_PASSWORDNVARCHAR2(40)管理员密码ADMIN_AGENUMBER(10)管理员年龄ADMIN_AGENDERNVARCHAR2(20)管理员性别ADMIN_TELEPHOINNUMBER(30)管理员电话ADMIN_EMAILNVARCHAR2(40)管理员邮箱ADMIN_STATUSNVARC

24、HAR2(20)管理员状态CREATED_BYNUMBER(10)创建人CREATION_DATEDATE创建日期LAST_UPDATE_BYNUMBER(10)最后更新人DELETED_BYNUMBER(10)删除人DELETED_DATEDATE删除日期DELETED_FLAGNVARCHAR2(20)删除标记ATTRIBUTE1NVARCHAR2(100)扩展字段1ATTRIBUTE2NVARCHAR2(100)扩展字段2ATTRIBUTE3NVARCHAR2(100)扩展字段3ATTRIBUTE4NVARCHAR2(100)扩展字段4ATTRIBUTE5NVARCHAR2(100)扩展

25、字段5学生用户表关联的学生的学号,用于后期方便和学校系统数据库进行对接。另外记录了学生的年级班级学生的类型以及个人的基本信息。学生用户的信息包括学生姓名、年龄、电话、邮箱等基本的个人信息,以及学生用于登录系统的注册信息,包括注册的用户名以及密码等。具体如表所示表学生用户表学生用户表STUDENT列名类型说明备注STUDENT_SYS_IDNUMBER(10)主键学生IDSTUDENT_IDNUMBER(10)学号学号COURSE_IDNUMBER(10)CLASS_IDSTUDENT_GREEDNVARCHAR2(10)2011级、2012级、年级STUDENT_TYPENVARCHAR2(1

26、0)研究生、本科、专升本类型STUDENT_NAMENVARCHAR2(40)名字STUDENT_ACCOUNTNVARCHAR2(40)登陆账号账号STUDENT_PASSWORDNVARCHAR2(40)密码密码STUDENT_AGENUMBER(10)年龄STUDENT_AGENDERNVARCHAR2(10)性别STUDENT_TELEPHONNVARCHAR2(30)电话STUDENT_EMAILNVARCHAR2(40)邮箱STUDENT_STATUSNVARCHAR2(10)在线,离开、离线状态CREATED_BYNUMBER(10)创建人CREATION_DATEDATE创建日

27、期LAST_UPDATE_BYNUMBER(10)最后更新人DELETED_BYNUMBER(10)删除人DELETED_DATEDATE删除日期DELETED_FLAGNVARCHAR2(10)删除标记ATTRIBUTE1NVARCHAR2(100)扩展字段1ATTRIBUTE2NVARCHAR2(100)扩展字段2ATTRIBUTE3NVARCHAR2(100)扩展字段3ATTRIBUTE4NVARCHAR2(100)扩展字段4ATTRIBUTE5NVARCHAR2(100)扩展字段5教师用户表记录了教师的基本信息包括姓名、年龄、电话、邮箱等基本信息,以及教师的注册信息,包括注册的用户名以

28、及密码等。具体如表所示表教师用户表教师用户表TEACHER列名类型长度备注TEACHER_IDNUMBER(10)主键学生IDTEACHER_NAMENVARCHAR2(20)名字TEACHER_ACCOUNTNVARCHAR2(40)账号TEACHER_PASSWORDNVARCHAR2(40)密码TEACHER_LEAVENVARCHAR2(20)职称TEACHER_DEPARTMENTNVARCHAR2(40)系别TEACHER_AGENUMBER(10)年龄TEACHER_AGENDERNVARCHAR2(10)性别TEACHER_TELEPHOINNVARCHAR2(30)电话TEA

29、CHER_EMAILNVARCHAR2(40)邮箱TEACHER_STATUSNVARCHAR2(10)状态CREATED_BYNUMBER(10)创建人CREATION_DATEDATE创建日期LAST_UPDATE_BYNUMBER(10)最后更新人DELETED_BYNUMBER(10)删除人DELETED_DATEDATE删除日期DELETED_FLAGNVARCHAR2(10)删除标记ATTRIBUTE1NVARCHAR2(100)扩展字段1ATTRIBUTE2NVARCHAR2(100)扩展字段2ATTRIBUTE3NVARCHAR2(100)扩展字段3ATTRIBUTE4NVAR

30、CHAR2(100)扩展字段4ATTRIBUTE5NVARCHAR2(100)扩展字段5预约记录表,是本系统的一个核心表格,用来记录学生、教师的预约信息。将学生和预约的实验室关联起来。另外记录了一些重要的信息如预约时间、使用实验室的时间等。如表所示表预约记录表预约记录表RESERVATION_RECORD列名类型说明备注RESERVATION_IDNUMBER(10)主键预约IDSEM_IDNUMBER(10)学期IDLAB_IDNUMBER(10)实验室IDPROPOSER_IDNUMBER(10)预约人IDDETAIL_TIMENVARCHAR2(40)节次ACCOUNTNUMBER(10

31、)预约人数RESERVATION_DATEDATE预约日期EXPERIENCE_DATEDATE实验日期CREATED_BYNUMBER(10)创建人CREATION_DATEDATE创建日期LAST_UPDATE_BYNUMBER(10)最后更新人DELETED_BYNUMBER(10)删除人DELETED_DATEDATE删除日期DELETED_FLAGNVARCHAR2(10)删除标记ATTRIBUTE1NVARCHAR2(100)扩展字段1ATTRIBUTE2NVARCHAR2(100)扩展字段2ATTRIBUTE3NVARCHAR2(100)扩展字段3ATTRIBUTE4NVARCH

32、AR2(100)扩展字段4ATTRIBUTE5NVARCHAR2(100)扩展字段5课程表用于记录课程信息包括上课的时间以及已经预约的人数等信息。具体如表所示表课程表列名类型说明备注COURSE_IDNUMBER(10)主键SEM_IDNUMBER(10)学期IDLAB_IDNUMBER(10)实验室IDDETAIL_TIMENVARCHAR2(40)节次WEEK_TIMENVARCHAR2(10)周次WEEKNVARCHAR2(10)星期几CLASS_DATEDATE日期COUNTNUMBER(10)已经预约人数CREATED_BYNUMBER(10)CREATION_DATEDATELAS

33、T_UPDATE_BYNUMBER(10)DELETED_BYNUMBER(10)DELETED_DATEDATEATTRIBUTE1NVARCHAR2(100)ATTRIBUTE2NVARCHAR2(100)ATTRIBUTE3NVARCHAR2(100)ATTRIBUTE4NVARCHAR2(100)ATTRIBUTE5NVARCHAR2(100)数据库表的创建使用PLSQL Developer第三方工具管理数据库,建表语句详见附录一。第四章功能模块设计4.1 系统总体功能模块衡量一个系统最基本的标准是系统功能实现的多少,在前面对系统需求的分析、可实现的功能模块分析以及数据分析,结合我系现

34、在实验室运行状态等基本情况确定了本系统的三大基本功能模块:学生、教师以及管理员三大功能模块,如图所示实验室网上预约系统学生功能模块教师功能模块管理员功能模块图实验室模块系统的首页分别有学生、教师以及管理员的登陆入口。以及三者的注册功能页面。系统界面设计效果如图所示图4.1 系统首页界面4.2 学生功能模块设计学生功能模块个人信息课程查看实验室预约注册信息基本信息可预约已预约查看课程学生功能模块实现学生登录后可以查看学生的个人信息、修改学生密码、预约实验室以及查看已预约的实验室等信息,学生模块功能如下图所示图学生模块学生的功能界面效果图如图所示图4.2.2 学生模块效果图4.3 教师功能模块教师

35、功能模块实现教师的登录个人信息的查看,修改个人信息,修改登录密码,实验课程添加,实验室预约等基本功能,教师功能模块如下图所示。教师功能模块个人信息课程添加实验室预约注册信息基本信息可预约已预约添加课程图教师模块4.4 管理员功能模块管理员模块管理员登录后可以查看学生信息、教师信息、管理员信息、以及添加实验室等功能。如图所示图管理员模块4.5 注册功能模块注册功能实现学生、教师、管理员等用户的注册。图如下图所示图注册模块第五章程序设计5.1 编程工具一个好的编辑器或开发工具,能够极大提高我们的开发效率。所以编程工具的选择也很重要。5.1.1 My Eclipse工具My Eclipse企业级集成

36、开发环境,是一款将Eclipse工具集成优化的主要基于JAVA EE的开发工具,支持代码的编码、调试、测试、和发布的完整开发流程。My Eclipse拥有广泛的支持性,支持多种开源语言的开发。可以完整支持HTML,Struts,JSP,CSS,JavaScript,Spring,SQL,Hibernate也可以支持Java Servlet,AJAX,EJB3,JDBC数据库链接工具等多项功能。是一款最受程序员欢迎的基于JAVA语言的编程软件。5.1.2 Oracle数据库工具ORACLE数据库系统是一款采用布式架构的数据库软件产品是由美国ORACLE公司(甲骨文)提供的一款目前最流行的C/S(

37、CLIENT/SERVER)或B/S体系结构的数据库之一。ORACLE具有良好的可一致性,可以编写脚本进行数据库迁移。具有跨平台性可以支持多个版本的操作系统,可以运行在windows上也能够运行在LINUX上。支持数据库操作语言SQL。和其他数据库比较具有良好的大数据处理能力,操作简单,维护方便,因而受到很多大企业的青睐。5.1.3 SQL基本介绍SQL是格式化查询语句的简称。可以用于多种数据库的数据处理操作。SQL语句分为三大类数据查询即数据库操纵语言DML,数据定义语言DDL,数据控制语言DCL.(1)DML数据库操纵语言:包含INSERT,UPDATE,DELETE三个语句主要用于对数据

38、库表中的数据进行增删改。(2)DDL数据定义语言:用于创建,修改,和删除数据库对象(表、视图、索引、存储过程),例如等关键字(3)DCL数据控制语言:用于控制用户对数据库访问的权限,可以进行哪些数据库操作,常用的DCL语句包含GRANT,REVOKE,SET ROLE。SQL可以完成的主要功能有:按照条件提取查询数据库表中的数据、插入修改删除数据,数据库安全控制,数据完整性、一致性控制以及数据安全控制。可以创建数据库表、建立索引、视图、存储过程等数据库对象。可以通过对数据库表的操控管理存储扎起数据库表中的数据。5.1.4 获取数据库连接步骤(1)加载JDBC驱动程序:在连接数据库之前,先要加载

39、相关数据库的驱动,将驱动加载到Java虚拟机里运行,这样就可以实现跨平台。通过Java虚拟机里的这个类中的forName(String className)方法加载驱动程序。示例如下:Class.forName("oracle.jdbc.driver.OracleDriver");(2)提供JDBC连接的URLURL(全球资源定位器,Uniform Resource Locator)顾名思义它是一种用于连接资源的标准协议。它定义了数据库连接时使用的协议。如下所示:连接方式:数据库:数据库类型:连接IP:端口号:数据库实例:用户名,密码示例如下:DriverManager.g

40、etConnection("jdbc:oracle:thin::1521:purple","purple1","purple");也可以分为三大类如下:协议:在JDBC中总是以jdbc开始(jdbc:)子协议:数据库管理系统名称。(oracle:thin:)数据源标识:标记找到数据库来源的地址与连接端口。(:1521:purple)用户信息:连接数据库的用户名和密码。("purple1","purple")(3)创建数据库的连接在有了URL后要连接到数据库需要

41、获取Connection对象,它是中的类,代表一个数据库连接。使用DriverManager的getConnectin(String url , String username ,String password )方法如2中的示例所示。使用它通过URL找到要连接的数库,在通过传入的用户名和密码来获取数据库连接。(4)创建一个Statement获取数据库连接后就要能够从数据库中获取数据库中的数据,这时候就需要创建一个Statement对象用来执行SQL语句。Statement对象属于类,分为以下2种类型:Statement对象:执行静态的SQL语句,直接将SQL语句按照格式编译执行。Prepar

42、edStatement对象:执行动态的SQL语句,先将SQL的关键字进行预编译再传入相关参数,编译执行。两者区别,在于Statement对象直接编译执行,PreparedStatement对象先对关键字进行编译再传入参数后再次编译执行。相对而言Statement对象执行速度快效率高,但不安全。PreparedStatement对象执行速度相对较慢,但是相对安全可以防止SQL注入。5、执行SQL语句Statement对象调用相关的方法来执行SQL语句。6、处理查出的结果两种情况: 进行更新操作返回的是一次操作所改变的数据库中的记录条数。进行查询操作返回的结果是一个resultSet集合。7、关闭

43、JDBC对象在操作完成以后要关闭所有使用的JDBC对象,以释放JDBC资源,关闭JDBC对象的顺序和声明JDBC对象的顺序相反(否则可能会出现空指针异常)如下顺序:关闭记录集:resultSet.close;关闭声明: Statement.close;关闭连接对象: Connection.close ;程序设计系统采用的是SSH框架,下面介绍其中最重要的几个配置文件。5.2.1 Action中的程序以学生登录为例子。方法的命名要求返回值类型必须为String类型的字符串public String login()/登陆HttpSession session = ServletActionCont

44、ext.getRequest().getSession();/HttpSession是Servlet的内置对象之一,主要作用是存储获取到的信息内容,可以在页面中进行显示。Student stu = studentService.login(student);/调用service里的login方法判断用户是否存在,如果存在返回改对象。if (stu !=null)session.setAttribute("studentSession", stu);/将用户存入session中。System.out.println("-"+stu.getStudentAc

45、count()+"-登陆成功");return"studentLogin"/登陆成功return"input"/登陆失败中的程序以下是Struts中student类的配置文件,通过action中返回的String字符串,与配置文件中的配置项进行对比,通过解码配置文件来决定下一步是要调用某个方法或者是跳转到某个页面。<actionname="*Student"class="studentAction"method="1"><resultname="s

46、tudentLogin"type="redirectAction">findAllLabrary</result><resultname="registerSuccess"></result><resultname="updateSuccess"></result><resultname="studentList"></result><resultname="changeSuccess"&g

47、t;</result><resultname="input"></result><resultname="toupdate"></result><resultname="tolist"type="redirectAction">searchStudent</result></action>中的程序中配置的主要有三类重要的配置信息,数据库连接配置信息、数据源的配置以及实体类与数据库表映射关系配置文件配置信息,Spring框

48、架托管对象配置信息。(1)数据库连接配置信息,在此处配置数据库类型,数据库连接的驱动以及数据库连接的IP地址,连接数据库所使用用户名和密码等信息。<beanid="dataSource"class="mons.dbcp.BasicDataSource"><propertyname="driverClassName"value="oracle.jdbc.driver.OracleDriver"></property><propertyname="url"v

49、alue="jdbc:oracle:thin::1521:purple"></property><propertyname="username"value="purple1"></property><propertyname="password"value="purple"></property></bean>(2)数据源的配置以及实体类与数据库表映射关系配置文件配置信息配置文件以及实体类。列举了其中

50、STUDENT表的配置文件和实体类详见附录二。<beanid="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><propertyname="dataSource"><refbean="dataSource"/></property><propertyname="hibernateProperties"><props

51、><propkey="hibernate.dialect"></prop><propkey="hibernate.show_sql">true</prop></props></property><propertyname="mappingResources"><list><value>cn/edu/zzia</value><value>cn/edu/zzia</value><val

52、ue>cn/edu/zzia</value><value>cn/edu/zzia</value><value>cn/edu/zzia</value><value>cn/edu/zzia</value><value>cn/edu/zzia</value><value>cn/edu/zzia</value><value>cn/edu/zzia</value><value>cn/edu/zzia</value><

53、;/list></property></bean>(3)Spring框架托管对象配置信息。托管对象主要是管理对象的创建以及赋值。<beanid="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"><propertyname="sessionFactory"ref="sessionFactory"/></bean><!

54、-DAO -><beanid="administratoyDao"class=".zzia.dao.impl.AdministratoyDaoImpl"><propertyname="sessionFactory"ref="sessionFactory"/></bean><beanid="studentDao"class=".zzia.dao.impl.StudentDaoImpl"><pro

55、pertyname="sessionFactory"ref="sessionFactory"/></bean><beanid="reservationRecordDao"class=".zzia.dao.impl.ReservationRecordDaoImpl"><propertyname="sessionFactory"ref="sessionFactory"/></bean><beanid=&quo

56、t;labraryDao"class=".zzia.dao.impl.LabraryDaoImpl"><propertyname="sessionFactory"ref="sessionFactory"/></bean><beanid="teacherDao"class=".zzia.dao.impl.TeacherDaoImpl"><propertyname="sessionFactory"r

57、ef="sessionFactory"/></bean><!-service -><beanid="administratoyService"class=".zzia.service.impl.AdministratoyServiceImpl"><propertyname="administratoyDao"ref="administratoyDao"/></bean><beanid="studentS

58、ervice"class=".zzia.service.impl.StudentServiceImpl"><propertyname="studentDao"ref="studentDao"/></bean><beanid="reservationRecordService"class=".zzia.service.impl.ReservationRecordServiceImpl"><propertyname=&

59、quot;reservationRecordDao"ref="reservationRecordDao"/></bean><beanid="labraryService"class=".zzia.service.impl.LabraryServiceImpl"><propertyname="labraryDao"ref="labraryDao"/></bean><beanid="teacherService"class=".zzia.service.impl.TeacherServiceImpl"><propertyname="teacherDao"ref="teacherDao"/></bean><!-ACTION -><beanid="administratoyAction&

温馨提示

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

评论

0/150

提交评论