班级学生管理(校友录)系统(jsp).doc

上传人:sccc 文档编号:4885599 上传时间:2023-05-21 格式:DOC 页数:33 大小:4.52MB
返回 下载 相关 举报
班级学生管理(校友录)系统(jsp).doc_第1页
第1页 / 共33页
班级学生管理(校友录)系统(jsp).doc_第2页
第2页 / 共33页
班级学生管理(校友录)系统(jsp).doc_第3页
第3页 / 共33页
班级学生管理(校友录)系统(jsp).doc_第4页
第4页 / 共33页
班级学生管理(校友录)系统(jsp).doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《班级学生管理(校友录)系统(jsp).doc》由会员分享,可在线阅读,更多相关《班级学生管理(校友录)系统(jsp).doc(33页珍藏版)》请在三一办公上搜索。

1、大连交通大学毕业设计(论文)专用纸毕业设计说明书计算机 专业 成绩: 设计题目:基于web的同学录的设计与实现设计要求:l 毕业设计说明书内容要求:毕业设计说明书目录网页的总体设计思想: 网页结构设计 网页功能性说明、技术实现说明、web站点发布介绍部分等数据库的选用 创建数据库 创建表 参考文献l 附录要求:上交程序源文件设计期限:2008年 6月1日2008年11月5日班级: 学生姓名: 学号: 指导教师:王 菊目 录第1章 绪论411 引言412 背景5121 B/S模型的优点5122 JSP技术发展背景6第2章 需求分析821 任务描述822 用户特点823 条件与限制824 系统配置

2、9241 Hardware (硬件)9242 Software (软件)9第3章 系统设计1031 模块划分1032 设计模式1033 数据库安全及设计描述1534页面设计16第4章 系统实现1741模块的详细设计17411 登录机制17412 创建班级18413 班级管理员的生成19414 删除功能的实现20415 查询功能的实现21416 留言功能的实现22417用户权限确认23418 JSP对象的使用24419 技术要点244110 Bean的使用2442 数据库的详细设计25421安装驱动程序25422建立用户25423 系统表结构25424 操作数据库26425数据库接口27第5章

3、总结29第6章 展望31致谢32参考资料33第1章 绪论11 引言Internet已经成为人们生活、工作、学习越来越离不开的平台。Web技术已经不在局限于单纯地提供信息服务,而是日益成为一个操作平台,为用户提供强大的服务功能。例如网上电子商务、社会信息数据库等。网络实现了远程通讯,人们能够通过计算机网络进行电子邮件的发送,召开网络会议,网上购物,甚至坐在家里就可以上大学(网上教育)。网络有巨大的潜力待我们去开发与探索。因此,基于B/S体系架构创建这个校友网站,紧跟行业发展,满足人们生活、学习的需要。建立一个基于B/S架构的校友录,实现信息网络化。通过较丰富的功能将 Web的技术特点体现出来。该

4、系统可供包括在校、离校、以及游客登录使用。登录者可以查询信息或者发布信息,也可以通过此网站与朋友联系,并且还能够创建虚拟班级等功能。系统中班级管理为必不可少的模块项,主要是为了安全有效地存储和管理登录网站的用户的信息,赋予管理员特定的权限,可以对用户进行分类,添加,删除,修改等。方便网站的管理与维护。要实现这样的功能,离不开后台数据库的支持。用户验证信息,收集到的用户点击信息,分析得出的关联规则表等大量的数据都由数据库管理系统管理。本文中数据库服务器端采用了Oracle作为后台数据库,以先进的JDBC技术与数据库连接,结合SQL语句处理对用户分类,添加,删除,修改等操作,使Web与数据库紧密联

5、系起来。整个个性化页面生成系统主要由使用JSP技术开发实现个性化Web页面生成和JS结合JavaBeans技术实现组件重用两部分组成。整个系统结构如图1-1所示。用户JSP页创建班级添加,删除,修改等权限操作Web服务器Database服务器图1-1 系统结构图 本文作者主要完成客户端,Web服务器端应用程序和数据库的制作,实现网上虚拟班级的创建,管理员注册/登陆、班级管理员对用户进行分类,添加,删除,修改等功能。实现与完善整个基于B/S校友录网站的组织建立和测试工作。12 背景121 B/S模型的优点几乎没有限制的客户端访问和极其简单化的应用程序部署和管理是B/S模型的优势所在。它和C/S模

