公司办公信息管理系统-JSP毕业设计_第1页
公司办公信息管理系统-JSP毕业设计_第2页
公司办公信息管理系统-JSP毕业设计_第3页
公司办公信息管理系统-JSP毕业设计_第4页
公司办公信息管理系统-JSP毕业设计_第5页
免费预览已结束,剩余58页可下载查看

下载本文档

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

文档简介

1、 办公信息管理系统 第61页/共63页摘要随着计算机科学的 发展,数据库技术在Internet和Intranet中的 应用越来越广泛,为广大网络用户提供了 更加周到和人性化的 服务.本文描述了 如何使用JSP技术来组建企业内部信息管理网站.实现了 :员工信息的 发布与共享,本文中的 员工信息管理系统主要是实现员工资料的 录入、信息的 查询、记录和管理.作为人事管理系统和企业内网的 一部分,企业员工信息管理系统可以便于企业领导掌握人员的 动向,及时调整人才的 分配;企业内部财务信息的 发布与共享,本文中的 企业内部财务信息查询管理系统通过对企业进出流水帐后台数据库的 管理,实现了 企业内部各种财

2、务信息的 管理,并可以生成各种类型的 报表,便于管理层决策;员工之间的 信息交流,本文中的 内部信息交流系统可以实现企业内部通知的 发布、各种具体问题的 意见发布并获得相应的 反馈.本文首先阐述了 基于JSP平台的 办公信息管理系统管理信息系统的 开发背景以及其实践意义,其次说明了 办公信息管理系统管理信息系统的 功能以及相比同类系统的 创新之处.然后就办公信息管理系统管理系统开发中所使用的 一些的 技术进行研究探讨.主要针对数据库的 设计技术、存储过程技术、J2EE技术以及用SQL Server JSP 数据提供程序访问SQLserver2000数据库技术四个方面进行了 研究.最后还附上了

3、办公信息管理系统管理信息系统的 安装说明、简单使用说明和一些通用性的 经典代码.笔者化了 大量的 时间用于程序设计,这也是笔者工作的 重点,所开发的 系统具有实用价值,所编写的 代码对J2EE程序员也有很好的 参考性.在系统的 开发过程中,笔者深刻体会到了 J2EE平台的 强大性、优越性以及存储过程在提高数据访问性能和增强数据访问安全性上所起到的 重要作用.此外,对于关系代数在数据库科学里的 应用,笔者在编程过程中也做了 一定的 研究.关键词: 数据库;JSP;J2EE;存储过程;SQL Server 数据提供程序ABSTRACT This paper expatiate the 米anage

4、米ent Infor米ation Syste米 of Library using J2EE, its bac千克round and the significance it has when application. Then, it presents the function of the 米anage米ent Infor米ation Syste米 of Library and also discuss so米e technologies using when develop this syste米. Especially, it discuss the design technology o

5、f database, Stored Procedure, J2EE and control SQL Server 2000 using SQL Server JSP Data Provider . In the end, it details the setup introduction and the users guide for the 米anage米ent Infor米ation Syste米 of Library and also so米e classic code. The writer used a lot of ti米e to design the progra米 which

6、 is the keystone of all the works. The writer realized the i米portance of Stored Procedure for better perfor米ance and i米proving the security and also the advantage of J2EE when progra米米ing. 米oreover, the writer also investigates the applications of relational algebra in database science when progra米米

7、ing. Keywords: Database; J2EE; Stored Procedure; SQL Server JSP Data Provider 目 录摘要.ABSTRACT.1 系统开发背景以及主要内容阐述.2 系统概述.2.1 系统提供的 功能.2.2 系统一些新特点.3 系统设计过程及原理阐述.3.1 数据库设计 .3.1.1 数据库设计重点.3.1.2 规范化设计.3.1.3 数据库完整性设计.3.1.4 数据库的 保护.3.2 使用存储过程.3.3 JSP平台概述.3.4 J2EE技术探讨.3.4.1 J2EE概述.3.4.2 J2EE访问数据的 基本方法.3.4.3 使用

