1、 摘要 随着当今企业人员数量不断增加、分工的不断细化、各行业间联系的不断密切。对人事管理的要求也不断提高,实现人事管理自动化,无疑将带来高效率的企业管理。人员是企业生存的主要元素,人员的增减、变动将直接影响到企业的整体运作,企业每天都要涉及到人员工问题。企业员工越多、分工越细、联系越密,所要做的统计工作就越多,人事管理的难度就越大。最初的人事管理采用人工方式,记录量大,易出错。人事管理系统就是用电脑代替大量的人工记录,完成众多信息的处理,方便、准确度高,且可以长期保存。人事管理系统,为个人提供资料查询服务,为企业提供工员分工等服务。旧式的用纸介材料来记录的人工管理方式已不合适现代企业公司的发展
2、了,实现人事管理的系统化、规范化、自动化,将成为现代公司管理人员的首选。本系统基本上能满足现代企业人事管理的需求,人事管理系统中使用各种表格,保存相关的人员信息,方便查询、浏览、修改等操作。工资管理系统的前提是一定要有员工的在职作为基础,在使用的时候一定要保证员工在职的人事信息数据库。本系统是综合人事管理系统。企业人事管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。系统包含的主要功能为查询,修改,删除和添加,对职工的档案,职工工资、职工培训、职工的部门调动、职工奖惩等信息进行管理。本系统采用B/S模式,前台系统开发采用JSP作为开发工
3、具,后台采用SQL Server 2000 作为数据库管理系统。关键词:人事档案;管理信息系统;数据流程Abstract It is an important content of companys management that the Enterprise personnel management system. Increasing with nowadays enterprises personnels quantity , the personnel managements of enterprises become more and more complicated too, if
4、 it can be realized the automation of management of the personnel ,it will undoubtedly bring to administrative department of enterprises very big and convenient.The fund is the main element that enterprises survived, the flow of the fund influences of the whole operation of enterprises ,The personne
5、l of enterprise staffs is an important component of enterprises fund management, because each of enterprise is grant issue of personnel ,staff of enterprise , to involve to want month. Enterprise staff many number have, statistical work of? personnel more, personnel heavy to grant degree of difficul
6、ty.Initial personnel calculation and giving away is artificial way to deal with . In doing heavy work , the wrong rising thereupon of probability too appears. The Enterprise personnel administrative system, offers personnel inquiry service for individual and enterprise personnel calculation.The trad
7、itional paper has lain between the development of the already improper modern enterprise like corporation of information management of data of the materials and realizes personnel systematization ,standardization , automation of management ,so it becomes modern company first-selection to manage pers
8、onnel.This system can meet modern enterprises personnel managements demands basically, use various kinds of forms in the modern personnel administrative system, keep relevant personnel information, convenient to is it operate it to inquire about, browse through, fix etc.Personnel prerequisite of adm
9、inistrative system will certainly have the employees attendance information as the foundation, because the system to use staff attendance information is it calculate personnel of staff to come, must guarantee the staffs personnel information database while using, so this system is chartered Draw tog
10、ether some information processing of the personnel (the staffs attendance, settlement of working time ,etc. The enter price personnel management system is the typical information management system (MIS), its development mainly includes the backstage database the establishment and the maintenance as
11、well as front end the application procedure development two aspects. The system contains the main function is the inquiry, the revision, the deletion and the increase , to staffs file, the staff wages, the staff trains, staffs department transfers, information and so on staff rewards and punishment
12、carries on the management. This system uses the B/S pattern, the onstage system development uses JSP to take the development kit, the backstage uses SQL Server 2,000 to take the database management system.Keywords: Personnel file; Manage the information system; Data process目 录1 绪论61.1 选题目的与意义61.3 项目
13、背景61.4 国内外研究现状71.5 存在的问题81.6 企业人事管理系统的简介91.6.1 系统语言开发环境91.6.2 系统数据库结构及功能分析91.6.3 业务流程102 人事管理系统相关技术理论122.1 B/S架构122.1.1 B/S模式的优点和缺点133.2 Java语言的特点132.2.1 面向对象132.2.2 平台无关性142.2.3 分布式152.2.4 可靠性和安全性153.3 JSP概述162.3.1 JSP应用模型172.3.2 JSP的技术方法182.3.3 JSP原理与优点192.3.4 JSP的弱势213.4 Tomcat212.4.1 MyEclipse 中
14、配置Tomcat服务器222.4.2 Tomcat 连接池223 系统总体结构设计223.1 总体设计的原理223.2 系统功能结构233.3 数据库概念设计253.3.1数据库物理设计274 系统模块具体设计与实现314.1 人员档案模块314.1.1 人员档案模块的功能概述314.1.2 人员档案模块实现334.2 培训管理模块344.2.1 培训管理功能概述344.2.2 培训管理实现过程364.3 医保管理模块374.3.1 医保管理的功能概述374.3.2 医保管理模块的功能实现374.4 工资管理模块384.4.1工资管理模块的功能概述384.4.1工资管理模块的功能实现394.5
15、各模块内部过程描述404.5.1 操作员登录404.5.2人员信息详细查询415 开发总结425.1 系统功能概要425.2 设计中出现的问题42致谢. 44 参考文献451 绪论1.1 选题目的与意义随着社会的进步、随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企人事信息的管理势在必行。人事管理是现代企业管理工作不可缺少的一部分,是适应现企业管理尺度的要求、推动企业劳动人事管理走向科学化、规范化的必要条件。企业人事管理信息系统是一个现代化的企业在竞争中立于不败之地的必要部分,它能够为管理人事工作提供充足的信息和快捷的查询手段。因为人事管理本身是一项琐碎,复杂而又十分细
16、致的工作, 核算的工作量很大,一般不允许出错, 如果使用传统人工的方式管理文件档案,不仅耗费大量的时间和精力,而且工作效率低,保密性差,另外时间过长,将产生大量的文件和数据,这对于查找,更新和维护都带来了不少的困难,而且容易丢失信息。为了能够保证人事信息的准确无误、快速输出,而且还可以利用计算机对有关的各种信息进行统计,例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事工资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 人事管理系统应运而生,成为利用计算机实现企业人事工资管理的基本。利用计算机进行信息控制和数据处理,不仅提高了
17、工作效率,而且大大的提高了其安全性。本系统就是为了管理纷繁复杂的人事档案信息而设计的。 1.3 项目背景 随着信息化社会带给我们的冲击越来越强烈,信息化管理和信息化设备已经深入到我们生活的方方面面,同时,信息时代带给现代企业强烈的冲击,企业管理已经不再满足于在传统的纸质媒体上纪录,而要求更加快速,更加精确的记录企业各部门以及员工的各种信息,而随着基于数据库的网络信息系统的发展,人们已经开始在这个平台上面开发出了成功的企业人事管理系统,而随着企业的不断发展,人事信息的日益庞大,企业人事管理系统的发展也发生着深刻变革,企业决策者要求从系统中了解到目前的人力资源情况,而员工则要求能够即时的查询自己的
18、当前信息1。 企业人事管理系统是当前一个很热门,实用性很强的系统,这里我实现的是它的人员档案管理、培训管理、医保管理和工资管理等模块,把它作为毕业设计的题目,可以把已有的知识用于实践,又可以学到一些新的概念,在这个过程中,可以增加我们的工程经验,对以后的工作学习是一次很有意义的经验积累。该系统主要完成目标是建立一个功能齐全、界面友好、使用方便、能够迅速准确地完成各种人事信息查询、修改等工作。1.4 国内外研究现状企业人事管理是企业管理的一个重要内容,随着时代的进步,企业也逐渐变得庞大起来.如何管理好企业内部员工的信息,成为企业管理中的一个大的问题.在这种情况下,一个可以规范化,自动化的企业人事
19、管理系统就显的非常必要. 最初的人事管理,都是靠人力来完成的.当企业规模比较小的时候,人力可以完成,随着企业的规模越来越大,企业的员工认输也越来越多,依然维持着人力进行人事管理,必然会造成工作效率低,工作错误增高的问题. 六十年代初期,计算机技术就开始应用于数据库的管理,形成了初期的信息系统。但是由于当时计算机硬件系统较弱,限制了软件系统的发展,信息系统只是简单的数据的集合。进入七十年代以后,由于计算机硬件和软件技术的飞速发展,尤其是大容量存储设备硬盘的使用,为空间数据的录入、存储、检索和输出提供了强有力的手段。一些国家先后建立了许多不同专题、不同类型、不同规模的各具特色的信息管理系统。九十年
20、代至今是信息管理系统的用户时代。一方面,信息管理系统已成为许多机构必备的工作系统。另一方面,社会对人事管理系统的认识普遍提高,需求大幅度增加,从而导致信息管理系统应用的扩大与深化。信息管理系统成为现代社会最基本的服务系统。我国的信息管理系统也是九十年代初开始快速发展的。经过十余年的发展,我国的数据库管理技术也广泛的应用与各个领域,并且形成了产业化。但是,我们的工厂、企业对信息管理系统的应用比起世界先进水平还相当落后。国内企业与国外企业在对信息技术的认识和应用水平上存在非常大的差距,主要体现在管理和技术基础方面。国外企业是在基本完成了工业化,企业生产经营实现了现代化、规范化、制度化的基础上开展企
21、业的信息化工作;而我国许多企业工业化尚未完成,企业生产经营的组织也尚未实现现代化、规范化和制度化的基础上就进入了信息化阶段。在技术上,我国企业大部分还没有完成机械化和自动化,实施信息化的时间相对较短,积累的经验也相对少。在我国制造业生产力水平较低、设备水平普遍落后于西方发达国家、企业信息化的基础和经验较少的情况下,实施企业信息化的难度是明显大于国外的企业。虽然我们期望用信息化带动工业化,用信息技术促进企业的跨越式发展,但是必须清楚的看到我国企业在管理意识和水平上还是存在的不足,在实施信息化的工作过程中,正确估计信息化的投资风险和效益,抓好企业信息系统的总体规划、制定良好的分步实施策略,设计一个
22、良好的企业信息化整体解决方案。在制定和实施企业信息化整体解决方案时,要对企业信息化工作有统一的思想和整体的认识,要建立和形成有效的信息系统设计实施方法,从战略的角度来综合考虑企业信息化工作中在管理、技术、操作层面面临的各种困难。如制定和实施企业信息化整体解决方案需要考虑企业面临的长远目标和当前急需解决问题的矛盾、信息孤岛与系统集成问题,需要协调好信息系统建设与系统运行的关系问题、信息系统升级与已有资源利用问题、信息技术的投资效益评估和风险问题、打基础与提升水平关系问题、信息化对企业现行管理模式和方法的冲击以及相应的管理制度问题。1.5 存在的问题企业人事管理是相对企业内部员工的管理。集人员、考
23、勤、工资、员工培训、福利保险、合同管理 、奖惩等于一体的大型管理系统。为企业在人事管理等方面提供极大的方便。不但有利于企业的统一性管理,而且还大在提高了企业的全体员工的工作效率和积极性。企业人事管理可以说是一项琐碎、繁杂而又必须十分细致的工作,是不能允许时常发生差错的。几年前的那种手工操作已远远跟不上近代企业发展的步骤,时代的进步决定了企业的发展,而企业要发展必然完善的管理体系,所以说企业人事管理的自动化完全是时代进步的必然结果。合理的利用有助于企业发展的管理系统是企业改革的一种优越的体现。利用计算机对企业人事管理不仅保证了核算准确度,还成倍的提高了工作效率,而且便于查询。开发目的随着科技日新
24、月异的发展,网络变的更加成熟,人们更加认识到知识的重要性,面对着各个企业这么庞大的人事信息管理,数据库不断地走向成熟,开发出基于C/S结构的关系型的企业人事信息管理系统,系统根据用户不同的使用权限提供查询和打印服务,保存各个员工的档案,实现办公自动化。 因此迫切需要一套自动的信息管理系统来代替人工进行管理。1.6 企业人事管理系统的简介1. 设计该系统的功能模块划分,使用SQL SERVER 2000设计出该系统的数据库。2. 参考现代企业实际管理情况,完成对系统的需求分析及设计文档。 实现对各功能模块代码的编制。3. 根据各模块需求,完成数据库视图和功能的实现。4. 由于整个毕业设计分为两个
25、负责,我要实现的内容为人员档案管理、培训管理、医保管理和工资管理1.6.1 系统语言开发环境 针对目前世界上流行的大量软件和开发工具,经过认真分析其优缺点, JAVA是比较好的关系数据库管理系统开发软件。它提供了可视化的开发平台和面向对象的程序设计方法。大量控件的提供节省了开发工作量,提高了开发的效率,可靠性和安全性高。1.6.2 系统数据库结构及功能分析 本系统使用的是SQL Server 2000数据库,它是一种客户/服务器模式的关系型数据库。它具有很强的数据完整性 、可伸缩性、可管理性、可编程性;具有均衡与完备的功能;性价比较高。SQL Server 2000数据库提供了复制服务、数据转
26、换服务、报表服务,并支持XML语言。使用SQL Server 2000数据库可以大容量地存储数据,并对数据进行合理的逻辑布局,应用数据库对象可以对数据进行复杂的操作。 数据库设计是系统设计过程中的重要组成部分,它是通过管理系统的整体需求而制定的,数据库设计的好坏直接影响到系统的后期开发【1】。 好的数据库结构,查询记录的速度较快,而且也不容易出现锁表现象。经过调查,人事管理工作的业务数据主要包括职工个人档案、部门、职工工作业绩评价。人事管理系统主要是对职工个人信息、工作业绩评价进行管理和数据的统计,要求实现的功能如下。1.员工考勤:按照单位制定的管理制度,为每名员工制定考勤卡,记录考勤信息,便
27、于奖金的发放和违纪人员的处理。2.工资计算:工资计算可分为基本工资计算、考勤、加班奖金计算,以及其他情况计算,汇总为员工工资表,根据员工的职务和工种来确定基本工资,根据出工情况扣除缺勤费,根据加班情况发放津贴,根据医疗保险费用给予报销费用。用户在员工信息管理模块对该员工的工资等级进行输入以后,在工资模块会自动对员工工资进行汇总。用户可以打印出工资汇总表,打印之前可以通过打印预览功能进行打印预览。3.员工信息管理:员工基本信息模块具有员工信息输入、员工增删和员工信息查询三个功能。员工基本信息包括员工号、员工姓名、员工性别、所在部门、所在岗位、工龄和工资等级等信息。员工增删实现了对数据库中员工信息
28、的增加和删除。员工信息查询可以通过员工号或员工姓名对员工信息进行查询。4.退休人员管理:对退休人员的信息进行保存、记录、更改的操作。5.出差管理:用于记录本月内员工出差情况,最后进行汇总,形成出差报表,这些记录是供员工出差补助核算使用的。5.负责人事考核、考查工作。建立人事档案资料库,规范人才培养、考查选拔工作程序,组织定期戒不定期的人事考证、考核、考查的选拔工作。6.负责核定各岗位工资标准。做好劳动工资统计工作,负责对日常工资、加班工资的报批和审核工作,办理考勤、奖惩、差假、调动等工作。1.6.3 业务流程 企业人事管系统的业务流程如图1.1所示。医保管理人员调动添加人员调动信息管理处修改或
29、删除信息添加医保人员信息管理医保人员信息工资管理在工资管理可以查看工资信息和调整人员工资在查询出可以查看到全部人员的工资信息输入账号密码管理员判断密码在修改密码模块修改密码部门管理在部门添加处可以添加部门在部门管理可以修改和删除部门人员档案在添加处可以添加档案信息在管理处可以修改和删除信息在查询处查看档案信息培训管理在添加处添加培训人员在管理处修改和删除人员维护培训管理信息职称变动添加职称变动信息在管理处修改和删除信息添加人员的奖惩信息在管理处修改或删除奖惩退出奖惩管理图1.1 企业人事管理系统业务流程图2 人事管理系统相关技术理论2.1 B/S架构 由于本系统采用的是B/S技术,则这里说明下
30、B/S的功能特点 B/S结构(Browser/Server结构)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能
31、实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、速度快、效果优。随着Internet和WWW的流行,以往的主机终端和CS都无法满足当前的全球网络开放、互连、信息随处可见和信息共享的新要求,于是就出现了BS型模式,即浏览器服务器结构。B/S模式最大特点是:用户可以通过WWW例览器去访问Internet上的文本、数据、图像、动画、视频点播和声音信息,这些信息都是由许许多多的Web服务
32、器产生的,而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中。客户端除了WWW创览器,一般无须任何用户程序,只需从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的Intranet。2.1.1 B/S模式的优点和缺点B/S结构的优点(1)、具有分布性特点,可以随时随地进行查询、浏览等业务处理。(2)、业务扩展简单方便,通过增加网页即可
33、增加服务器功能。(3)、维护简单方便,只需要改变网页,即可实现所有用户的同步更 新。(4)、开发简单,共享性强B/S 模式的缺点(1)、个性化特点明显降低,无法实现具有个性化的功能要求。(2)、操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。(3)、页面动态刷新,响应速度明显降低。(4)、功能弱化,难以实现传统模式下的特殊功能要求。3.2 Java语言的特点Java是一种跨平台,适合于分布式计算环境的面向对象编程语言。具体来说,它具有如下特性: 简单性、面向对象、分布式、解释型、可靠、安全、平台无关、可移植、高性能、多线程、动态性等。2.2.1 面向对象面向对象其实是现实世界模型的自然
34、延伸。现实世界中任何实体都可以看作是对象。对象之间通过消息相互作用。另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例。如果说传统的过程式编程语言是以过程为中心以算法为驱动的话,面向对象的编程语言则是以对象为中心以消息为驱动。用公式表示,过程式编程语言为:程序=算法+数据;面向对象编程语言为:程序=对象+消息。所有面向对象编程语言都支持三个概念:封装、多态性和继承,Java也不例外。现实世界中的对象均有属性和行为,映射到计算机程序上,属性则表示对象的数据,行为表示对象的方法(其作用是处理数据或同外界交互)。所谓封装,就是用一个自主式框架把对象的数据和方法联在一起形成一个整
35、体。可以说,对象是支持封装的手段,是封装的基本单位。Java语言的封装性较强,因为Java无全程变量,无主函数,在Java中绝大部分成员是对象,只有简单的数字类型、字符类型和布尔类型除外。而对于这些类型,Java也提供了相应的对象类型以便与其他对象交互操作。多态性就是多种表现形式,具体来说,可以用“一个对外接口,多个内在实现方法”表示。举一个例子,计算机中的堆栈可以存储各种格式的数据,包括整型,浮点或字符。不管存储的是何种数据,堆栈的算法实现是一样的。针对不同的数据类型,编程人员不必手工选择,只需使用统一接口名,系统可自动选择。运算符重载(operatoroverload)一直被认为是一种优秀
36、的多态机制体现,但由于考虑到它会使程序变得难以理解,所以Java最后还是把它取消了。继承是指一个对象直接使用另一对象的属性和方法。事实上,我们遇到的很多实体都有继承的含义。例如,若把汽车看成一个实体,它可以分成多个子实体,如:卡车、公共汽车等。这些子实体都具有汽车的特性,因此,汽车是它们的“父亲”,而这些子实体则是汽车的“孩子”。Java提供给用户一系列类(class),Java的类有层次结构,子类可以继承父类的属性和方法。与另外一些面向对象编程语言不同,Java只支持单一继承。2.2.2 平台无关性Java是平台无关的语言是指用Java写的应用程序不用修改就可在不同的软硬件平台上运行。平台无
37、关有两种:源代码级和目标代码级。C和C+具有一定程度的源代码级平台无关,表明用C或C+写的应用程序不用修改只需重新编译就可以在不同平台上运行。Java主要靠Java虚拟机(JVM)在目标码级实现平台无关性。JVM是一种抽象机器,它附着在具体操作系统之上,本身具有一套虚机器指令,并有自己的栈、寄存器组等。但JVM通常是在软件上而不是在硬件上实现。(目前,SUN系统公司已经设计实现了Java芯片,主要使用在网络计算机NC上。另外,Java芯片的出现也会使Java更容易嵌入到家用电器中。)JVM是Java平台无关的基础,在JVM上,有一个Java解释器用来解释Java编译器编译后的程序。Java编程
38、人员在编写完软件后,通过Java编译器将Java源程序编译为JVM的字节代码。任何一台机器只要配备了Java解释器,就可以运行这个程序,而不管这种字节码是在何种平台上生成的。另外,Java采用的是基于IEEE标准的数据类型。通过JVM保证数据类型的一致性,也确保了Java的平台无关性。Java的平台无关性具有深远意义。首先,它使得编程人员所梦寐以求的事情(开发一次软件在任意平台上运行)变成事实,这将大大加快和促进软件产品的开发。其次Java的平台无关性正好迎合了“网络计算机”思想。如果大量常用的应用软件(如字处理软件等)都用Java重新编写,并且放在某个Internet服务器上,那么具有NC的
39、用户将不需要占用大量空间安装软件,他们只需要一个Java解释器,每当需要使用某种应用软件时,下载该软件的字节代码即可,运行结果也可以发回服务器。目前,已有数家公司开始使用这种新型的计算模式构筑自己的企业信息系统。2.2.3 分布式分布式包括数据分布和操作分布。数据分布是指数据可以分散在网络的不同主机上,操作分布是指把一个计算分散在不同主机上处理。Java支持WWW客户机/服务器计算模式,因此,它支持这两种分布性。对于前者,Java提供了一个叫作URL的对象,利用这个对象,你可以打开并访问具有相同URL地址上的对象,访问方式与访问本地文件系统相同。对于后者,Java的applet小程序可以从服务
40、器下载到客户端,即部分计算在客户端进行,提高系统执行效率。Java提供了一整套网络类库,开发人员可以利用类库进行网络程序设计,方便得实现Java的分布式特性。2.2.4 可靠性和安全性Java最初设计目的是应用于电子类消费产品,因此要求较高的可靠性。Java虽然源于C+,但它消除了许多C+不可靠因素,可以防止许多编程错误。首先,Java是强类型的语言,要求显式的方法声明,这保证了编译器可以发现方法调用错误,保证程序更加可靠;其次,Java不支持指针,这杜绝了内存的非法访问;第三,Java的自动单元收集防止了内存丢失等动态内存分配导致的问题;第四,Java解释器运行时实施检查,可以发现数组和字符
41、串访问的越界,最后,Java提供了异常处理机制,程序员可以把一组错误代码放在一个地方,这样可以简化错误处理任务便于恢复。由于Java主要用于网络应用程序开发,因此对安全性有较高的要求。如果没有安全保证,用户从网络下载程序执行就非常危险。Java通过自己的安全机制防止了病毒程序的产生和下载程序对本地系统的威胁破坏。当Java字节码进入解释器时,首先必须经过字节码校验器的检查,然后,Java解释器将决定程序中类的内存布局,随后,类装载器负责把来自网络的类装载到单独的内存区域,避免应用程序之间相互干扰破坏。最后,客户端用户还可以限制从网络上装载的类只能访问某些文件系统。上述几种机制结合起来,使得Ja
42、va成为安全的编程语言。3.3 JSP概述JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入JAVA程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问
43、存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规
44、范的征求意见稿也已出台。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向英特网的所有特点。2.3.1 JSP应用模型利用JSP技术,动态信息由JSP页面来表现,JSP页面由安装在Web服务器或者使用JSP的应用服务器上的JSP引擎执行。JSP引擎接受客户端对JSP页面的请求,并
45、且生成JSP页面作为对客户端的响应。JSP页面通常被编译成为Java Servlets,这是一个标准的Java扩展。页面开发人员能够访问全部的Java应用环境,以利用Java技术的扩展性和可移植性。当JSP页面第一次被调用时,如果它还不存在,就会被编译成为一个Java Servlets类,并且存储在服务器的内存中。这就使得在接下来的对该页面的调用中,服务器会有非常快的响应(这避免了CGIBIN为每个HTTP请求生成一个新的进程的问题)。JSP页面可以包含在多种不同的应用体系结构或者模型中,可以用于由不同协议、组件和格式所组成的联合体中。基于JSP的动态信息发布技术是一个开放的、可扩展的建立动态
46、Web页面的标准。不论采用什么创建工具,开发人员都可以使用JSP页面来创建可移植的Web应用,在不同的Web应用服务器上运行。2.3.2 JSP的技术方法为了快速方便地进行动态网站的开发,JSP在以下几个方面做了改进,使其成为快速建立跨平台的动态网站的首选方案。1.将内容的生成和显示进行分离用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。由于核心
47、逻辑被封装在标识和JavaBeans中,所以Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这既有助于作者保护自己的代码,又能保证任何基于HTML的Web浏览器的完全可用性。2.可重用组件绝大多数JSP页面依赖于可重用的、跨平台的组件(JavaBeans或者Enterprise JavaBeans组件)来执行应用程序所要求的复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者和客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。3.采用标识Web页面开发人员不会都是熟悉脚本语言的编程