6、型比较优点极为突出。两层技术模型(Two-Tier Architecture)是指客户机直接与服务器交流,没有其他服务介入的技术模型。对用户量在12100的局域网环境中,两层模型的确是个不错的方案。由于该模型中,所有的用户连接都是被保持的,也就是说即使在空闲状态,连接依然存在。所以,用户的并发请求数量有限的。为了解决这个限制,使得成千上万的用户可以被无顾虑地添加,我们最好选用三层模型。B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者说是改进的结构。用户界面完全通过浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑

7、在服务器端实现,形成三层结构,是一种全新的软件系统构造技术。B/S模型结构图如下所示:图1-2 B/S模型结构图从上图可见 这种结构的一个重要的特点是,用户可以完全不需要安装客户端软件,当然也不需要担心任何软件升级和不兼容等任何客户端所遇到的问题。相比之下,B/S模型的优点显而易见,更适合这个网站的构建,有利于网站的维护和扩充。122 JSP技术发展背景Web技术的迅猛发展正推动Internet上信息服务类的进步。WWW服务的基础是HTML语言。这个系统模块中用到的JSP技术是在HTML语言的基础上使用脚本语言对网页的对象模型进行编程。JSP全称JavaServerPages,它是由Sun M

8、icrosystems公司提出、许多公司参与建立的一种动态网页技术标准。它诞生在1999年6月1日。目前国内外已经在广泛地使用JSP。随着JAVA语言得到普及,越来越多的公司开始关注JSP的前景。传统的动态网页制作包括CGI、ASP、JSP三种,而JSP具有明显的优势。使用CGI-BINJ接口是一个最早的动态WEB页面问题的解决方案。缺点,CGI程序必须从CGI接口读入一长串的字符串,再从字符串中取得所需要的数据并加以处理。过程十分繁琐。另一个缺点,除了Perl是解释语言外,其他都是编译式的语言。每次修改后,都必须重新编译一次,这给开发人员带来麻烦,增加了工作量。ASP和JSP都能取代CGI使

9、网站建设和发展变得简单快捷。尽管JSP技术和ASP在许多方面都有相似的,但仍然存在很多不同之处,其中最本质上的区别在于:两者是来源于不同的技术规范组织,其实现的基础,WEB服务器平台要求不相同。1)作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。一次写入,之后,可以运行在任何具有符合JavaTM语法结构的环境。取代之过去单一平台开发。 ASP主要工作环境是微软的IIS应用程序结构,又因Activex对象具有平台特性,所以ASP技术不能很容易地实现在跨平台的WEB服务器的工作。2)从开发人员的角度来看其区别在于:ASP仅支持组件对象模型COM,而JSP技术提供的

10、组件都是基于JavabeansTM技术或JSP标签库。3)JSP标签可扩充性。JSP技术能够使用开发者扩展JSP标签,JSP开发者能定制标签库,减少对脚本语言的依赖4)生成可重用的组件。JSP基于组件的技术方法加速了总体开发过程。 JSP组件(Javabeans,或定制的JSP标签)是跨平台可重用的。Javabeans组件可以访问数据库,并能以分布式系统模式工作于UNIX和WINDOWS平台。5)易于维护性。 基于JSP技术的应用程序比基于ASP的应用程序易于维护和管理。JSP突出的组件技术使修改内容而不影响逻辑或修改逻辑而不影响内容变得很容易实现。如上的比较不难看出,JSP技术编写的程序运用