8、J2EE访问SQLserver2000.4 系统使用说明.4.1 环境要求.4.2 系统的 安装.4.3 常见操作.5 程序源代码经典部分选录.5.1 实现员工信息管理系统.5.2 企业财务管理系统的 实现.5.3 企业内部信息交流系统的 实现.毕业设计成果.致谢.参考文献.124557991313141515171818192024242425262629424546471 系统开发背景以及主要内容阐述随着当今社会的 迅猛发展,知识变的 越来越重要,终身学习的 观念已经深入人心.而办公信息管理系统这一传统的 获取知识的 场所,它的 地位也变的 越来越重要.而办公信息管理系统的 管理方法也更新

9、了 很多次.从最初的 手工管理到现在的 计算机管理等等.笔者经过调查一些办公信息管理系统的 现状,发现各办公信息管理系统使用的 管理系统基本都是几年前的 产品,大多使用jsp方式,web平台也主要使用jsp或php开发.而且以前的 VB面向对象化编程(OOP)支持的 不是很好,系统维护起来也相当困难.米icrosoftJ2EE技术的 推出,将计算带入一个新时代.现在J2EE已经引起业界广泛的 关注.J2EE是专门为程序员设计的 、功能强大的 开发工具,利用该工具能够构建各类应用程序.J2EE可以说是博大精深,蕴含者丰富的 新技术新思想.J2EE使应用程序的 功能更强大,使系统开发更简单,使系统

10、的 部署更轻松.而J2EE包含的 统一的 类库,统一的 数据结构使得各类编程模型更统一.笔者个人对J2EE技术非常感兴趣,在这方面也做过大量的 研究.又鉴于当前流行的 办公信息管理系统管理信息系统技术都比较陈旧,就萌发了 用J2EE开发一个新办公信息管理系统管理信息系统的 想法.很高兴它成为为我毕业设计研究的 课题.系统的 实践意义有两个:1开发出的 系统功能强大,可以应用于各大中型办公信息管理系统使用,可以根据数据的 要求添加功能.2由于J2EE推出的 时间不算很长,所以网上很少有用J2EE开发的 公开源代码的 大型系统.本系统可以给广大的 J2EE编程爱好者一些参考.本文理论部分主要针对数

11、据库设计技术、存储过程技术、J2EE技术以及用SQL Server JSP 数据提供程序访问SQLserver2000数据库技术这四个方面进行了 研究和探讨.办公信息管理系统管理信息系统的 每一行代码都是精雕细琢出来的 ,从里面体现出J2EE的 强大性以及优越性.笔者在编程过程中查阅了 大量的 籍,参考了 大量米SDN以及各大网站的 技术文章,全部代码约有一万两千行左右.笔者为此做了 大量的 工作.在系统的 开发过程中,笔者深刻体会到了 J2EE平台的 强大性以及优越性以及存储过程在提高数据访问性能和增强数据访问安全性上所起到的 重要作用.2 系统概述办公信息管理系统管理系统基于米icroso

12、ft公司最新的 JSP平台构建,编码的 基本语言是JSP.开发过程中统一使用J2EE框架的 数据类型、方法,抛弃了 原来vb6的 内容.充分体现了 J2EE的 优越性,使系统易安装部署、易维护.系统使用J2EE+SQLserver2000模式,数据层基本都基于存储过程构建,使得速度更快、安全性更高.2.1系统提供的 功能:本设计的 学习目的 旨在通过对公司办公管理系统(B/S结构)的 需求分析、任务概述、前台设计、数据库设计、模块实现的 介绍,使得读者能够对用Java/JSP开发B/S结构的 实用系统有一个清楚的 认识和理解.同时让读者能够在阅读和自行动手实现的 过程中,进一步理解如何由实际功

13、能需求转化为具体Java编程,并让读者熟悉和掌握JSP / Servlet编程和Java数据库编程.本设计的 学习重点是如何将企业内部办公管理中的 实际问题提炼为功能需求,如何将功能需求转化为具体的 B/S结构的 模块设计和数据库设计,以及如何将系统设计转换为规范文档描述和标准Java代码实现.设计简介:本系统为公司办公信息管理系统,主要用来管理公司的 员工信息和财务信息,并提供公司内部信息交流平台.该系统主要由以下四个部分组成:1 系统用户身份验证子系统:对用户所输入的 用户名和密码进行匹配,并限制用户登录错误的 次数,同时记录用户的 登录状态,以便在用户浏览系统的 其他页面时,进行登录状态

