1、 目 录摘 要IABSTRACTII目 录III前 言VI第一章 绪论11.1 系统的研究意义11.2 研究现状及设计目标21.2.1 相近研究课题的特点及优缺点分析21.2.2 现行研究存在的问题及解决办法3第二章 运用技术及开发工具介绍42.1 Struts2技术的简介42.2 Hibernate技术的简介72.3 Spring技术的介绍82.4 B/S模式的介绍及应用92.4.1 什么是B/S模式92.4.2 B/S模式的优点92.5 开发工具的选择102.5.1 MyEclipse介绍与应用102.5.2 Tomcat介绍10第三章 系统设计113.1 总体设计113.2 数据库设计1
2、23.2.1 数据库的需求分析123.2.2 数据库表的具体设计123.3 具体功能设计143.3.1 功能设计143.3.2 具体设计143.4 开发架构143.5 数据持久层163.5.1 持久化数据163.5.2 持久化技术17第四章 详细设计194.1 操作文件总体架构194.1.1 管理员操作模块设计194.1.2 招聘管理模块设计234.1.3 培训管理模块设计264.1.4 奖惩管理模块设计274.2 文件架构图304.2.1 人力资源管理系统架构图304.2.2 管理员管理架构图304.2.3 奖惩文件架构图314.2.4 培训管理架构图314.2.5 招聘管理文件架构图314
3、.3 技术难点324.3.1 中文乱码324.3.2 HQL语言324.3.3 安全性32第五章 系统测试325.1 测试的定义及目的335.2 测试的原则335.3 测试的方法335.3.1 界面测试335.3.2 功能测试345.3.3 需求测试345.3.4 性能测试355.4 测试中其他要注意的地方355.5 人力资源管理系统的测试35结 论36致 谢37参考文献38摘 要随着计算机的普及和计算机科学技术的飞速发展,人们开始越来越多地利用计算机解决实际问题。员工信息管理是企业信息管理的重要部分,面对大量的人事信息,采用人力处理即浪费时间、又浪费人力和物力,并且数据的准确性低。因此,开发
4、一个界面友好,易于操作的人事信息管理软件进行自动化处理变得十分重要,这正是本系统开发的目的和意义。本文所阐述的人事信息管理系统,以浏览器/服务器模式高效地实现了人事信息管理系统的各项功能,可进行多条件查询、更新、密码设置、工资和奖金的统计发放等功能。提升了企业的效率和竞争力,满足了现代企业管理的需要。 JSP继承了所有Java语言的特点,而且发展前景十分的广阔,因此本项目才用JSP语言作为根本,选用经典的Struts作为开发架构,在数据持久层方面则使用了Hibernate。关键词:互联网;JSP;人力资源AbstractAlong with the universality and fast
5、development of the computer sicince, people have being used the computer to resolve more and more practical problems.Employee information management is an important part of the business enterprise information management,with a great deal of of personnel information,using manpower processing takes a
6、lot of time,wastes manpower and material resources,and make the data unaccuracy.So it is very important to develop a humam resource management software,which has an friendly interface,and is easy to operate,the purpose and meaning of this system development lies in that.This text elaborates the mana
7、gement system of human resource,using browser/server mode efficiently to realize the each item function of the human resource management system,it can carry on many actions such as condition search, renewal, password constitution, wages and cash award of statistics issue and so on,which promotes eff
8、iciency and competition ability of business enterprise,and satisfied the demand of the managment of a modern business enterprise.The JSP inherittes all characteristics of The Java language, and has a vast develepment foreground , so this item just use Jsp language as the root, the classic Struts as
9、the development structure, and Hibernate as the data layer.Keywords:Word Wide Web;JSP;HR前 言全球范围内的企业内部组织正在发生巨变,未来企业成功的关键依靠企业人事信息,人才之争已经成为市场竞争中的核心内容之一,以人为本成为企业立足和发展的根本。有效力管理企业的人事信息,为企业提供强有力的储备力量,使之成为企业发展的主动力。通过人事信息的有效管理,掌握最新的、准确的企业人事信息,并对其进行复杂的统计与分析,从而充分发挥每个员工的潜能,为企业创造更大的价值。对于任何一个企业而言,企业的品牌形象至关重要。 特别是
10、对于互联网技术高度发展的今天,通过人事信息管理的网站,员工可通过网站侧面地了解企业形象及企业实力,因此,建立具有国际水准的网站能够极大的提升企业在员工心中的整体形象。任何一个企业都是有很多元素组成的,其中员工的各种信息更是可以一日千变,这种“繁琐”事情要是有手工来一点一点记录的话,不仅出错的几率比较大,而且查找,添加,修改都是很麻烦的事。一个员工在公司可能享有很多的待遇或是福利之类,还有员工也分成新员工和老员工,这些复杂的信息参杂在一起的时候会显得很乱,而且招聘,以及培训计划等都是很琐碎的事。许多人知道,一个公司的所有和员工有关的运作,包括加薪,出差,请假,人员的调动,离任等等都由人事信息部门
11、来完成,如果是一家拥有上千人的大型企业,这个工作量是相当惊人的。因此本系统的开发,大大缓解了该部门的工作压力,也避免了以前人工作业的错误几率。总结上述几点,本项目目标可总结如下:帮助企业建立有效的企业形象宣传、企业风采展示、打造企业新形象;增加员工间竞争机制,鼓舞大家工作积极性;采取电脑管理人的方法,为企业节省人力,物力。充分考虑到在人事信息管理中可能遇到的种种问题,尽量全面的做好需求分析,以减少日后更新软件的次数。建立适合企业自身需求的网络平台,提供广泛的涵盖用户多种需求的功能,数据处理方式灵活以满足需求,节省网站建设成本,并确保其较好的拓展性和开放性;同时网站具有基于WEB界面的管理后台,
12、能够自主的对网站中大部分内容作更新、修改操作,节省了企业网站的运营成本,提高了信息更新、传播效率。网站的整体规划及框架设计是具可扩充性的,前台页面的设计能保证网站在增加栏目后不会破坏网站的整体结构。后台数据库的设计具有高度的扩充性,能够根据需要对栏目、类别的增、删、修改。38第一章 绪论1.1 系统的研究意义网络化的今天,网络人力资源管理系统,使新的人事信息协作管理模式成为可能。通过网络管理系统,专门的人事信息管理人员可以提高自身的工作效率,作好人事信息管理的协调工作,提高人事信息利用率;通过网络管理系统,员工可以直接管理自己的技能,有效地发现和挖掘自身的潜能,及时与自己的上级、下属、同事进行
13、沟通与交流,同心协作,积极为企业的发展与决策贡献力量。通过网络人事信息管理系统对企业人事信息进行管理,使企业人事信息管理适应时代的发展要求,大大提高了企业的核心竟争力。随着科学技术的不断提高,计算机科学技术日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对企业单位的各项信息进行管理,具有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高工作的效率,也是企业的科学化、正规化管理的重要条件。人力资源管理是指一个组织为有效利用其人力资源而进行的活动。
14、这些活动包括:制定企业的人力资源管理战略和人力资源计划,并在其指导下,进行人员安排、业绩评定、员工激励、管理培训及决定报酬和劳资关系等。人力资源管理是在20世纪中叶逐渐由人事管理转化而来,历经半个多世纪的发展,其功能经历了上升的过程,人力资源管理对小企业发展极为重要。(1)环境激烈变化需要小企业加强人力资源管理。加入、国际巨头的抢滩中国行动、各种新兴商业形态的涌现、商业企业的重组、电子商务与网络时代的到来,对于国内的小企业而言,无疑是迎来了新一轮的挑战与机遇。在这新一轮的企业竞赛中,不从构筑人力资源竞争力入手,企业将很难取得独创与速度的优势。在新的经济形势下,中国的小企业不可避免地被推向全球的
15、经济架构中,在硬、软件的更新与提升中,商品、资本和技术相对较为容易与全球接轨,惟有在人力资源的提升上,没有近路可走。(2)人力资源竞争力是企业的核心竞争力所谓核心能力是指内部一系列互补的技能和知识的结合,它具有使一项或多项业务达到竞争领域一流水平的能力。它具有价值优越性、异质性、难模仿性、不可交易性与难替代性。随着中国加入,小企业面临更多的机遇和挑战,可以直接参与国际竞争,而国际产品也进入国内市场,能否在竞争日趋激烈的环境中生存和发展,关键在于企业是否具备核心竞争力,而核心竞争力来自于企业中的众多资源之一人力资源。人力资源是企业组织生存发展的命脉,任何企业的发展都离不开优秀的人力资源和人力资源
16、的有效管理,小企业更是如此。寻找人才、留住人才、发展人才,为企业保持强劲的生命力和竞争力,为实现企业的远景及目标提供有力的人才支持对小企业相当重要。(3)人力资源战略是企业战略成功实施的保障企业战略着眼于未来,人力资源战略与经营战略、成本战略、产品战略、研发战略一样,是一种非常重要的职能战略。企业的任何战略目标的完成,都离不开人力资源战略的配合。人力资源战略是预测未来的组织任务和环境对组织的要求,以及为了完成这些任务和满足这些要求而设计的提供人力资源管理的过程,它要求通过收集和利用信息对人力资源活动中的资源使用活动进行决策。对于一个企业来说,人力资源规划的实质是根据企业经营方针,通过确定企业人
17、力资源来实现企业的目标。制约小企业发展的真正瓶颈是行之有效的人力资源管理,如果忽视被称为“世纪第一大资源”的人力资源的管理,小企业的兴盛繁荣将只是表象,它的发展和壮大也将可望而不可及。只有搞好人力资源管理才能更有好的实现小企业的战略目标。 认清了人力资源在小企业中的重要性后,就要去发觉当前我国小企业中人力资源的现状和问题,以便做出好的对策。1.2 研究现状及设计目标1.2.1 相近研究课题的特点及优缺点分析我国小企业的主要特点是量大、面广、起点不高,多集中于劳动密集型产业。面对新世纪全球经济一体化和国内经济转型的两大挑战,其发展的核心问题一是人才,二是人才,第三还是人才。人才缺乏,尤其是高素质
18、的管理人才和高水平的技术人才的缺乏已严重制约了我国小企业的健康发展。因此,要把普遍提高小企业劳动者素质,建设一支宏大的、高素质人才队伍,培养、吸引和用好人才作为促进小企业发展的一项重大战略任务。我们要先对我国小企业人力资源的现状进行一定的了解,对其存在的问题进行一定的分析。我国小企业人力资源的现状据国家中小型企业发展战略研究中心的一项问卷式调查显示:在接受调查的156家企业中,具有大专及以上学历人员共计4235人,占全部企业总人数的9.6,其中,技术人员大专及以上学历人员有2097人,管理人员有1792人,两者合计3889人,占企业大专以上学历人员总数的91.8。(1)结构不合理。企业内人员过
19、剩与人才短缺的矛盾同时并存。在上述的调查中,共计有各类人员44246人,其中,管理人员,5064人,占总人数的11.5;技术人员4489人,占总人数的10.2;熟练工人23185人,占总人数的52.4;一般工人11509人,占总人数的26。企业的高素质管理人才和高水平科技人才存在较大缺口,一般人员过剩。(2)人才流失严重。人才一部分流向海外,我国仅在美国的本科以上的各类专业人才已达45万人;一部分流向国内的外企,外企以其优厚的待遇和科研环境的优势以及科学高效的人才管理方式,大量吸纳国内人才;一部分流向经营好的大型内企。人才的缺乏已严重制约了我国小企业的健康发展。企业要构建一个人情味浓的集体,做
20、到关心人、爱护人、理解人、尊重人,倡导团结、向上、拼搏的团队精神,努力营造一个良好的工作环境,使员工在良好的文化氛围中工作得心情愉快,对企业产生向心力、凝聚力。以此吸引人才为企业倾心效力。美国摩托罗拉在这方面树立了典范。摩托罗拉人事部门的工作人员经常参加雇员的生日及各种聚会,倾听他们的意见,向管理层反映员工所关心的问题,企业上下建立了开诚布公、互相尊重、关心、协作的关系。良好的文化氛围,使企业积聚了许多优秀人才和忠实于企业的员工。1.2.2 现行研究存在的问题及解决办法 (1)聘用人员变更机制很多中小企业的管理人员和核心人员常常是凭借人际关系,而不是凭借自己的专业知识和技术能力进去的。而企业在
21、遵循“能者上、平者留、庸者下”这一人事变更原则时不尽合理,其人事变动的依据与员工的业绩关联度不强,受外来因素影响较大,如在一些私人小企业中,“任人唯亲”的现象较严重,这使得一部分远离企业核心层的优秀员工难以发挥其才能;在国有中小型企业,“论资排辈”的现象比较严重,大量的平庸之辈占据着关键岗位,致使优秀的员工晋升机会不大,晋升周期过长,这将造成大量的优秀员工流失。大多数企业没有配备专职的人力资源管理人员,甚至有的企业还在沿袭传统的一些做法,使人力资源部门在某种意义上,成为一些特殊人员的“安置所”。在一些小企业,往往随便安排一位技术人员,或者是将不适合某一岗位的人暂且调动到人力资源部来从事所谓“人
22、力资源管理”。严格来说,目前中国尚没有一批现代的“人力资源部”经理人才队伍。(2)绩效评估与报酬管理制度我国的小企业由于产权关系模糊,员工的责、权、利不相统一,导致绩效评估标准及过程不合理,而报酬管理制度上也偏重传统的物质激励,忽视非物质激励,这些都使得优秀的人员在今后的工作中难以发挥其才能,造成企业人力资源的浪费,给企业的发展带来隐患。在分配制度上仍普遍存在着平均主义,企业的高、中、低级人才的收入差距很小,人才的劳动价值得不到合理的体现,使得人心不稳,大量优秀人才流失。(3)建立合理的人才引用和变更制度,建造优质的人力团对于新进人才进行公开招聘,建立公开、公平、公正的外部招聘制度,包括填写统
23、一的申请表,参加统一的笔试、面试和绩效模拟测试;对于现有人才,实行优化组合,竞争上岗,并定期考核;在相同或不同岗位上,人员可以自由流动,做到人员的最优化配置。(4)制定有利于企业战略发展和员工自我实现的人力资源规划力资源规划就是为了满足变化中的企业对人力资源的需求,最大限度地开发利用企业员工的潜能,使企业和员工的需要都得到满足,根据企业的发展战略和经营目标,通过分析企业人力资源的外部机遇与威胁以及内部优势和劣势,制订必要的人力资源政策和措施。人力资源规划首先要开展调研工作,摸清企业决策和经营环境以及企业内外部人力资源的状况。在调研的基础上,对企业人力资源需求与供给进行分析,预测企业人力资源的需
24、求和供给的数量、质量和层次结构。进而制订人力资源理与开发的总体计划和业务计划。最后,对人力资源计划的执行过程进行监督和评价,确保企业整体目标的实现。(5)建立多样化的激励机制完善激励机制市场的竞争要求企业在努力寻求、招聘优秀人才的同时,千方百计稳定住企业的核心员工,防止人才流失,充分发挥员工的积极性。员工的工作动力来源于自身需要的满足程度。人的需要是多样化的,因此激励的措施也应该是多样化的。(6)建立完善的绩效评估和约束机制建立一套客观有效的业绩指导、业绩评价和业绩辅导改进体系,可以准确评价员工的各种表现,并以此建立与之相适应的各种激励制度、人员培训与开发计划、人员进退升迁制度和形成相应的流程
25、程序等。第二章 运用技术及开发工具介绍2.1 Struts2技术的简介什么是Struts2?虽然Struts2号称是一个全新的框架,但这仅仅是相对Struts 1而言。Struts 2 与Struts 1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。从某种程度上来讲,Struts2没有继承Struts 1的血统,而是继承WebWork的血统。或者说,WebWork衍生出了Struts2,而不是Struts 1衍生了Struts2.因为Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好
26、的保证:而且吸收了Struts 1和WebWork两者的优势,因此,是一个非常值得期待的框架。Apache Struts2是一个优雅的,可扩展的JAVA EE web框架。框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。Apache Struts 2即是之前大家所熟知的WebWork 2.在经历了几年的各自发展后,WebWork和Struts社区决定合二为一,也即是Struts 2。Struts2和Struts1的不同(1)Action 类:Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口。Struts 2 Action
27、类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去实现 常用的接口。Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象。(2)线程模式:Struts1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求。单例策略限制了Struts1 Action能作的事,并且要在开发时特别小心。Action资源必须是线程安全的或同步的。Struts2 Action对象为每一个请求产生一个实例,因此没有线程安全问题。(实际上,serv
28、let容器给每个请求产生许多可丢弃的对象,并且不会导致性能和垃圾回收问题)(3)Servlet依赖:Struts1 Action 依赖于Servlet API ,因为当一个Action被调用时HttpServletRequest 和 HttpServletResponse 被传递给execute方法。Struts 2 Action不依赖于容器,允许Action脱离容器单独被测试。如果需要,Struts2 Action仍然可以访问初始的request和response.但是,其他的元素减少或者消除了直接访问HttpServetRequest 和 HttpServletResponse的必要性。(
29、4)可测性:测试Struts1 Action的一个主要问题是execute方法暴露了servlet API(这使得测试要依赖于容器)。一个第三方扩展Struts TestCase提供了一套Struts1的模拟对象(来进行测试)。Struts 2 Action可以通过初始化、设置属性、调用方法来测试,“依赖注入”支持也使测试更容易。(5)捕获输入:Struts1 使用ActionForm对象捕获输入。所有的ActionForm必须继承一个基类。因为其他JavaBean不能用作ActionForm,开发者经常创建多余的类捕获输入。动态Bean(DynaBeans)可以作为创建传统ActionFor
30、m的选择,但是,开发者可能是在重新描述(创建)已经存在的JavaBean(仍然会导致有冗余的javabean)。Struts 2直接使用Action属性作为输入属性,消除了对第二个输入对象的需求。输入属性可能是有自己(子)属性的rich对象类型。Action属性能够通过web页面上的taglibs访问。Struts2也支持ActionForm模式。rich对象类型,包括业务对象,能够用作输入/输出对象。这种ModelDriven 特性简化了taglib对POJO输入对象的引用。(6)表达式语言:Struts1 整合了JSTL,因此使用JSTL EL.这种EL有基本对象图遍历,但是对集合和索引属
31、性的支持很弱。Struts2可以使用JSTL,但是也支持一个更强大和灵活的表达式语言Object Graph Notation Language (OGNL)。(7)绑定值到页面(view):Struts 1使用标准JSP机制把对象绑定到页面中来访问。Struts 2 使用 ValueStack技术,使taglib能够访问值而不需要把你的页面(view)和对象绑定起来。ValueStack策略允许通过一系列名称相同但类型不同的属性重用页面(view)。类型转换:Struts 1 ActionForm 属性通常都是String类型。Struts1使用Commons-Beanutils进行类型转换
32、。每个类一个转换器,对每一个实例来说是不可配置的。Struts2 使用OGNL进行类型转换。提供基本和常用对象的转换器。校验: Struts 1支持在ActionForm的validate方法中手动校验,或者通过Commons Validator的扩展来校验。同一个类可以有不同的校验内容,但不能校验子对象。Struts2支持通过validate方法和XWork校验框架来进行校验。XWork校验框架使用为属性类类型定义的校验和内容校验,来支持chain校验子属性Action执行的控制:Struts1支持每一个模块有单独的Request Processors(生命周期),但是模块中的所有Actio
33、n必须共享相同的生命周期。Struts2支持通过拦截器堆栈(Interceptor Stacks)为每一个Action创建不同的生命周期。堆栈能够根据需要和不同的Action一起使用。Struts2的工作流程图图2-1 工作流程图工作流程当接收到一个httprequest Interceptor做一些拦截或者初始的工作当外部的httpservletrequest到来时初始到了servlet容器 传递给一个标准的过滤器链ActionContextCleanUp这个在集成插件方面非常有用Other filters(SitMesh,etc)调用FilterDispatecher会去查找相应腁ctio
34、nMapper如果找到了相应的ActionMapper它将会将控制权限交给ActionProxy ActionProxy将会通过ConfigurationManager来查找配置struts.xml下一步将会 通过ActionInvocation来负责命令模式的实现(包括调用一些拦截Interceptor框架在调用action之前)一旦action返回,会查找相应的Result Result类型可以是 jsp或者freeMark 等这些组件和ActionMapper一起返回给请求的url(注意拦截器的执行顺序)响应的返回是通过我们在web.xml中配置的过滤器如果ActionContextCl
35、eanUp是当前使用的,则FilterDispatecher将不会清理sreadlocal ActionContext如果ActionContextCleanUp不使用,则将会去清理sreadlocals。2.2 Hibernate技术的简介Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架
36、构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和 Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五的核心接口分别加以介绍。 (1)Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpS
37、ession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSesion对象称为用户session。 (2)SessionFactory接口:SessionFactroy接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。 (3)Configuration接口:Configurat
38、ion接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。 (4)Transaction接口:Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。 (5)Query和Criteria接口:Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。2.3 Spring技术的介绍Spring是一个开源框架,它由Rod Johnson创建。
39、它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 轻量从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。 控制
40、反转Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。 面向切面Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的完成业务逻辑仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。 容器Spring包含并管理
41、应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。 框架Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。 所有Spring的这些特征使你能够编写更干净、更可管理、并且更
42、易于测试的代码。它们也为Spring中的各种模块提供了基础支持。2.4 B/S模式的介绍及应用2.4.1 什么是B/S模式本系统采用B/S模式。B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络
43、应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。2.4.2 B/S模式的优点(1) 维护和升级方式简单目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点的单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回
44、奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。 (2) 成本降低,选择更多大家都知道windows在桌面电脑上几乎
45、一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。比如说很多人每天上“网易”网,只要安装了浏览器就可以了,并不需要了解“网易”的服务器用的是什么操作系统,而事实上大部分的服务器实没有使用windows操作系统,但用户的电脑
46、本身安装的大部分是windows操作系统。2.5 开发工具的选择2.5.1 MyEclipse介绍与应用MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,SQL,Hibernate。在结构上,MyEclipse的特征可以被分为7类: 1 JavaEE
47、模型 2 WEB开发工具 3 EJB开发工具 4 应用程序服务器的连接器 5 JavaEE项目部署服务 6 数据库服务 7 MyEclipse整合帮助 对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错。2.5.2 Tomcat介绍Jakarta Tomcat 服务器是一种Servlet/JSP容器。Servlet是一种运行在支持Java语言的服务器上的组件。 当客户请求访问某个Servlet时,Servlet容器将创建一个ServletRequrst对象和ServletResponse对象。在ServletRequest对象中封装了客户请求信息,然后Servlet容器把ServletRequest对象和ServletResponse对象传给客户所请求的Servlet。S