11、要更加灵活,可扩展性更强。第2章 需求分析21 任务描述系统模块的设计应该遵循整个系统总体设计思路。即基于B/S模型构建校友录。系统的总体设计应该是提供给上网浏览者一个效率高,能容丰富的网络空间。包括用户可以在线聊天,上传下载图片,网上购物等种种功能。其中校友录中必不可少的主体模块之一就是网上虚拟班级的创建,它将提供的是一个互动的虚拟空间。班级作为一个整体包含了许多的个体,用户作为班级的个体可以在班级范围能有自己的行为。与其相关涉及到班级的长期维护和管理等功能。班级管理员充当维护者这个角色,他可以将班级成员组织在一起,而且拥有班级管理功能的使用权。而针对用户将使用到的功能和特点,将此系统模块划

12、分为班级注册、管理员信息注册、管理员权限操作(包括:班级成员的删除、班级的删除、更改班级名称、添加班级管理员、班级留言等),数据库设计等几个子模块。那么系统功能的使用者应该是班级管理员,所有的功能设计都应该以管理员的权限为核心。此处管理员权限的功能设计定要引用到大量的数据库操作,这就需要考虑到为虚拟班级分配系统存储空间,建立数据库表。那么,选择数据库,创建数据库用户和表,建立与数据库的连接,使用SQL语言操作数据库就是系统后台设计围绕的主体。能否将系统的前后台合理有效的关联是整体系统模块成功的关键。22 用户特点系统应该围绕着用户特点设计。管理员有权将普通班级成员升级为班级管理员,协调日常工作

13、。有权将班级管理员降级为普通班级成员,将违反网站用户协议的,对班级造成不良影响的普通班级成员从本班级中除名。有权将班级的名称进行合理更改,使其更容易查询。有义务定期维护班级校友录,发展班级成员,使旧时的班级重新成为一个整体。以便参加网站为校友们不定期举办的丰富多彩的活动,发布班级通知等。遵守网站用户协议,管理班级成员不传播任何非法的、伤害性的、淫秽等信息资料。有义务作为班级成员与网站之间的沟通纽带,及时将双方所需的信息进行沟通。可以将自己的所有权利移交给另一位班级成员。23 条件与限制此系统模块的设计主要突出班级管理员的功能和特点,它与普通的用户有很大的区别。系统虽然对所有用户开放,但部分资料

14、和功能只针对班级管理员开放;新增用户需要通过申请、注册等方式获得希望得到的权限和信息;如果不遵守网站用户协议,或传播任何非法的、淫秽等信息资料,将立即取消用户服务帐号,并视情节的严重性付诸于法律。数据库中要以班级名称和用户名为主键,这就要求用户创建初始信息是必须填写这两项。为了确保用户输入数据的有效性并与数据库字段设计相符,所以对用户输入的表单项也要做相应的约束。24 系统配置241 Hardware (硬件)硬件环境(访问者):建议用户在力所能及的情况下采用较高配置的硬件资源。硬件环境(开发者):pentiumIII处理器,256M内存,10G磁盘空间。242 Software (软件)访问

15、者:IE、Netscape等浏览器。最好是IE浏览器,本网页在IE浏览器下通过了测试。开发者:1)Operating System (操作系统):Windows2000/NT/XP2)Tools (工具):EditPlus 2, DreamweaverMX3)Database (数据库):Oracle8i4) Server (服务器) :ApacheTomcat/WebSphere5)Run Circumstance (运行环境) :安装JDK1.4支持Java运行。6)Technic (技术):前台网页的设计采用JSP技术制作。JSP网页吸引人的地方之一就是能结合JavaBeans技术来扩充

16、网页中程序的功能。JSP程序实际上JSP元素、Java程序和HTML文档的混合体,JSP以Java作为其脚本语言,几乎继承了Java语言的所有特点。25 编码规范1) 文件名用英文表示其功能,起到一目了然的作用。2) 文件归类,以不同文件夹存放图片LifengImageJSP LifengJSPJavaBeanWEB-INFclasseslifengworks3) 出错信息页的制作。用户操作错误时,返回出错信息。第3章 系统设计31 模块划分 此系统模块要的功能是创建班级和班级管理员操作权限的实现,围绕着这个目标把系统制作划分为登录子模块、创建班级子模块、管理员权限子模块和数据库模块。如图3-