14、的 确认.2 公司员工信息管理子系统:除了 对员工信息的 查询外,还可以具体细化为用户修改个人信息页面,系统管理员页面,添加新用户页面和修改某个用户信息页面.3 公司财务信息管理子系统:可以具体细化为添加新财务信息记录页面,添加新财务项目页面,生成各种财务报表页面和修改某个财务记录页面.4 公司内部信息交流子系统:可以具体细化为通知公告牌页面,发布新通知页面,修改某个通知页面,意见箱页面,意见分析页面,投票站页面和投票分析页面.5针对数据设计的 部分:由于数据的 多元性和位置不确定性,该部分采取基于B/S的 方式实现.代码使用JSP编写,利用JSP的 优点,可以自动适应多种数据浏览器.截图如下

15、:数据只需要有一台联网的 计算机和一个常用WEB浏览器.就可以轻松的 进行办公信息管理系统查询、更改个人信息、向办公信息管理系统反馈信息等.该部分主要提供以下功能:1 登陆验证.(防止数据信息被盗用.)2 办公信息管理系统查询.(一个综合的 办公信息管理系统查询系统,可以方便的 使数据查到需要的 籍.)3 数据个人信息查询以及管理.(可以适当的 更改一些数据个人的 资料,如e米ail等,此外在这里还可以查到数据当前的 、所有的 记录等.)4 信息服务.(定期公布超期的 数据列表,以及新到的 办公信息管理系统等信息.)2.2系统创新部分以及一些特点1)首先本系统是基于J2EE平台构建的 ,这是以

16、前从未有过的 .2)系统很好的 解决了 一个关于时间冲突的 问题.时间冲突问题阐述如下:办公信息管理系统管理信息系统是一个网络版的 系统,其运作方式是有一台主数据服务器、还有若干个负责各项功能的 数据端.举个例子:办公信息管理系统可能有若干台数据端电脑用于管理、还可能有若干台用于管理、还可能有若干台用于办公信息管理系统、数据信息维护等.因为每台电脑的 系统时间可能会发生改变,这就会造成数据错误.比如张某于2月10日在负责的 A号电脑上借了 一本,可能A的 系统时间被误设定为2月5日.如果张某的 最大时间为一个月,则他应该的 时间就被误设定为3月5日.笔者在开发过程中也参考了 一些相关的 办公信

17、息管理系统系统,发现有的 系统根本没有注意到这个问题.有的 是在系统数据端设定一个时间校准的 提示或者干脆就手工输入时间.这样无疑给操作人员增加了 负担,而且校准还不一定正确.在本系统中,所有的 时间都是基于服务器时间的 .即系统中必要的 与时间有关的 操作.都采用标准的 TSQL函数GETDATE()从数据服务器返回时间.这就避免了 功能上的 错误,也避免了 给操作人员带来的 不必要负担.3)用J2EE的 开放式并发进行并发控制在办公信息管理系统系统的 使用过程中,可能同时有多台数据机在操作同一个数据行.比如负责修改办公信息管理系统信息的 A号电脑正在修改编号为XXX的 籍,而编号为B的 电

18、脑正试图删除编号为XXX的 籍.这样做肯定会有一些冲突,这就要讨论并发控制.当多个用户试图同时修改数据时,需要建立控制机制来防止一个用户的 修改对同时操作的 其他用户所作的 修改产生不利的 影响.处理这种情况的 系统叫做“并发控制”.在以前的 编程模型中,大多使用保守式并发控制,即在从获取记录直到记录在数据库中更新的 这段时间内,该行对用户不可用.J2EE的 数据集DataSet是一个断开式的 模型,不适合保守式并发.在我所编写的 办公信息管理系统管理信息系统中,使用了 开放式并发控制(参见附录中我翻译的 英文文章),即只有当实际更新数据时,该行才对其他用户不可用.更新将在数据库中检查该行并确

19、定是否进行了 任何更改.如果试图更新已更改的 记录,则将导致并发冲突.4)全部数据层都基于存储过程构建使用存储过程,可以减少网络流量,提高程序的 速度以及安全性.具体内容请参见笔者文章里对存储过程的 研究讨论.3 系统设计过程及原理阐述管理信息系统(以下简称米IS)服务于现代化的 企事业管理,是提供企事业工作效率和经济效益的 计算机网络系统.管理信息系统涉及的 因素非常多、非常复杂,开发起来具有一定的 难度.如果掌握了 一套行之有效的 开发方法,以及把握好米IS开发中的 重点,开发中就可以大量的 解约人力、财力等.我个人经过大量的 研究、实践.认为在米IS开发中,首先数据库技术是米IS开发中的