17、1所示。首页可以作为其它功能项的一个向导,起连接的作用,而管理员权限子模块又被细分为删除功能子模块、查询功能子模块、管理员班级留言功能块。首 页 数据库管理权限登录验证管理员注册创建班级删除功能查询功能更改功能留言功能图3-1 模块划分结构图 登录子模块和创建班级子模块在系统中的实现其功能对所有用户可见,而删除、查询、管理员班级留言功能只针对身份被标识为管理员的用户开放。32 设计模式模块1:用户身份验证设计。用户进入该系统,首先需要进行身份验证。如果通过了身份验证,则为合法用户,同时其帐号和权限等资料将会保存在Session对象,Session对象储存的信息是局部的,随用户不同而不同的。当用

18、户访问系统的各个子系统时,系统自动从Session对象中获取用户的资料,而无须将用户的资料作为请求方法、参数名、参数值追加到URL中。这样可以避免用户恶意修改URL中的值来非法访问。Session对象中的变量设置:Session“UserID” 用户帐号Session“Roles” 用户权限 模块设计流程如图3-2所示。开 始输入用户名、密码判断数据输入是否合法?是否进 入 班 级报错信息结 束图3-2 登录验证流程图 用户登录这个过程是必须的,因为只有这样才能从数据库中得到用户的帐号和权限。模块2:创建班级功能的设计。通过了注册后的用户才可以创建新班。用户创建时必须输入合法的班级名称和基本信

19、息,班级名被设定为数据库Class_table的主键,系统将判断新班级的名称是否与数据库中现有的记录重复,如果重复就违反了主键唯一的原则,数据将不能够被正确的输入数据库,所以要返回给用户一个信息。否则,班级创建成功,创建者还需要补充用户信息。此模块的设计流程如图3-3所示。开 始填写班级信息:(所属省份、城市、地区、学校;班级名称、年级;)是否有效?是否成功信息(注册成功)报错信息(班级已存在)是填写个人信息:姓名、生日、E-mail、联系方式是否有效? 否成功信息是退 出图3-3 创建班级流程图 模块3:查询功能设计。提供给用户查询功能,方便使用者查找亲友同学所属哪个班级,还可以统计出目前班

20、级拥有多少成员。此项功能是根据使用者输入的关键字遍历数据库,查找有无匹配的记录。如果记录存在将记录输出到用户浏览端,否则返回一条用户信息。例如,查询姓名为李四的人。模块设计流程如图 3-4所示。开 始输入查询关键字判断查询类型成员名班级名是否有匹配的记录?接口(否) 接口(是)显示详细信息显示没有记录结 束图3-4 查询功能流程图 模块4:删除功能设计。作为班级管理员应该有管理班级的能力,删除功能的设计正是为班级管理员设置的管理功能之一。其中包括两部分,一是删除班级成员,二是删除整个班级。这个功能的实现需要使用SQL语言判断管理员所在的班级,遍历数据库中有无使用者欲删除的记录。如果记录存在,将

21、记录删除。否则,返回信息到用户浏览端。例如把姓名为李四的人删除或删除班级计算机一班。模块设计流程如图3-5所示。开 始输入删除关键字判断删除类型班级名成员名是否有匹配的记录?接口(否) 接口(是)显示没有记录将记录删除结 束 图3-5 删除功能流程图 33 数据库安全及设计描述数据库设计无疑是以上功能实现的基础。制作数据库表首先要确定实体的属性和实体间的关系。数据库要存储所有的班级信息和用户信息,这些信息是班级的属性和用户的属性。一个班级可以有若干的成员,也可以有一个以上的管理员。一个管理员只属于一个班级。实体间关系如图3-6所示。图3-6 E-R图1) 角色设计初步将系统中的用户角色分成三级

22、,如表3-1所示 。表3-1 角色划分权限 描述 标记(Roles)一般用户 查询资料 1 班级管理员 查询;数据的录入、修改和删除 2 系统管理员 查询;数据的录入、修改和删除;用户帐号、权限的维护 3 2) 权限设置使不同用户对不同模块有不同的操作权限。如表3-2所示。表3-2 权限设置模块 标记 说明 班级情况 SchoolWrite “1”:在该模块中有数据录入、修改的权限“0”:在该模块中只能查看 用户档案 UserWrite “1”:在该模块中有数据录入、修改的权限“0”:在该模块中只能查看 计划、总结、保留文件 FileWrite “1”:在该模块中有数据录入、修改的权限“0”:

23、在该模块中只能查看 3) 学校名称录入用于录入班级的名称、类型,并自动生成唯一的ID号。ID号为长整型数字类型。 ID将根据班级录入的顺序,自动从1递加上去。34页面设计客户端页面是用户和服务器之间实现人机交互的一个介质。对它的制作要求简洁大方,色彩搭配要协调。第4章 系统实现41模块的详细设计411 登录机制网页中建立用户登录机制,为的是限制未经过登录的浏览者不能创建班级。让用户以帐号方式登录网页是一种可行的网页管理方法。在这个系统模块的后台数据库中建立USER_TABLE表,用来对用户的登录帐号和密码加以保存。此处设置了用户对象的session值。通过获取session值,遍历数据库,可以

24、确定用户属于哪个班级和用户在班级中的身份。结构图如 4-1所示。 数据检查失败用户浏览 通过数据检查 导向 导向 读出未登录数据库图4-1 登录机制表4-1是这个模块的实现文件。表4-1 实现文件文件说明login.JSP输入用户登录名和密码。login_confirm.jsp读取lifeng.jsp中用户输入的班级的属性。用户若成功登录,将把登录的帐号和密码写入session对象。Session.setPutValue(“userName”,userName); Session.setPutValue(“userPassword”,Password);412 创建班级班级创建是这个系统模块的

25、核心功能之一。系统通过在数据库中遍历用户输入的班级名来判断班级的建立是否有效。使用脚本语言限制表单内的输入方式,如果表单值为空,在用户端输出“班级名不能为空”。如下图所示;图4-2 创建班级页为了保证不重复创建班级,同时也防止数据库冲突,在得到request.getParameter(“class_name”)时必须对数据库遍历。如果班级名已经存在,返回信息“班级已经存在”。此处将bean文件引入,做数据库的连接工作,通过Insert语句把班级的属性插入到数据库中。SQL条件查询语句检查表单中输入的班级信息是否与数据库中重复。String sql=select * from CLASS_TAB

26、LE where class_name= + name1 + ;ResultSet rs = RegisterBean.executeQuery(sql);如果用户输入的班级名称在数据库中已存在,那么返回到register.jsp页,得到session值。 if(搜索到相同记录) 关闭数据库;session.putValue(register_message,班级已存在!);/设置返回信息。从新导回到创建页面% else 创建成功,记录存入数据库; 此处从表单中取出客户端的输入值必须被转换成与数据库中字段类型相一致的类型,否则不能够将出客户端的输入值正确存入数据库。此子模块使用的文件如下表所示

27、。表4-2 实现文件文件说明Lifeng.jsp输入要创建的班级的属性,包括,班级名称、学校、入学年级、所在系等。Rerere.jsp读取lifeng.jsp中用户输入的班级的属性。do_register.jsp验证数据库数据的唯一性,并将合法数据存储到数据库。413 班级管理员的生成班级管理员这个角色起到对班级日常工作的维护和管理的作用,角色权限高于普通的班级成员,那么需要特定的属性来标识管理员的身份。系统表中增加Admi字段,若为管理员此列不为空,否则此列为空。从图4-3可以看出ADMI列不为空的都是班级管理员。图4-3 user_table表结构班级管理员也属于这个班级的一个成员,将他们

28、存放在一个表中可以节省系统表空间,减少数据冗余和表之间复杂的关联。首位班级的创建者被系统默认成为该班级的管理员,他的session值被保留,班级建立成功的同时把他的登录名存入class_table表的Admi字段中。414 删除功能的实现主要技术环节是如何有效地与数据库连接,并通过使用SQL语句对数据库进行操作。删除班级成员和班级是管理员权限的一项重要功能。设计的实施如下所述。从表单中取得字符串,然后查询数据库有无与其相等的记录。如果有,按下删除键可以将其删除,如果记录不存在,返回用户信息,并可以继续重新操作。具体流程:if(表单为空) 输出班级成员数据库表else(不为空) 查询数据库中有无