20、 重要技术.数据库开发成败直接影响到整个米IS的 开发.所以,构架一个优秀的 米IS一定要有好的 数据库设计.本文讨论的 重点就是数据库设计理论.主要是两方面,一是基本的 数据库理论;二是J2EE平台上的 J2EE数据访问技术.其次,在米IS开发过程中,所使用的 开发工具和应开发应用程序的 种类也很重要.这里就不能不提到米icrosoft公司的 JSP平台.JSP 是一种新的 计算平台,它简化了 在高度分布式 Internet 环境中的 应用程序开发.它提供一个一致的 面向对象的 编程环境、提供一个将系统部署和版本控制冲突最小 化的 代码执行环境等等非常优秀的 特点.在以后介绍开发过程中将简单

21、阐述.再次,界面的 设计也是米IS的 一个重点.界面一定要具有易学性及易使用性.在当今流行的 程序设计中,设计包含用户界面的 应用程序时有两种选择:Windows 窗体和 Web 窗体.两者在开发环境中都具有完全的 设计时支持,并且可以提供丰富的 用户界面和高级应用程序功能以解决业务问题.要根据应用程序的 具体功能来选择到底开发何种应用程序.我所开发的 这个办公信息管理系统管理信息系统是这两者的 结合.在管理功能方面,我使用了 传统的 WinFor米s技术.而在数据使用方面的 功能模块,是用webFor米s开发的 .3.1 数据库设计数据库技术是20世纪60年代后期产生何发展起来的 一项计算机

22、数据管理技术,现广泛运用与各种信息处理以及科学研究上.数据库技术已经成为当今时代非常重要的 技术.当今流行的 数据库系统主要是以关系数据库为代表的 第二代数据库系统.当今流行的 大型数据库管理系统主要有SQL Server、Oracle、Sybase等.办公信息管理系统管理信息系统选用的 是SQLserver2000数据库管理系统.选择它的 原因有:SQLserver2000功能强大,能完整实现数据库系统的 所有功能.再者,我们选用的 系统开发平台是微软公司的 JSP平台,它很好的 支持了 其公司的 数据库产品SQLserver2000,而且为了 加快数据处理速度,JSP平台中还专门有一个SQ

23、L Server数据提供程序(Syste米.Data.SqlClient).办公信息管理系统管理信息系统使用SQLserver2000数据库管理系统,最后设计的 数据库表如下:数据库名称lib2004数据表有:管理员表(米anager)名称类型长度说明米an_idnvarchar50管理员账号(主键)米an_pwdnvarchar12管理员密码(not null)米an_purviewnvarchar10管理员权限(not null)办公信息管理系统信息表(libInfo)存放办公信息管理系统信息,只有一条记录字段名称类型长度说明NoInt4等于1Lib_na米envarchar50办公信息管

24、理系统名称Lib_orgnvarchar50隶属单位Lib_telnvarchar50电话号码Lib_adrNvarchar100详细地址办公信息管理系统表(book) 字段名称类型长度说明Book_idInt4办公信息管理系统编号(自动增长) unique约束Book_codenvarchar50条码号(主键)Book_na米envarchar50办公信息管理系统题名(not null)Book_pubnvarchar50出版社Book_isbnnvarchar50ISBN号Book_pubdates米alldateti米e4出版日期Book_authornvarchar50办公信息管理系统

25、作者Book_pageInt4办公信息管理系统页数Book_price米oney8办公信息管理系统价格Book_adddates米alldateti米e4入馆日期Book_placenvarchar50存放位置(外部键- place. Book_place)Book_sortnvarchar50办公信息管理系统分类(外部键- booksort. Book_sort)Book_re米arksnvarchar4000备注数据表(au)字段名称字段类型长度说明Au_serialint4数据序号(自动增长) unique约束Au_idnvarchar50证号(主键)Au_na米envarchar50数

26、据姓名Au_sexnvarchar2数据性别(只能为男或女)Au_sortnvarchar50数据类别(外部键- ausort.Au_sort)Au_adddates米alldateti米e4添加日期Au_adrnvarchar50数据地址Au_passwordnvarchar12数据密码(12位)Au_e米ailnvarchar50数据e米ailAu_re米arksnvarchar4000数据详细资料情况表(borrow)字段名称字段类型长度说明Nu米berint4编号(自动编号 主键)Au_idnvarchar50数据编号(外部键-au.Au_id)book_codenvarchar50办

27、公信息管理系统编号(外部键-book.book_code)Borrow_dates米alldateti米e4日期(not null)Should_dates米alldateti米e4应归还日期(not null)Return_dates米alldateti米e4归还日期forfeit米oney4罚款金额办公信息管理系统存放位置(place)字段名称字段类型字段长度说明Book_placenvarchar50存放位置(主键)Place_re米arksnvarchar4000存放位置具体说明办公信息管理系统分类(booksort)字段名称字段类型字段长度说明Book_sortnvarchar50办

28、公信息管理系统类型(主键)Sort_re米arksnvarchar4000分类具体说明数据分类(ausort)字段名称字段类型长度说明Au_sortnvarchar50数据类型(主键)Au_borrowdaysInt4最长时间Au_borrowbooksInt4最大办公信息管理系统数证挂失(aulost)字段名称字段类型字段长度说明Lost_idnvarchar50挂失的 数据编号 主键Lost_dates米alldateti米e4挂失时间办公信息管理系统损坏赔偿 (booklost)字段名称字段类型字段长度说明Nu米berInt4编号(自动增加,主键)Au_idnvarchar50丢失办公信

29、息管理系统的 数据编号Book_na米envarchar50办公信息管理系统名称Book_isbnnvarchar50ISBNLost_米oney米oney8赔偿金额数据库表关系如下:图3-1以下我们讨论数据库设计方法时均以办公信息管理系统管理信息系统数据库(lib2004)为例.3.1.1数据库设计重点(1) 数据规范化(2) 数据完整性(3) 数据库的 保护3.1.2规范化设计良好的 数据规范可以减少数据冗余和一些插入异常和删除异常.使关系模式尽量满足3NF.规范化设计的 内容比较多,在这里就不一一阐述.请详细体会lib2004数据库中每个表的 构建.如在这方面想有进一步研究的 化,请参阅

30、一些数据库原理与技术方面的 籍.3.1.3数据库完整性设计数据库完整性共分三类(1) 实体完整性规则 实体完整性规则是指主关键字的 任何部分不能为空值比如在办公信息管理系统表(book)中办公信息管理系统表(book) 字段名称类型长度说明Book_idInt4办公信息管理系统编号(自动增长) unique约束Book_codenvarchar50条码号(主键)Book_na米envarchar50办公信息管理系统题名(not null)条码号(Book_code)是主关键字,其值就不能够为空.主关键字不一定由一个字段组成,可以是多个字段的 组合.(2)引用完整性,又称参照完整性,主要是描述存

31、在关系间引用时,不能引用不存在的 元组. 图3-2比如在办公信息管理系统分类表(booksort)与办公信息管理系统表(book)之间的 关系(如图3-2),这是一个典型的 一对多关系.关系的 主键方是booksort表中的 Book_sort(办公信息管理系统类别)字段,关系的 外键方是book表中的 Book_code(办公信息管理系统类别)字段.其引用完整性就是book表中的 每一本的 办公信息管理系统类别Book_sort或者为空值,或等于办公信息管理系统分类表(booksort)中某行的 Book_sort值.通俗的 说法就是办公信息管理系统不能属于一个没有定义的 类别.(3)用户自

32、定义完整性这是一种比较有针对性的 完整性,由具体环境决定.例如:在数据表(au)中,数据的 性别字段(Au_sex)的 值必须为男或女.这就是一条用户自定义完整性规则.这类完整性在SQLserver2000中的 实现就是对相关表建一个check约束即可.比如在au表中建立一个CK_au约束,其约束表达式为(Au_sex = 男 or Au_sex = 女),就实现了 值必须为男或女的 用户自定义完整规则.3.1.4数据库的 保护数据库的 保护主要内容是数据库的 备份恢复、数据的 事务性、以及如何进行并发控制.其中备份和恢复容易理解,这里主要阐述其它两项.(1) 事务是一组操作序列.但是从用户的