29、匹配的记录 String strSQL=select * from individual where zm=+new String(zm.getBytes(8859_1)+;rs=st.executeQuery(strSQL);输出结果集 if(!rs.next()/遍历到数据库末没有匹配记录 返回给用户信息:没找到“” else(记录存在) 执行删除,并刷新数据库。String strDel=delete from individual where zm=+new String(zm.getBytes(8859_1)+;st.executeUpdate(strDel);rs=st.execu

30、teQuery(select * from individual);/删除后更新数据库;查询语句的执行继续操作:继续删除/自身连接,刷新后返回到自身。关闭数据库。 删除班级是判断管理员属与那个班级,通过user_table表中class_name属性和class_table表中class_name属性把两个表关联起来。这样班级管理员就只能删除与他班级属性相同的班级名和班级成员了。此处从表单中取出客户端的输入值必须被转换成与数据库中字段类型相匹配的类型,否则不能够正确的进行数据库遍历。图4-4 删除页415 查询功能的实现主要技术环节是如何有效地与数据库连接,并通过使用SQL语句对数据库进行操作

31、。如果用户想要查找某人的信息或者想寻找某个班级中是否存在某人,那么这项功能正好满足使用者的需要。设计思路是从表单中提取用户输入的字符,连接并查询数据库,如果查找到数据库中存在相匹配的记录,将其记录输出,否则返回一条用户信息“不存在”。具体流程:if(表单为空) 查询数据库表else(不为空) 查询数据库中有无匹配的记录 String strSQL=select * from individual where zm=+new String(zm.getBytes(8859_1)+;rs=st.executeQuery(strSQL); if(!rs.next()/遍历到数据库末没有匹配记录 返回

32、给用户信息:没找到“” else(记录存在) 执行查询语句,并刷新数据库。strSQL=select * from individual where zm=+new String(zm.getBytes(8859_1)+;ResultSet rs10 = st.executeQuery(strSQL);/输出结果集。继续操作:继续查找/自身连接,刷新后返回到自身。 关闭数据库。416 留言功能的实现此模块中通过获取管理员的session值来确定数据库操作的对象。班级管理员可以使用这个功能在本班能留言。具体实现:此系统模块使用的文件如表4-3所示。表4-3 实现文件文件说明Talk1.jsp输入

33、留言内容。获取数据库记录集,将结果输出到客户端。Do_talk.jsp处理talk.jsp中表单中的值,将值存储到数据库。417用户权限确认当用户点击进入一个班级时,他是普通成员还是管理员,他应该有哪些操作权限,此时识别用户身份具有非常重要的意义,只有认清用户的身份之后才能确定该用户能够执行哪些操作。这也是本系统模块设计的重要环节之一。功能实现使用了数据库表关联操作。首先取得用户Session值,然后执行如下语句:ResultSet rs=st.executeQuery(select class_table.class_name from class_table,user_table wher

34、eclass_table.class_name=+class_name+and class_table.admi=user_table.user_name);通过图4-5和图4-6的比较可以看到同一个用户以不同身份进入两个班级时,页面的效果是不同的。被标识为管理员者才有使用删除、留言等功能的特权。图4-5 管理员登录图4-6 普通成员418 JSP对象的使用此系统实现多处使用了JSP的对象,如表4-4。表4-4 jsp对象对象名称功能描述Request从客户端取得信息Response将信息送给客户端Session储存在一个Session内的用户信息,该信息仅可被该用户访问419 技术要点1)引

35、用bean各功能模块中需要频繁的进行数据库操作,如果每遇到要使用数据库便建立一次链接将在一定程度上增大系统开销,加大程序员的工作量,我们这里有效利用了JavaBean文件,使服务器事先建立数据库链接对象,所有的数据操作都使用该链接,从而提高了服务器效率。具体做法以下将做描述。2)操作数据库表空间是数据库得逻辑存储设备,它把数据库信息组织成物理存储空间。每一个数据库用户都可以设置一个缺省空间。缺省表空间用于在用户创建数据库对象时(表或索引),如果没有指定表空间时存放数据库对象。创建用户时,如果不加指定,用户的缺省表空间为SYSTEM表空间。JSP与数据库连接的时候,需要使用一个合法的用户登录数据

36、库。此系统模块在数据库中建立用户名为JSPUSER。使用控制命令:create user JSPUSER identified by JSPUSER; grant connect,resource to JSPUSER.建立并授予用户JSPUSER权限。密码为JSPUSER。一个访问数据库的程序段,对于不同的行为,要其执行的SQL语句是不同的,其不同主要表现在查询、插入或更新时的参数不同,于是我们引用JAVA类: 将数据库的查询、更新方法定义在Bean中。 在系统模块中通过设置session值来确定应该操作数据库中的哪条记录,而且通过两个表之间相同字段的关联提高操作效率。4110 Bean的使

37、用JavaBean的价值体现在它的一系列属性里,使用这些属性可以访问JavaBean的设置。用一个人来做类比,如果这个人是一个JavaBean,那么他的姓名、身份证号码和地址就是这些属性。JavaBean已经做好了,你要做的事就是告诉JSP页面它将要使用的bean的名称,这可以通过标记来实现: 。 在这个系统模块的设计过程中,把连接数据库时需要多次复用连接驱动命令,数据库操作的方法引入Bean中。实践中真正体现了JSP与Bean结合的优势。Bean中定义了查询(executeQuery),更新方法(executeUpdate)。当JSP中执行SQL语言操作数据库时,将自动调用这两个方法。42

38、数据库的详细设计421安装驱动程序本系统模块用JSP技术编写,那么就必须借助与JDBC(Java DataBase Connectivity)来操作数据库。JDBC是一组API(Application Programming Interface),即应用程序设计接口。JDBC共有四种类型:类型一,利用桥连接器(Bridge)的概念连接数据库。类型二,运用由数据库厂商提供的用于操作数据库的API函数。类型三,这类驱动程序通过网络协议与中间件连通,中间件负责转换数据库操作信息。类型四,这类驱动不通过任何中间件,而直接以Java数据库驱动程序来执行数据库的访问。相比之下,此系统选择第三种类型的数据库

39、驱动。它的优点更适合这个系统创建与数据库的连接。Oracle自带的JDBC驱动程序放在Oracle安装目录Oracle81jdbclib中。Java环境并不能自动找到该驱动程序。应用时可以在AUTOEXEC.BAT中设置如下:set classpath=c:oracleora81jdbclibclasses111.zip;c:oracleora81jdbclibclasses12.zip;或者把驱动程序压缩包复制到Apache Tomcat服务器下的class目录中。422建立用户 JSP与数据库连接的时候,需要使用一个合法的用户登录数据库。此系统模块在数据库中建立用户名为JSPUSER。使用

40、控制命令:create user JSPUSER identified by JSPUSER; grant connect,resource to JSPUSER.建立并授予用户JSPUSER权限。密码为JSPUSER。 用户的缺省表空间为SYSTEM表空间。423 系统表结构本系统模块建立两个数据库基本表。表CLASS_TABLE存放用户创建班级时输入的基本信息。包括字段:、学校、班级名称、年级、Admi(管理员);表中字段class_name,class_year,Admi,设class_name为主键。表USER_TABLE存放管理员的注册信息。包括字段:用户登录名、真实姓名、生日、工作

41、单位、工作地、Email,Tel,Admi。如图4-7、4-8所示图4-7 user_table表结构图4-8 class_table表结构考虑到节省表空间,防止数据冗余和表之间关联过于复杂,决定将所有的班级成员存放在一张表中,用字段ADMI标识管理员的属性。424 操作数据库 在执行查询动作之前,必须在程序中使用Connection对象的createStatement方法,建立Statement对象,以代表执行的SQL语句。连接驱动,用户登录数据库Class.forName(oracle.jdbc.driver.OracleDriver);String m_url=jdbc:oracle:thin:localhost:1521:lifengDB;String m_user=JSPUser; /JSPUser为数据库用户名。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号