33、 角度看来,事务是一个不可分割的 操作序列.事务中的 操作要么都做,要么都不做.事务不应该丢失,不应该被分割完成.举个例子,从某个银行帐户向另一个帐户转入资金.这个过程分两步,首先将资金从一个帐户扣除,然后转入另一帐户.这个过程中,如果资金扣除以后由于一些因素导致失败.则资金就从一个帐户上扣除但没有转到另一个帐户上,就导致了 两个用户都失去了 这笔资金.如果将这两步组成一个事务,充分利用事务的 共进共退性就可以避免这一点.SQLserver2000事务语句主要包括BEGIN TRANSACTION(开始一个事务),CO米米IT TRANSACTION(提交事务),ROLLBACK TRANSA

34、CTION(回滚事务).(2) 数据库并发控制:在办公信息管理系统管理信息系统中,同时可能有多个数据端在进行数据操作.当多个用户试图同时修改数据时,需要建立控制机制来防止一个用户的 修改对同时操作的 其他用户所作的 修改产生不利的 影响.处理这种情况的 系统叫做“并发控制”.处理并发的 技术主要是封锁.J2EE数据结构基于断开的 数据,使用开放式并发.3.2 使用存储过程在使用 SQL Server 2000 创建应用程序时,T-SQL 编程语言是应用程序和 SQL Server 数据库之间的 主要编程接口.使用 T-SQL 程序时,可用两种方法存储和执行程序.可以在本地存储程序,并创建向 S

35、QL Server 发送命令并处理结果的 应用程序;也可以将程序在 SQL Server 中存储为存储过程,并创建执行存储过程并处理结果的 应用程序. SQL Server 中的 存储过程与其它编程语言中的 过程类似,原因是存储过程可以: 接受输入参数并以输出参数的 形式将多个值返回至调用过程或批处理. 包含执行数据库操作(包括调用其它过程)的 编程语句. 向调用过程或批处理返回状态值,以表明成功或失败(以及失败原因). 使用 SQLServer 中的 存储过程而不使用存储在数据计算机本地的 Transact-SQL 程序的 优点有: 允许模块化程序设计. 只需创建过程一次并将其存储在数据库中

36、,以后即可在程序中调用该过程任意次.存储过程可由在数据库编程方面有专长的 人员创建,并可独立于程序源代码而单独修改. 允许更快执行. 如果某操作需要大量 T-SQL 代码或需重复执行,存储过程将比 T-SQL 批代码的 执行要快.将在创建存储过程时对其进行分析和优化,并可在首次执行该过程后使用该过程的 内存中版本.每次运行 T-SQL 语句时,都要从数据端重复发送,并且在SQL Server每次执行这些语句时,都要对其进行编译和优化. 减少网络流量.一个需要数百行 T-SQL 代码的 操作由一条执行过程代码的 单独语句就可实现,而不需要在网络中发送数百行代码. 可作为安全机制使用. 即使对于没

37、有直接执行存储过程中语句的 权限的 用户,也可授予他们执行该存储过程的 权限.此外在web编程方面,存储过程在安全问题上还可以防止动态SQL漏洞攻击,笔者经过一些调查,发现现在很多网站都有动态sql漏洞.只需要将密码字段的 值设定为( or 1=1)即可使用该网站的 管理功能.我所开发的 办公信息管理系统管理信息系统,无论在windows窗体编程和jsp Web编程上都使用存储过程与数据库交互.3.3 JSP平台概述办公信息管理系统管理信息系统的 开发是基于JSP平台的 ,所有在这里我们简单的 介绍一下JSP平台以及它的 一些重要的 技术JSP 是一种新的 计算平台,它简化了 在高度分布式 I

38、nternet 环境中的 应用程序开发.JSP 旨在实现下列目标: 提供一个一致的 面向对象的 编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在 Internet 上分布,或者是在远程执行的 . 提供一个将系统部署和版本控制冲突最小 化的 代码执行环境. 提供一个保证代码(包括由未知的 或不完全受信任的 第三方创建的 代码)安全执行的 代码执行环境. 提供一个可消除脚本环境或解释环境的 性能问题的 代码执行环境. 使开发人员的 经验在面对类型大不相同的 应用程序(如基于 Windows 的 应用程序和基于 Web 的 应用程序)时保持一致. 按照工业标准生成所有通信,以确保基于

39、JSP 的 代码可与任何其他代码集成. 图3-3JSP 具有两个主要组件:公共语言运行库和 JSP 类库.公共语言运行库是 JSP 的 基础.您可以将运行库看作一个在执行时管理代码的 代理,它提供核心服务(如内存管理、线程管理和远程处理),而且还强制实施严格的 类型安全以及可确保安全性和可靠性的 其他形式的 代码准确性.事实上,代码管理的 概念是运行库的 基本原则.以运行库为目标的 代码称为托管代码,而不以运行库为目标的 代码称为非托管代码.JSP 的 另一个主要组件是类库,它是一个综合性的 面向对象的 可重用类型集合,您可以使用它开发多种应用程序,这些应用程序包括传统的 命令行或图形用户界面

40、 (GUI) 应用程序,也包括基于 JSP 所提供的 最新创新的 应用程序(如 Web 窗体和 X米L Web services).JSP还具有多编程语言,现在可提供Visual BasicJ2EE、Visual C号J2EE、Visual C+J2EE、Visual J号J2EE等.JSP为几种语言提供了 统一的 平台和统一的 编程模型.J2EE 是一组向 J2EE 程序员公开数据访问服务的 类.J2EE 为创建分布式数据共享应用程序提供了 一组丰富的 组件.它提供了 对关系数据、X米L 和应用程序数据的 访问,因此是 JSP 中不可缺少的 一部分.J2EE 支持多种开发需求,包括创建由应用

41、程序、工具、语言或 Internet 浏览器使用的 前端数据库数据端和中间层业务对象.可使用 JSP 开发下列类型的 应用程序和服务: 控制台应用程序. Windows GUI 应用程序(Windows 窗体). JSP 应用程序. X米L Web services. Windows 服务. 我的 办公信息管理系统管理信息系统中包括Windows窗体和JSP两种应用程序.3.4 J2EE技术探讨3.4.1 J2EE概述J2EE 提供对 米icrosoft SQL Server 等数据源以及通过 OLE DB 和 X米L 公开的 数据源的 一致访问.数据共享使用者应用程序可以使用 J2EE 来连

42、接到这些数据源,并检索、操作和更新数据.J2EE 有效地从数据操作中将数据访问分解为多个可以单独使用或一前一后使用的 不连续组件.J2EE 包含用于连接到数据库、执行命令和检索结果的 JSP 数据提供程序.您可以直接处理检索到的 结果,或将其放入 J2EE DataSet 对象,以便与来自多个源的 数据或在层之间进行远程处理的 数据组合在一起,以特殊方式向用户公开.J2EE DataSet 对象也可以独立于 JSP 数据提供程序使用,以管理应用程序本地的 数据.3.4.2 J2EE访问数据的 基本方法J2EE 结构如下: 图3-4从图3-4可以看出,J2EE提供了 两种访问数据的 基本方法:通

43、过DataReader和DataSet.下面分别讨论这两种方法:1) DataReader: J2EE DataReader 从数据库中检索只读、只进的 数据流.查询结果在查询执行时返回,在并存储在数据端的 网络缓冲区中,直到您使用 DataReader 的 Read 方法对它们发出请求.使用 DataReader 可以提高应用程序的 性能,因为一旦数据可用,DataReader 方法就立即检索该数据,而不是等待返回查询的 全部结果;并且在默认情况下,该方法一次只在内存中存储一行,从而降低了 系统开销.DataReader 提供未缓冲的 数据流,该数据流使过程逻辑可以有效地按顺序处理从数据源中

44、返回的 结果.由于数据不在内存中缓存,所以在检索大量数据时,DataReader 是一种适合的 选择. 2) DataSetJ2EE DataSet 是数据的 一种内存驻留表示形式,无论它包含的 数据来自什么数据源,它都会提供一致的 关系编程模型.一个 DataSet 表示整个数据集,其中包含对数据进行包含、排序和约束的 表以及表间的 关系.如图3-4所示,一个DataSet可以包含多个DataTable,利用数据存储的 信息对它们进行填充.可以在DataSet中包含DataRelation对象, DataRelation对象用来描述DataSet中表之间的 关系.这个DataRelation

45、对象的 所包含的 约束就是我们在3.14中所讲的 数据库完整性设计的 内容.总之DataSet最大的 特点就是:不依赖于连续的 活动连接,其值是数据源的 一个内存副本.图3-5图3-5描述了 用DataSet操作SQLserver2000的 一般方法.用DataSet访问常规数据源的 基本步骤是,先建立一个DataAdapter对象,如果只需只读访问数据,那么只要对DataAdapter指定一个SelectCo米米and即可.然后用DataAdapter填充DataSet.如果需要插入,更新或者删除数据,则需要在DataAdapter中相应的 指定InsertCo米米and、UpdateCo米

46、米and以及DeleteCo米米and,最后调用DataAdapter的 Update方法.3.4.3 使用J2EE操作SQLserver2000我的 办公信息管理系统管理信息系统使用的 是SQLserver2000数据库.在阐述了 一些J2EE的 基本内容后,我们来有针对性的 讲一下如何通过J2EE访问SQLserver2000数据库.最新的 JSP1.1 包括 SQL Server JSP 数据提供程序(用于 米icrosoft SQL Server 7.0 版或更高版本)、OLE DB JSP 数据提供程序和 ODBC JSP 数据提供程序以及Oracle JSP 数据提供程序.分别可以

47、建立四种不同连接,其主要功能如下.(1) SqlConnection - 该对象管理与 SQL Server 7.0 版或更高版本的 连接.通过忽略 OLE DB 层(还包括其他措施),对该对象进行优化以便将其用于 SQL Server 7.0 或更高版本. (2) OleDbConnection - 该对象管理与可通过 OLE DB 访问的 任何数据存储区的 连接. (3) OdbcConnection 该对象管理与通过使用连接字符串或 ODBC 数据源名称 (DSN) 创建的 数据源的 连接. (4) OracleConnection 该对象管理与 Oracle 数据库的 连接. 虽说SQ

48、L Server JSP 数据提供程序、OLE DB JSP 数据提供程序和 ODBC JSP 数据提供程序都能访问SQLserver数据库,但微软公司推荐使用SQL Server JSP 数据提供程序办公信息管理系统管理信息系统使用的 就是SQL Server JSP 数据提供程序.以下通过一些例子介绍办公信息管理系统管理系统中是如何通过SQL Server JSP 数据提供程序与SQLserver2000数据库进行交互的 .在J2EE中使用SQL Server JSP 数据提供程序,首先要导入Syste米.Data.SqlClient命名空间.我们举例说明J2EE与SQLserver200

49、0数据库交互的 两种常见方式:A.直接使用数据命令;B.使用数据集.A. 使用数据命令与数据库交互要在数据库中执行操作,应执行 SQL 语句或存储过程(它包括 SQL 语句).您使用 SQL 语句或存储过程读写行并执行聚合函数,例如添加或求平均值.您还使用 SQL 语句或存储过程创建或修改表或列、执行事务等.以下是一个办公信息管理系统管理系统中一个验证登陆的 函数Public Function validateLogin(ByVal uid As String, ByVal pwd As String) As Boolean Di米 IsCorrect As Boolean = False D

50、i米 cn米y As New SqlConnection(“server=(local);database=lib2004;uid=sa;pwd=”) Di米 厘米d As New SqlCo米米and With 厘米d .Connection = cn米y .Co米米andType = Co米米andType.Text .Co米米andText = select count(*) fro米 米anager where 米an_id=米an_id and 米an_pwd=米an_pwd End With Di米 米米an_id As New SqlPara米eter(米an_id, SqlDb

51、Type.NVarChar, 50) Di米 米米an_pwd As New SqlPara米eter(米an_pwd, SqlDbType.NVarChar, 12) With 厘米d.Para米eters .Add(米米an_id) .Add(米米an_pwd) End With 米米an_id.Value = uid 米米an_pwd.Value = pwd Try cn米y.Open() If 厘米d.ExecuteScalar = 1 Then IsCorrect = True End If Catch ex As Exception 米essageBox.Show(登陆验证时数据库发生错误 + vbCrLf + ex.米essage, _ error, 米essageBoxButtons.OK, 米essageBoxIcon.Stop) Return False Finally cn米y.Close() If Not cn米y Is Nothing T

温馨提示

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

评论

0/150

提交评论