Web应用程序设计

2024-06-09

Web应用程序设计(共12篇)

Web应用程序设计 篇1

1. 前言

随着网络技术的高速发展, Web应用程序技术取得了迅速的发展, 为人们的生活、工作提供了大量的服务。但是, 从另一个方面分析, Web技术所带来的安全问题也变得越来越突出。而且, 通过数据的统计分析可以发现, 目前大部分的Web站点安全性都较低, 很容易遭受到恶意的攻击。由于重视程度不够的缘故, 在网络上的大部分投资都只是应用在各种硬件的配置上, 很少有人真正的去关注网络安全, 更没有真正去采取措施保证Web应用程序的安全。这不仅给网络黑客以可乘之机, 也给整个网络的安全带来了隐患。因此, 需要人们在网络信息化大发展的同时, 更加关注网络信息的安全, 尤其是Web应用服务的安全。这里我们分析了Web应用程序的安全现状, 并在此基础上提出了Web应用的一些比较实用的安全防护措施。

2. Web应用程序的安全现状分析

漏洞是指各种应用服务在安全方面的弱点, 这些弱点就成为了一些恶意用户攻击的目标。正是由于这些漏洞的存在, 才使得黑客可以通过各种攻击方式, 获取网络用户的私人信息或者破坏其他用户的文件内容。下面我们列举一些容易被作为漏洞的行为。

2.1 用户密码设置简单

密码是相当于一把能够进入计算机系统的钥匙。如果被人窃取, 那么任何人就都有可能进入这个计算机系统。显然, 密码是非常重要的, 但是, 用户往往对其不太重视, 使用生日或者姓名等作为密码。这种形式的密码极易被破解, 从而造成网络应用的不安全。

2.2 错误的软件配置

软件配置错误极易引起系统受到攻击。例如, 如果一个服务被配置的安全级别过低, 那么可能很多人都可以很轻易的进出本地系统。

2.3 数据传输未加密

基本上多有的WEB应用程序都需要处理用户和服务器之间的信息交流。如果这些交流的信息都是以明文方式传输, 那么这些数据就有可能在传输的过程中被窃取和攻击。

2.4 缓冲区溢出

缓冲区溢出是指写入缓冲区中的数据超过了其设计之初所能容纳的数据。这可能会造成应用程序以及操作系统的崩溃, 使得攻击者可以通过读取错误消息来发现更多的漏洞。

3. Web应用程序的安全防护

3.1 进行输入验证

合理的输入验证方法是保障Web应用程序安全的一个有效方法, 这种方法可以有效预防缓冲区溢出、SQL注入以及其他输入性攻击问题。可以按照如下方法对Web应用程序的输入验证进行增强。

(1) 首先假定所有的输入都是恶意攻击行为, 除非已知它们无恶意。除此之外, 所有的来源不在可信任范围之内的登录, 都要进行输入验证。

(2) 需要注意的是不要过分依赖客户端的验证。应该同时使用服务器端进行自身验证。

(3) 对输入采取相应的限制、净化措施。应用程序设计的开始就要充分了解应用程序的输入内容。通过与潜在恶意输入相比, 以提前进行恶意限制。

3.2 进行身份验证

身份验证是要确定调用方的身份。可以通过以下做法进行Web应用程序的身份验证:

(1) 将站点趋于分成公共和受限区域。其中公共区域可以被任何用户访问, 而受限的区域只能被特定用户访问, 而且用户需要进行站点身份验证。

(2) 锁定最终用户的账户。一旦发现某些账户进行重复登录而且屡次失败, 就应当及时对该账户进行禁用。

(3) 对密码设定一定的有效期。用户的密码不能长期固定不变, 这样容易被恶意破解。所以要进行常规的维护, 给每个密码设定一个固定的有效期, 一旦超过期限, 就需要强制用户修改密码。

(4) 最好不要在用户的存储设备中存储账户密码。对于密码的验证问题, 可以采用单项验证, 使用哈希值进行存储, 对于真正的密码不需要存储。这样可以有效减少用户存储数据的威胁。

(5) 在网络上最好不要使用纯文本格式进行密码的传送。这样极容易被网络黑客进行窃听。而且被攻击率很高。因此, 可以使用数据加密文件进行传输, 这样才能保证数据信息的安全。

3.3 进行授权

要对不停的操作或者数据访问需求进行授权的确定, 这样可以更好的保证数据不被恶意攻击人员接触。如果验证发生错误或者授权安全级别较低, 就会造成数据信息的泄露和丢失。因此, 要加强对应用程序进行授权的安全防护。

(1) 进行多重监听策略。在客户端和服务器端, 都可以使用IP安全协议的策略进行数据信息安全的防护, 这样可以有效限制服务器之间的不良通信。这样的话, 不管用的身份如何, 客户端都会根据Web权限设置进行对安全的防护。如果发现客户权限不足, 就应该立即禁止其的登录和访问行为。如果将这些防护方法综合起来进行, 就可以起到事半功倍的效果, 从而制定出更加有效的安全策略。

(2) 适当对用户对系统资源的访问进行限制。系统资源包括文件、注册表项、文件夹、事件日志等。可以使用Windows的访问控制列表对用户的访问权限以及执行哪些操作进行一定程度的限制。尤其要对特别注意使用匿名账户的用户, 要使用特殊规则对这些用户进行锁定, 防止这些匿名账户访问资源或者使用计算机或者网络应用程序。

3.4 重点关注重要的敏感数据

网络中存在大量的敏感信息, 对于用户的财务或者个人安全都有重要作用, 例如信用卡账号、密码、家庭地址或者病例档案信息等用户的私人数据。要对使用这些数据的应用程序采取特殊的步骤进行处理, 以保证这些数据的安全保密, 并且不允许对这些数据的相应修改。除此之外, 对于实现应用程序阶段所使用的机密数据也必须采取特定的措施进行保护。

3.5 对网络信息数据采用一定的方法进行加密

要对信息的传递采用一定的加密方法。常用的基本加密方法可以对数据的安全提供更为全面的安全保障。

更保密:可以保证数据信息的安全不被泄露。

真实性:对于一些用户可能拒绝发送的特定消息采取限制, 要求用户必须发送。

完整性:可以有效防止数据信息被不明身份人员修改。

进行身份验证:可以用来确认消息发送方的身份。

3.6 进行审核和记录工作

应该对跨应用层活动进行定期的审核和记录。日志的目的是为了跟踪监测有可疑迹象的活动行为。这种操作可以及时的发现可能攻击的对象和源头, 并解决事后问题的进一步处理工作, 即用户拒绝承认其行为的问题。尤其在证明个人相关错误行为的法律程序过程当中, 就十分需要使用相应的日志文件作为攻击者犯罪的有利证据。一般情况下, 如果审核的生成时间恰好是资源访问的时间, 并且使用相同的资源访问例程, 则审核是最具权威性的。

4. 结论

目前, 大部分的Web站点安全性都较低, 很容易遭受到恶意的攻击。主要是由于重视程度不够, 现在很少有人真正的去关注网络安全, 更没有真正去采取措施保证Web应用程序的安全。这不仅给网络黑客以可乘之机, 也给整个网络的安全带来了隐患。因此, 需要人们在网络信息化大发展的同时, 更加关注网络信息的安全, 尤其是Web应用服务的安全。所以我们首先要对Web应用程序的安全现状有所了解, 并懂得一些Web应用的安全防护措施, 这对维护我们自身信息的安全以及整个网络系统的安全都有重要的意义。

摘要:随着网络技术的高速发展, Web应用程序技术取得了迅速的发展, 为人们的生活、工作提供了大量的服务。但是, 从另一个方面分析, Web技术所带来的安全问题也变得越来越突出。因此, 本文首先对Web应用程序的安全现状进行了分析, 并提出了Web应用的一些比较实用的安全防护措施。

关键词:Web应用程序,安全,防护,设计

参考文献

[1]杨森, 张新有.网络安全漏洞扫描器设计与实现[J].网络安全技术与应用, 2008 (11) .

[2]霍汉强.Web应用系统安全问题的探究[J].大众科技, 2008 (3) .

[3]王红兵.Web应用威胁建模与定量评估[J].清华大学学报 (自然科学版) , 2009年.

[4]杜经农, 卢炎生.一种Web软件安全漏洞分类方法[J].计算机工程与应用, 2009年.

[5]吴海燕, 苗春雨, 刘启新.Web应用系统安全评测研究[J].计算机安全, 2008 (4) .

Web应用程序设计 篇2

一、课程调研

通过广泛的专业调研与市场调查,并结合往届毕业生反馈意见,不断改进完善人才培养方案,适时地调整课程目标,明确了课程的职业岗位指向和职业能力要求,明确课程知识目标、技能目标,进一步明确以职业岗位能力要求的课程目标,使之更加贴近不断发展的职业岗位技能要求。通过市场调研得出的对专业人才的需求基本特征是培养适应社会需要、具有适度的基础理论知识、技术应用能力强、知识面较宽、素质高等特点的专门技术人才。随着经济社会发展,高等职业教育的人才培养目标定位也在不断改变之中,从“技术型人才”、“应用型人才”到“实用型人才”,再到“高技能人才”。这在一定程度上反映出现代经济社会发展对高等职业教育人才培养要求的不断提升。《Web应用程序设计》是一门实践性和操作性很强的课程,该课程为学生学习软件程序开发职业技能,提高就业竞争水平,为了进一步具有更高职业能力的软件开发人才奠定基础。

二、课程标准

1、课程定位

本课程是软件技术专业的专业课,第三学期开设。通过本课程的学习,学生将具备独立开发Web程序设计(asp.net)的能力,良好的团队合作能力,沟通能力,并具备一定的扩展专业知识的自学能力,完全能够胜任一定的职业岗位,基本能成为一名合格的Web程序员。前续课程有《VC#数据库应用程序设计》、《SQL SERVER数据库》。后续课程是《.NET 框架应用程序设计》。

2、课程目标

了解软件项目开发过程,理解三层框架编程思想和WCF,掌握ASP.NET的SDK、AJAX、Server、Application、GirdView、文件上传等技术,能够综合运用三层框架搭建简单web应用程序,能够运用自带工具进行单元测试,培养团队协作、交流沟通、自学、抗压能力,提升软件工程规范及编码规范意识。

3、课程设计思路

课程设计以工程项目“火车票订购管理系统”为主线,摒弃以往程序设计类课程重理论、轻实践,将理论与实践分开上的讲授方法,加强实践教学环节的建设,将所有的课程全部拿到机房上,真正实现理论与实践的有机结合,真正实现课程内容与岗位技能要求的无缝对接。

三、教案、课件

《Web应用程序设计》课程的学习,既是学生通过Web编程在面向对象编程方法的基础上进一步程序开发的知识和技能,提高web程序开发技能,和运用程序技巧解决实际问题的过程。在这个过程中,不仅仅是提高编程水平,更重要的是要培养学生的开发锻炼逻辑思维能力、熟悉、提高面向过程编程能力的过程。课程中有效的教学设计和教学控制是保证教学质量的前提,在实际教学中,运用系统化的观点和方法,以学生为中心、以目标为导向、通盘考虑教学的各种因素和环节、运用有效的教学策略和技术手段、优化设计教学过程的各个环节,是能够有效地实现教学目标的根本保证。

《Web应用程序设计》课程中,通过课件和教案严格控制学习资源和学习过程的设计。课程教案是在课程标准指导下的具体实施文件,是组织教学的基本依据,没有教案的课是随意性的课程,教学质量极不稳定又得不到基本保证,因此,为保证教学的正常进行,必须有课程教案。为使课程教案符合不断变化的学情需要,需要在制定教案时考虑到具体的需要。

本门课程是针对已经具备了面向对象编程知识的二年级学生,在教案制定上,更注重实践操作,在教案的具体时间组织上,要在允许的范围下,多进行实践操作,同时,在教案中也注意进行实践总结,随时检验、检查学生的练习成果。在教案内容组织上,采用讲-练-总结-综合练的指导思想。避免发生学生“消化不了”的现象,而影响以后的教学效果。以上的设计思想,都通过课件明确的展示出来,对于教师和学生在课堂上的时间控制给出明确的提示。

四、教学方法

为培养学生综合应用知识的能力,教学案例教学法,通过对完整项目的系统分析,培养学生从需求分析到实现动态网站的各个功能模块的综合应用能力,调动学生学习的积极性,充分利用启发式教学原则进行教学,使学生在课堂中能积极思考;注重理论联系实际,使学生在学习过程中能够理解平时上网时所应用到功能的实现过程,不再感到枯燥无味。在机房里采用讲授、教师示范、学生演示、学生练习等多种教学方法, 切实提高教学效果,以提高学生的动手能力、创新能力为目的,将案例、习题等资源放在网络上,实现优质教学资源共享。

在机房授课,学生一人一机,多媒体教学,大大提高了课程的教学效果,但教学课时有限,课后自主学习,加强基本功的训练尤为重要。且计算机的发展日新月异,课程教学的滞后与目前技术的发展,让学生及时了解与课程相关的技术动态,不要与当前社会需求脱节,开阔眼界,扩宽知识面也是非常有必要的,因此在课程建设的过程中加大了网上学习功能的建设力度,可以让学生把课堂上没有消化吸收的知识点通过项目案例加强实践动手能力训练,进行课外延伸学习。

在技能方面,课堂上在机房老师边讲边写代码,写完后立即由学生独立练习,以加强训练学生的代码阅读能力、代码改错能力和编码及文档的规范能力;课后再让学生以小组的形式编写另一套系统,将课堂的知识熟练运用。这样由两套甚至更多的系统同时并行开发,巩固所讲知识,提高学生编写程序的熟练程度和规范性,并增加对实际软件项目开发的体验,并能在职业素质方面,通过项目组的角色分配,项目组成员间的沟通、交流、团队协作来培养学生良好的职业习惯,实现学生在校准职业人的目标。学生既独立编写了一个完整的系统,又参与了项目组系统的开发,使学生的专业技术能力、职业素质能力在日常的学习中无形地得到了提高。(1)、以商业项目为导向开发课程,以行动导向的教学观和学习情境的构建组织教学,加强学生掌握企业岗位所需技能培养,实现教学过程与工作过程互融。(2)、工学结合,将企业真实项目引入课程,实现课程内容与真实项目相融。依托集团的华日软件公司,从学院教科所引进真实项目“火车票订购管理系统”,形成能营造真实工作情境、高度仿真企业工作环境的教学案例。(3)、培养学生的创新能力,软件研发岗位是前端的脑力劳动岗位,高职教育必须培养有创造性、智力性的高素质技术应用型人才。学生通过这种实际任务驱动的形式学习课程,拥有巨大的思考空间、发挥技术能力的空间,完成工作任务解决问题方法的多样化促使学生积极思考,培养学生的知识延伸能力和创新能力。

(4)、和相关IT认证结合。鼓励学生参加国家软件专业技术资格水平考试,取得不错的成绩;鼓励学生积极参与系级、院级的各种软件设计竞赛,屡次获得不同奖项。激发了学生主动学习程序设计的积极性,提高了学生程序设计的专业综合能力,养成了良好的学习风气。(5)、注重教学资源建设。近几年来,课程组建设了一整套教学资源,包括教材《ASP.NET Web应用程序设计》已经正式在清华大学出版社出版、课件、教案、实验指导书、学生优秀作品库、由集团公司提供的工学结合的项目库等。

五、出版的教材

《ASP.NET Web程序设计》 主编:吴平贵

清华大学出版社 北京交通大学出版社

2012年8月

本书概念精确完整,思路清晰明了,注重动手,以项目驱动,工学结合。以一个完整的火车票订购系统的商业项目作为蓝本,从中选取适合高职教学的功能为驱动并引入分布式开发技术,通过是学生完成一个完整的软件项目全面系统的掌握asp.net web程序设计技术。

本书共分为6章。第一章介绍asp.net web服务器控件的基础知识。第二章介绍登录火车票订购管理系统级信息系统常用的三层框架;第三章介绍火车票订购管理系统的总体需求和学生订票功能,第四章介绍学生预付定金功能;第五章介绍查询统计功能;第六章介绍领取火车票功能。

本书是为计算机专业高职学生所编写得的,用asp.net web服务端控件作为客户端展示控件,c#语言作为服务器端代码,用 WCF编写服务接口,他适合于所有微软方向的学生学习(在学习本书前,学生需要掌握c#软件开发基础,c#面向对象程序设计和ado.net)。作者根据软件项目开发经验并从人类认知规律出发,由浅入深,由易到难,逐步深入全面介绍asp.net web应用程序技术。

六、课程案例

以工程项目“火车票订购管理系统”为主线,摒弃以往程序设计类课程重理论、轻实践,将理论与实践分开上的讲授方法,加强实践教学环节的建设,将所有的课程全部拿到机房上,真正实现理论与实践的有机结合,真正实现课程内容与岗位技能要求的无缝对接。通过多“火车票订购管理系统”的项目案例项目的理解、练习过程来贯穿专业素质的理念和意识形态的养成;由此培养学生综合素质能力。这种“火车票订购管理系统”旨在体现以过程为导向,“工学结合”的本质,融素质教育于技能教育之中,促进综合应用能力的提高。

七、特色与改革

继续精简和优化课程设置:课程设置要突出对学生知识与能力的培养和提高,兼顾学生个性发展;继续加强实验、实训场所及设施建设:以校内实验、实训场所为依托,充分调动学生的学习积极性,实行分阶段实践性教学。

教学方法的改革是课程教学改革的突破口,在教学过程中应充分发挥教师在教学中的主导作用,由“教师为中心”转变为“以学生为中心”,使学生由“被动学习”转变为“主动学习”,由“以课堂为中心”转变为“多环节教学”。

Web应用程序设计 篇3

关键词:Web程序设计 教学模式 .NET 教学方法

DOI:10.3969/j.issn.1672-8289.2010.10.022

围绕着《Web程序设计》课程目标,为了更好地实现课程开设初衷,在课程讲授过程中逐步形成了基于项目和任务驱动的教学模式,使学生从上课伊始对具体项目有所认识,提高其学习积极性;同时,与项目相关的任务自始至终贯彻整个课程,实现了将知识点的分解和分散,有助于学习循序渐进的进行。

1. 课程介绍

随着网络和Web等相关技术的普及和迅速发展,业界对Web技术人才的需求也越来越大,掌握 Web应用程序开发技术具有广阔的就业前景。Web程序设计课程不光是一门简单的程序语言设计课程,它涵盖了面向对象程序设计、计算机网络、软件工程、数据库应用、网页设计等大量专业知识,教学内容十分丰富,基本内容如HTML语言、脚本语言、内置对象、对数据库的操作等,各知识点之间联系密切,且发展迅速,由于web2.0技术的发展,网页技术也从过去的静态网页发展到现在的动态技术,blog、RSS、P2P等各种新技术也层出不穷。

通过本课程的学习,使学生了解Web工作原理,掌握Internet和Web发展的最新技术,掌握Web程序开发技术并能将其应用于Web程序设计。努力培养学生Web程序设计与实现能力、创新思维和创新能力,为今后研制、开发各种Web应用系统打下坚实的基础。

因此,如何实现本课程与其他课程的无缝衔接,建设具有自身课程特点的教学内容和教学方法是一个十分重要的问题。

目前,支持Web程序开发的主流技术有J2EE、Asp.NET和 PHP等,这几项各有千秋,Sun公司的 J2EE技术规范可为企业级应用提供了完整,稳定和安全的技术支持,可实现跨平台,但以JAVA为基础,较为复杂;PHP由Rasmus Lerdorf 1994年提出的服务器端脚本语言,是免费的开源代码,但缺乏大公司的支持;ASP.NET是不仅仅是ASP的简单升级,而是Microsoft推出的新一代用于构建服务器端动态文档的框架,是.NET架构的一部分,基于类库定义类,用ASP.NET开发动态WEB文档和开发非WEB应用程序类似,每个ASP.NET文档都被编译为一个类,上手相对容易,所以课上使用的就是微软的ASP.NET。

2. 课程内容

Web程序开发所涉及的内容十分丰富,且发展迅速。这也是其区别与其他程序设计语言的特征之一。基本内容包括HTML语言、脚本语言、内置对象、对数据库的操作等,由于web2.0技术的发展,网页技术也从过去的静态网页发展到现在的动态技术,blog、RSS、P2P等各种新技术也层出不穷。各知识点之间联系密切,如何在有限的课时合理安排这些内容也就显得极为重要。在本课程中,上课时间为38学时,课程内容安排如表1所示。

表1 《Web程序设计》课程内容

3. 教学方法

(1)教学内容项目化。遵循教学要求,以一个项目为基本素材,给学生一个特定的真实案例,在引入实际项目的前提下,通过一系列完整的案例来帮助学生学习相关知识,使学生由浅入深逐步掌握ASP.NET主要技术以及web应用程序开发,提高解决实际问题的能力。选择合适案例,拓展学生视野和开拓学生的思维领域。平时注意收集一些有创意、有特色的优秀网站,在教学时给学生观摩优秀的网页实例,从中学习设计思路、设计风格和网页制作技巧,并认真分析实例,从中找到不足之处,提出解决问题的见解,尝试解决办法。整体上通过实例把各个技术点联系起来,使学生对网站整体开发设计有一个全面的了解。

在教学过程中,针对高校管理学生档案、资料和成绩等信息开发的管理信息系统,该系统针对学生自身的信息进行管理,更容易被学生理解,系统功能需求相对简单,适用于初学者,但功能相对齐全,是个典型的管理信息系统。其中,包含了对学生基本信息、履历信息、成绩信息等管理功能,统计功能、学生查询功能、用户管理和系统管理功能等。

(2)教学计划任务化。“任务驱动”教学法,体现在Web程序设计课程中,就是让学生在一个个典型的信息处理任务的驱动下展开学习,在完成任务的过程中,培养学生多方面的综合能力。为了使学生学习本课程更有动力,

学期一开始就先给学生布置一个总体任务:完成一个网站的开发。所要学生掌握的知识点设置为案例中一个个具体的任务,使学生通过完成任务达到掌握所学知识的目的。其次,学习任务设计的另一个目的是为了允许学生可以运用不同的学习资源进行学习和选择合适的任务进行操作。在任务驱动下,学生都能产生一种急切地完成任务的动机,而完成任务又能给他们带来成就感和满足感,这样学生的学习更有目的性和主动性。

按照典型项目要求所设计的任务包括几个小任务,小任务并非单独存在,前一个小任务的完成应该要为后一个小任务的展开做好铺垫,几个任务层层推进,最终完成一个综合任务。所设置的任务是一种阶梯型任务链,任务由简到繁,由易到难,即高级任务涵盖初级任务,数个微型任务循环构成大的“任务链”。

以网站中常见的注册页面为例,在进行HTML学习时就可以让学生运用表格和其他标记实现此页面;在进行Web控件学习时,相同的页面可要求学生用控件来实现,并用验证控件对其中的输入信息进行验证;在学习ADO.NET的内容之后,可要求学生实现将用户的注册信息添加到数据库中去。这些任务就一层层由简到难的实现了页面上的功能,学生在学习了每次课后,都对应着每次课的内容完成相应的任务,循序渐进的掌握相应的知识点。

整个教学过程围绕1个项目中的6个任务进行, 分别为“用户登录”、“用户注册”、“网站技术”、“模板设计”、“留言板”和“权限设置”。其中,这6个任务贯穿课程始终。

(3) 强调教师的引导作用。教师不再是单纯的知识传授者,而应成为学生学习的引导者。“授人以鱼,不如授人以渔”。教师在课堂上可重点讲解课程中重点、难点的内容,以点带面地讲授,并积极引导学生去思考相关问题,如本次的所学到的技术在常见的网站中哪地方应用到了,是如何实现的,应用这技术在本网页中起到了什么样的作用,同样的功能还可以用其他什么技术实现等等,多设计一些开放性问题,对学生真正掌握网页制作技术起到了引导的作用,同时充分发挥学生的主动性,并强调学生在教与学关系中的主体地位,让学生带着疑难问题去接受新的知识,积极参与讨论课程中涉及的问题,发表个人的见解,增加学生学习本课程的兴趣,提高教学效果。在讲授内置对象的过程中,可针对一些网站中常见的功能,和学生展开讨论,如用户对网站访问次数、网页的访问次数、网站的访问次数、开心农场中仓库里的果实如何保存等,这些常见并试用的问题,更容易激发学生思考和学习的兴趣。

(4)强调学生上机实践的重要性。Web程序设计是一门实践性很强的课程。实践作为教学中非常重要的一部分,应该引起足够的重视。在掌握课程的主要内容和基本操作要求外,也要求学生充分运用自己所掌握的知识和技能,充分发挥自己的才智,进行新作品的创作。创作新作品有助于学生在学习中的主体地位的确定,同时鼓励学生的创新精神,培养和提高学生的实践能力。 在整个学习过程中,针对6个任务,要求在讲授完相应课程的一周之内,网上提交相应的源代码,这个过程可以督促学生对所学内容进行及时的吸收,而老师还可以从学生作业中及时了解学生对知识点掌握情况,从而可以进行相应的反馈。

4 总结

《Web程序设计》作为计算机系高年级学生的专业课,旨在使学生全面掌握基于Web的程序设计与开发技能,熟悉项目设计流程,养成良好的程序开发习惯,培养团队协作精神。

但如何吸引高年级学生在有考研和就业两大压力的前提下来上课,是个急需解决的问题。本论文围绕着课程目标,在课程讲授过程中逐步形成了基于项目和任务驱动的教学模式,极大的提高了学生学习积极性,实现了将知识点的分解和分散,有助于学习循序渐进的进行。

参考文献

[1]宫继兵,孙胜涛,王颖. ASP.NET 2.0 Web数据库开发教程[M]. 机械工业出版社,2009年1月

[2] 程静,杨明,邱玉辉. 基于知识点对象的个性化学习系统实施[J]. 西南师范大学学报,自然科学版,2006,31(5):120-123.

[3] Natalia Stash,Alexandra Cristea,Paul De Bra. Learning Styles Adaptation Language for Adaptive Hypermedia[A]. AH 2006[C],2006.323-327.

作者简介:

王蓝婧(1982--),女,华北电力大学(保定)计算机系,助教,主要从事网络信息安全方面的研究;

基于Web服务的应用程序设计 篇4

1.1 基于服务的应用程序的设计描述

基于服务的应用程序的设计过程中, 根据程序应用系统需求以及项目特点确定建模目标的结构, 并保证建模目标结构符合基于服务的应用程序的开发要求。一般建模目标结构具有以下特点时, 可以运用基于服务的应用程序的开发模型进行程序的设计开发工作。

1.1.1 建模目标结构具有较低的程序运行实时性要求

Web服务是在SOP协议的基础上开展的, 在程序运行过程中, SOP协议中的XML文档数据现象会延迟数据的运算与传输, 在实时性要求较高的程序系统中, 数据的延迟现象会导致同步通讯失真现象, 造成系统运行故障等。相反的, 当实现Web服务的过程中, 如果系统结构复杂, 需要较长的计算时间时, 数据延迟对Web服务功能的实现没有影响, 可以利用远程设备进行复杂的计算等, 从而实现We服务的目的。

1.1.2 大量异构系统并存

基于服务的应用程序的开发模型可以用于大量异构系统并存的程序开发大幅度提高了程序开发的效率, 同时也有效降低了程序开发设计的成本。由于计算机硬件设备配置不是完全相同的, 计算机操作系统以及编程语言也存在一定的差异, 在进行程序的开发与设计时, 尤其是对于复杂度较高的程序, 程序的开发与设计很难与不同的计算机硬件设备完全匹配, 不利于程序的推广与普及, 也提高了程序开发设计的难度。

1.1.3 软件在高速网络支持的环境下运行

基于Web服务的应用程序的运行优势是在网路环境能与其它系统共享数据, 实现不同系统的交流与沟通, 这也是利用基于服务的应用程序方法开发设计软件的基础。

1.1.4 软件结构清晰简单

基于服务的应用程序的设计与开发要考虑程序的实际运行速度, 结构过于复杂的结构实现某一功能所需的时间较长, 不仅不利于程序的运行与功能的实现, 同时也增加了网络的运行负担与程序运行的成本。

1.2 基于服务的应用程序的开发描述

基于服务的应用程序的开发过程不是单一的对程序功能进行分解与控制, 而是对程序功能进行部署, 建立程序的功能实体, 并将各部分功能实体组合成为软件系统, 从而实现程序在应用过程中适应网络运行的特点, 提高程序开发设计质量。基于服务的应用程序的开发过程包括软件静态结构建模、软件动态结构建模、管理人员分析与反馈、组件软件、软件成型与测试以及软件投入使用等。

2 Web服务技术及架构分析

2.1 Web服务特点

Web服务是基于XML技术而建立的Web规范技术, 是通过包含、模块化的应用程序实现在网络功能的发布、描述、查找以及调用, 具有封装性、松耦合性、互操作性以及较高的程序集成能力。其中, 封装性是指在可以对网络技术进行保护, 用户通过服务列表选择所需服务。松耦合性是指Web服务界面是不随Web服务的变化而变化, Web服务的变化对Web服务功能的实现没有影响。互操作性是指Web服务允许符合网络技术要求的设备对网络进行访问并实现网络服务, 同时也允许Web服务与其它Web服务进行通讯, 避免了不同网络协议存在差异造成的不便。

2.2 Web服务架构

Web服务的体系结构的建立是基于面向服务的体系结构, 将应用Web网络的服务进行组合成为应用程序是Web服务体系结构的主要思想, 实现Web网络服务在程序间的共享, 并对程序实现某一功能细节进行封装。Web服务体系架构主要包括三个部分:Service provider、Service broker、Service requester。其中Service provider主要功能是发布服务并响应自身服务的请求, Service broker的主要功能是对Web网络服务中发布的服务进行注册与分类, 以便于使用者根据自身需求进行搜索, Service requester则是在使用者进行搜索时, 利用UDDI查找所需服务并实现服务器与与某一特定服务的绑定。

3 基于Web服务的程序集成

传统的程序集成模式是在Web服务的支持下, 为集成应用程序提供了推广平台, 通过服务捆绑等多种形式, 在最小的运营成本下实现对Web服务的开发、发布与推广。基于Web服务的程序集成模式则是在Web网络服务的基础上, 制定程序的集成方案并实现应用程序的集成, 基于Web服务的程序集成是通过封装应用程序的功能接口, 并通过Web网络进行发布, 利用不同系统、不同应用之间数据的共享功能实现应用程序的集成。

基于Web服务的程序集成模式主要包括客户端应用程序、适配器以及Web服务等三个部分, 各部分的基本结构与功能为: (1) 客户端应用程序的功能是创建适配器并在程序运行过程中对基本函数的调用, 从而实现程序功能。基于Web服务可以实现远程操作与控制, 客户端应用程序可以根据自身运行需求对现有应用进行修改, 提高客户端应用程序与客户实际需求保持一致。 (2) 适配器是在客户端应用程序不具备相应的访问接口的情况下, 通过适配器构造可访问接口, 为程序与Web网络之间构架了一个桥梁, 便于实行程序的互操作等。 (3) Web服务的实现过程主要为提取应用程序的函数调取与计算功能, 并在Web服务层上完成Web服务的集成。Web服务的具体调用功能的实现首先要浏览注册服务器查询自身所需要的Web服务, 并下载所需服务的WSDL文件, 下载完成后利用本地服务器的组件生产客户端带来程序, 通过在本地服务器运行该代理程序调用Web服务, 从而满足自身服务需求。

4 总结

基于Web服务的程序设计是一种新型的程序设计方法, 能适应多种运行环境, 不仅缩短了程序开发设计时间, 降低了程序开发成本, 同时也有效提高了程序运行的效率与可靠性, 是值得推广的一种程序设计方法。在基于Web服务的程序设计中, 也要不断对其技术与结构进行优化, 进而完善基于Web服务的程序设计水平, 提高程序的使用性能与经济性能。

摘要:基于服务的应用程序设计在Web服务组件基础上开展程序的开发设计工作, 有效提高了硬件资源以及组件资源的利用率, 是我国应用程序设计的主要方向。论文对基于Web服务的应用程序的设计开发进行了分析, 并阐述了Web服务技术架构与程序的集成。

关键词:Web服务,应用程序设计,技术架构

参考文献

[1]张强, 夏阳, 王亮.基于Web服务的程序设计新思路[J].计算机工程与设计, 2006, 27 (22) :31-32.

WEB程序设计实验报告-15单 篇5

四、ASP.NET编程

实验序号:4 实验名称:ASP.NET编程 适用专业:计算机科学与技术/软件工程 学时数: 8学时

一、实验目的

1、熟悉ASP.NET服务器控件的使用。

2、学会使用ASP.NET服务器控件设计Web页面。

3、学会使用ASP.NET对象。

二、实验设备

装有WEB程序设计相关软件。

1、使用ASP.NET控件,如TextBox、Label、Button等,并结合CSS、Javascript,实现登录页面的实现。要求点击登录按钮时,弹出提示:您输入的用户名是:**,密码是:**,*为显示输入的用户名和密码,同时将用户名和密码写入session,并跳转到下面第2题页面。

<%@ Page Language=“C#” AutoEventWireup=“true” CodeBehind=“login.aspx.cs”

Inherits=“WebApplication2.login” %>

style=“margin-bottom: 0px” Text=“用®?户¡ì名?”>

style=“margin-left: 9px”>





style=“margin-left: 39px”>

三、实验步骤



Web应用程序设计 篇6

关键词:项目驱动 java web应用开发 课程设计

1.课程设计思路

以Java Web开发职业岗位需求为依据,定位Java Web应用开发课程目标与标准;以Java Web应用开发整体技能架构为基础,梳理资源建设脉络;以项目开发过程为主线,分解组织资源内容;通过优化、整合、改造、拓展等资源建设方法,分解、拆分实际项目,构造课程学习资源(校企合作,贴近实战,通过优化法、整合法、改造法、拓展法等科学的方法进行资源构造),建设Java Web应用开发课程立体化、多层次、多介质,可进化的教学资源,使其能够成为为高职软件技术专业技能培养、企业技能培训,学生自主化、个性化学习服务的一整套资源体系。

2.课程目标设计

(1)总体目标:

以语言为基础,培养学生在软件开发中应用Java语言编写Web应用程序的技能;增强学生对企业实际开发技术的适应能力;提升学生对软件开发的兴趣;提升学生从事软件开发的信心;增强学生的责任感和使命感、提高职业素养;尽快地适应企业需求、适应就业岗位的要求和提供学生持续发展的需要。

(2)能力目标(细化):

能搭建典型的JSP开发环境;能使用myEclipse工具导入已有项目,进行编码及调试;能够使用JSP中的脚本元素结合html语言在页面中显示动态数据;能应用JSP中的内建对象request、response、session获取参数的值、跳转页面、保存会话信息;能应用javabean创建数据库操作类,完成数据的增删改查功能;能够应用javascript对用户输入的信息进行验证;能够根据公司提供的需求文档、设计文档完成项目中的某一模块功能;能够应用html+div+css优化页面的显示效果;能够合理安排软件的开发进度;能够通过解析已有项目代码,完成网站功能的设计和优化;能够发布网站;能够按照软件代码规范编写代码。

(3)知识目标:

了解JSP的特点;理解JSP的执行过程;掌握JSP基础语法;掌握JSP脚本元素、指令元素、动作元素;掌握JSP中内置对象out、request、response、session的特点及主要方法;掌握JavaBean的概念及存在的范围;掌握JDBC的概念;掌握JSP操作数据库的方法。

(4)素质目標:

培养按时、守时的软件交付观念:课外项目要求学生制定详细的月计划、周计划、日计划,并根据计划的完成情况进行考核;培养按格式规范书写程序代码的习惯:对于课外项目的考核代码的规范性作为其中一个指标;培养学生自我管理、自我激励的能力:在课内外项目中培养学生管理自己的时间、自己的任务的能力,培养他们克服困难、攻克难关的欲望,培养他们的团队荣誉感和好胜心;培养学生项目管理、语言表达、自我表现能力:项目组长负责整个团队、课外项目验收时要进行答辩;培养团队合作精神、与人沟通能力:课外项目以项目组为单位,老师对项目组考核,组长对组员考核。

3.课程内容设计

《Java Web应用开发》这门课程是以“做”为主体的课程,所有理论知识必须在技能训练过程中得以理解和掌握,所以必须强化训练操作技能、提高实战能力。根据软件企业对基于java的Web应用开发能力的实际需求,以项目为中心,以能力为本位,将JSP基本应用开发知识和技能重新进行组合,课内贯穿一个网上书城系统,该系统由七个子项目组成,在授课过程中将原有的知识体系打散,全部按照项目开发的过程来开展教学。如表3所示。随着课内项目的学习,课外学生以项目小组为单位开发自考网站系统。

表1 课程的子项目设计

4.考核方案

学生的最终成绩由形成性评价和总结性评价两部分组成,其中每个考核的项目都有具体的评分标准,详细标准如下:

(1)日常考核细则

日常考核满分为100分。课程授课共有12周,4周定为一个月,学生每个月的工资为3000元,日常考核由学生最终的3个月的工资总额决定。一个月如果有3次不到,解除劳动关系(成绩直接定为不及格)。表现优异者,有奖金(每个月100元钱),迟到早退1分钟扣1块钱;旷课一次扣400块钱;请假1次扣款100元;

(2)课外项目评分标准

教师负责给每个课外小组打分,小组根据教师的打分给每个成员打分。小组的得分是小组成员得分的最高分。小组成绩为优秀的,小组成员成绩为优秀的比例最多为50%;小组成绩为良好的,小组成员成绩良好的比例最多为50%,及格的比例至少30%;小组成绩为及格的,小组成员成绩及格的比例最多为50%;小组成绩为不及格的,则小组所有成员的成绩为不及格。

(3)期末考试

期末考试是机试,题目总分100分。

6.结束语

在设计过程中,通过将以往上课时教学环节薄弱的地方进行总结,做了以下的调整:以往的教学所确定的知识目标和能力目标大而全,涵盖的内容太多,导致在上课过程中不能及时的调整,这次的目标很精确,提炼出在实际开发中应用最多的核心技术,精简了内容,确保让学生能够掌握;这次的课程设计,采取了完全的项目驱动,整个教学过程是按照项目的完成过程来设计,在项目的完成工程中需要哪些知识,讲解哪些,而不按照知识的体系来讲解;考核不仅仅是针对学生对知识技能的考核,还包括对我们想要培养的素质目标的考核,还包括对学生态度的考核等等。

参考文献:

[1]戴士弘.高职教改课程教学设计案例集[M].北京:清华大学出版社,2007.

[3]田士德.教学评价方案[J].基础教育课程,2006,(10):25-27.

[4]姜大源.当代德国职业教育主流教学思想研究[M].北京:清华大学出版社,2007.

[5]李超任;对高职课程改革中几个问题的认识[J];职业教育研究;2004年01期

[6]范唯,马树超.切实解决提升高职教育教学质量的关键问题[J].中国高等教育,2006,(24):33-35.

Web应用程序设计 篇7

ASP.NET是微软公司为满足网络化需求而推出的.NET开发平台,是一种Web环境中的应用程序开发技术,应用十分广泛。由于在ASP.NET技术中采用了更加合理的开发设计模型,使得Web环境中的应用程序解决方案的结构更合理,更便于维护。这里在对ASP.NET技术和相关特点进行介绍后,对面向Web用户程序开发的三层设计模型进行重点分析,并以工程实例的方式对此类设计模型的实现过程进行说明。

2 ASP.NET技术优点分析

ASP技术,即Active Server Page,是ASP.NET技术广泛应用之前,在Web应用程序开发领域中的一种主流开发技术。利用ASP技术,能够非常容易地将VB-Script语言所编写的网络服务器脚本嵌入到Web页面中,然后在服务器端对相应的页面内容进行动态生成;此外,还能够通过多种类型的COM组件实现与数据库的连接,进而为用户提供更加强大的事务处理功能。正是由于这些特性,才使得ASP技术在Web程序开发中得到广泛应用。

SP.NET技术是一种基于微软.NET平台的Web环境应用程序开发技术。该技术主要以CLR为基础,能够对.NET Framework环境中所提供的所有功能进行调用。基于ASP.NET所开发的Web程序,能够为异常控制、类型安全、功能继承与动态编译等提供全面支持。同时,在ASP.NET程序中,还能够为多种不同面向对象编程的强类型语言提供支持,实现对网络中各种复杂控制逻辑的编写,如Visual C#、Visual Basic.NET等。主流ASP.NET技术主要为Web Form编程模型,可以实现从底层系统自动向客户、服务器层之间的交互;同时,还为用户提供了完善的系统状态管理功能,使得系统能够在不同的页面请求之间,对页面数据进行维护。开发人员大基于页面的应用程序开发中,还能够使用多种服务器控件。

3 基于分层理念的Web应用程序设计

3.1 分层的概念

分层模型已经成为工程开发领域中的优秀的设计思路。在Internet中广泛采用的TCP/IP协议,就是一种典型的分层设计模型。在互联网发展过程中,TCP/IP协议所起到的作用至关重要。TCP/IP协议体系能够在互联网领域中获得成功,主要利益于其中所采用的分层模型,这也就决定了现有的网络协议中都普遍采用这种分层理念的设计思路。

3.2 应于用Web环境的应用程序三层模型

作为一种分布式的应用程序,Web程序中功能的实现主要由服务器端的Web服务器与客户端的浏览器互相配合才能实现。这种程序的实现结构又可以称为B/S结构。B/S结构中的大部分功能与逻辑主要在服务器端来实现。

参考前面所介绍的Web应用程序与Asp.NET技术中的优点,人们在实际的工作中逐渐找到一种基于ASP.NET技术体系的三层Web应用程序开发设计模型。在这种三层设计模型中,可以将Web应用程序划分为三个功能完善的基本层次,即:用户界面层、业务逻辑层以及数据访问层。具体如下:

1)用户界面层

用户界面层即User Interface Tier,主要用于对客户浏览器中的用户界面显示进行实现。在用户界面中,可以选择和采用适当的形式对业务逻辑层所传送的数据信息进行可视化显示。在此过程中,主要通过HTML标记与CSS模式来实现。同时,用户界面层还负责获取用户通过界面所输入的数据,在对相关数据进行有效性校验的基础上,将用户录入的数据传送给业务逻辑层。

2)业务逻辑层

业务逻辑层即Business Logic Tier,该层在整个模型中主要作为中间层来使用,是整个分层模型中的最重要层。该层的主要作用就是为用户界面层提供功能调用支持,同时,还能够利用数据访问层所提供的功能,对系统数据库进行访问。在具体的应用中,该层需要根据整个系统的功能和性能设计,对工程实现中的关键对象进行构造,实现工程中的大部分逻辑控制与功能。

3)数据访问层

数据访问层即Data Access Tier,通常作为整个分层体系的最底层来使用。该层的主要功能和作用是实现与系统数据库的交互,也就是对数据库中的数据和信息进行查询、插入、删除操作。通过数据访问层,能够为整个体系中的业务逻辑层提供服务,并根据业务逻辑层的具体需求,从相应的数据库中提取数据信息,或者对数据库中的数据进行修改。相关数据表明数据访问层优化,可以有效提高整个系统的性能与可靠性。

4 工程实例分析

本节中所介绍的工程实例,是一个企业的信息集成管理系统,所包含的功能相对简单,主要有:公文传送、文件审批、物品管理以及电子论坛等。该信息管理系统作为企业所投资研发的Web应用程序,可以为所有的授权企业员工提供网络接入功能,并根据各自的权限来完成相应的工作内容。该系统所软件设计结构就是上述的三层模型。接下来,主要针对该系统在实现与开发过程中的电子论坛进行介绍。

众所周知,电子论坛主要是为企业员工提供一个信息化平台,利用该平台可以发表观点、咨询问题与讨论热点,并能够为用户提供文章发表、观点回复等功能。在该工程的开发与实现过程中,所采用的开发工具为微软公司所推出的Visual Studio.net,利用Visual C#为系统提供逻辑编码。在Visual Studio.net平台中,整个工程主要作为一个Solution来处理;相应地,在分层模型中每个层,则与项目所对应;所有的项目都包含在方案中。所有的项目,都有开发平台为其提供的命名空间,这样做的目的不仅能够为不同代码之间的调用提供便利,还能够有效避免重复命名与冲突。具体而言,在本工程中,所包含的项目主要有四个,其中,Web项目、Bussiness Facade项目和Data Access项目分别与设计模式中的层次相对应。此外,则还包含Common项目,主要用于对不同层之间的数据接口进行定义。下面对这四个不同的项目进行介绍。

4.1 Web项目

Web项目与用户界面层是对应关系,可以将项目类型设定为“ASP.net Web Application”。在该层中还包括了二十多个Web Form页面,所有的Web Form页面的显示部分都能够存入到aspx文件中,而对应的控制代码则被存放到aspx.cs文件中。对于每个Web Form页面而言,都能够与页面中的类相对应,所有的对应类则由System.Web.UI.Page派生出来,这样,在这些类中,就能够对每个页面中所使用的Server Controls及其对应的逻辑控制进行准确定义。同时,在该层中,还能够使用Business Facade项目中所提供的多种功能,只要在每个页面中将Business Facade项目所对应的名称空间引入进来即可。

4.2 BusinessFacade项目

对于Business Facade项目,主要与三层结构中的“业务逻辑层”相对应,可以将该项目类型选择为“Class Library”。在该层中,所定义的类数量较多,这些类与系统中的四大功能相对应。对于这些定义的类,其中的成员函数能够根据用户界面层的具体需要来进行定义。需要补充的是,在该中可以通过引入Data Access项目的名称空间,并利用其中所提供的功能对系统数据库进行访问。

4.3 Data Access项目

对于Data Access项目,主要与三层结构中的“数据访问层”相对应,在实现的过程中可以将项目类型定义为“Class Library”。同样,在该层中,也包含了四个不同的类,每个类中的成员函数都能够响应业务逻辑层的需求,对SQL Server中所提供的“存储过程”进行访问。对于所定义的四个类,都包括了System.Data.Sql Client.Sql Data Adapter类型所定义的私有成员变量。这是,Sql Data Adapter主要由.NET平台所提供,可以实现在SQL Server数据库与Data Set类所创建对象之间的数据交互。其中,作为ADO.NET构架中的关键类,Data Set类中包含了多种Data Table,这些Data Table能够用于存储和数据库进行交互时的相关数据。

4.4 Common项目

在不同的层结构之间,为了能够实现数据的交互与传递,就必须在各层之间建立起统一的数据接口。所以,在软件开发过程上,为了能够实现该功能,在三个层次所对应的项目以外,还设计和开发了Common项目,可以将该项目的类型设置为“Class Library”。对于上述项目Web、Business Facade与Data Access等项目中所定义的类,其成员函数所采用的参数与返回值类型,则能够采用Common项目中所定义的类,这些类能够为不同层之间的数据传送提供更加标准的接口。

5 结论

从软件工程的角度来看,采用基于三层结构的设计模型,能够在软件工程的设计、开发、测试与维护的不同阶段起到重要的作用,同时,ASP.NET技术体系所具有的优秀特点,也对于优化工程结构至关重要。所以,ASP.NET平台中的Web应用程序三层设计模型,也就成为整个软件能够成功研发的基础。

参考文献

[1]高扬.基于.NET平台的三层架构软件框架的设计与实现[J].计算机技术与发展,2011,21(2):77-80.

[2]张军伟.基于三层框架的C#ASP.NET程序设计[J].电脑编程技巧与维护,2010(9):28-30.

[3]包芳.C#项目开发使用教程[M].北京:清华大学出版社,2013:119-121.

Web应用程序设计 篇8

2006年, 我州成立了湘西自治州中小学教师远程培训指导中心, 中心下设办公室, 负责全州教师远程培训工作的具体组织和业务指导, 并承担中学学段辅导教师队伍建设和学习辅导任务。下属八县市也成立了县市级远训中心, 负责本县市远训管理和小学学段辅导教师队伍建设与学习辅导工作。目前我州已有一万多中小学教师在网上进行远程学习和交流。按照教学计划, 我州参加非学历远程培训的学员, 第一学年在指定的网站上进行了公共课程和专业课程的学习。经过实践发现单纯的课程学习, 不利于教师的交流和解决工学矛盾, 且在不十分恰当的课程设置和研修模式下制定的教学方案和计划不能达到期望的效果。同时单一的程式化网络教学平台, 局限了更多研修活动的开展。为解决这些矛盾, 我们决定开发设计基于Web的教师研修平台。

二、教师研修的需求分析

实施教师研修项目是一个系统工程, 而在这个系统工程里需求分析又是一切工作的前提。教师研修主要包括培训学习、网络交流和工作辅助等主要模块, 其中培训学习又是我们要实现的重点目标。教师的远程培训着眼于教师的教育教学绩效行为, 必须针对存在的问题及其原因, 选取较好的教学与辅导模式, 采取系统全面的绩效改进措施制定培训方案, 才能保证培训的有效性。

组织分析:我州教师研修的实施是通过州县两级教师远程培训中心进行组织管理的, 县市中心直接管理行政所属会员校。但网上教学与交流又是以学段、学科分类 (班) 进行的。同时由于不同地区经济条件和硬件环境的差异, 这就要求在学习目标确定、辅导形式以及评价方式等方面必须是多线程的。

人员分析:教师是一个特殊的群体, 他们肩负着培养祖国的创新人才的任务。由于学科多、专业繁杂, 每一个教师所面临的学科压力与要求都不同, 加之教师所在的地域条件、经济条件、学校性质、学科背景、学生素质、群体目标存在的较大差异。所以必须确定一个合理的研修目标, 从而达到既能调动教师参与研修的积极性, 又能加强不同个体之间的交流和协作的目的。

工作分析:工学矛盾是教师参与远程研修的一个大问题, 它直接影响着研修的最终效益。而不同学段和学科教师在工作时间分配上存在明显的差异, 例如语文、数学、外语等学科一般上课时间在上午, 而生物、地理、历史等学科教师多在下午上课。了解这一点, 对我们制定会员校组织集体上网参与研修活动方案有很大的帮助。另一个解决工学矛盾的途径就是尽可能让研修内容与教学同步, 并且在研修网站上提供辅助教学活动的软件系统。

知识分析:组织研修的目的, 就是使教师掌握知识和技能, 促进隐性知识向显性知识的转化继而实现共享。参加远程研修的均为在职的中小学教师, 绝大部分具有合格的学历, 已具备了规定的学科专业知识。新课程实施后, 教师利用暑假参加了多次的集中课改培训, 包括通识培训和学科培训。所以远程研修的重点主要放在教育教学实践操作与交流层面上, 因为知识只有作用于实践, 才能给人们带来价值。

周期分析:教师培训过程实际上是从接触期-反应期-学习期-建构期-应用期不断循环的, 并且是不断上升的。远程研修与传统的集中培训不同, 它需要参与者首先具备一定的计算机网络使用经验。而目前教师计算机网络应用水平参差不齐, 所以参与远程研修需要较长的接触期。

三、研修平台的功能框架和技术实现

根据当前计算机领域的技术状况和发展趋势, 研修平台的开发主要立足于最先进且成熟的主流技术和主流产品, 在技术开放和高度集成的基础上, 进行高层次的应用开发。在保证高度安全可靠的前提下, 达到系统易用性、可维护性和可扩展性。

依据我州远程研修工作的具体需求和管理模式, 研修平台从总体上划分为管理服务、功能子系统、数据资源库三大模块, 各功能模块之间具有灵活的接口, 同时还留有通用接口以备将来系统的拓展。前台Web服务, 系统总体结构如下。

该系统的功能实现基本覆盖培训研修活动的各个环节, 管理的范围包括培训涉及的所有对象和资源, 通过建立基于Internet (B/S结构) 的教学支撑环境以及评价系统, 实现远程教学和远程考核, 包括信息数据传输、文本和音视频课件传输以及异地教学互动。同时系统对教学辅导教师和学员的上网次数、学习时长、学习进度能有效地跟踪显示和自动监控, 并通过对各项指标的智能测评, 客观地反映学员参加培训的效果。

整个系统采用MS SQL Server数据库, 能实现对较大关系数据表的操作, 前台Web页面和后台管理均用ASP.NET开发, 具有较高的效率。

四、平台的开发与应用

为了尽快解决我州教师远训工作中的一些问题, 州远程培训中心与州教科院现代教育技术研究所联合, 成功开发了具有自主产权基于Web Service的集信息发布、教学、管理、作品交流、工作辅助等功能为一体的教师研修网络平台---湘西教师网 (http://www.xxteacher.net) , 并于2008年正式投入使用。我州远训中心充分利用自主开发的研修平台, 结合本地实际和需求认真制订了目前中小学教师非学历培训两年的教学计划, 确定了以公共课程和教学作品设计交流为本阶段的研修目标。在公共课程资源建设上投入了大量资金, 提供了与教学紧密联系的、指导操作性强的课堂教学技巧、学生学习方法设计、教育技术应用等类别课程, 学员的学习作业由所有辅导老师共同商量确定发布。在第二学年的远程教学过程中, 还改变了以往以县市为单位的教学组织和管理形式, 改为以学科、学段为班级进行交流、辅导, 每位参训学员必须结合自己的教学实际至少提交5篇教案、5篇教学反思和1个课堂实录并要求对同伴的作品进行评价。通过这样的形式来促进参训学员之间的交流。

Web应用程序设计 篇9

关键词:以学生为中心,web程序设计,教学改革

1 引言(Introduction)

20世纪中期美国学者提出了“以学生为中心”的本科教育理念,引发了本科教育基本观念、教学方法和教学管理的系列变革,对高等教育的实践具有一定的指导意义。1998年联合国教科文组织在世界首届高等教育大会宣言中提出“高等教育需要转向‘以学生为中心’的新视角和新模式”,要求国际高等教育决策者把学生及其需要作为关注的重点,并预言“以学生为中心”的新理念必将对21世纪高等教育产生深远影响[1]。

《国家中长期教育改革和发展规划纲要(2010—2020年)》提出,提高质量是高等教育发展的核心任务,是建设高等教育强国的基本要求。高等教育的质量涉及方方面面,但人才培养质量、教学质量是根本。没有确立“以学生为中心”的教育理念、教学方法都是影响教学质量提高的一个关键因素[2]。

2012年7月14—15日,中国高等教育学会院校研究分会和华中科技大学共同举办了“院校研究——以学生为中心的本科教育变革”国际学术研讨会,来自海内外高校的近400名校长、专家、学者齐聚江城,围绕“以学生为中心”的本科教育理念、内涵、方法以及实现途径等问题,进行了广泛而深入的探讨[3]。

2 两种教学模式的区别(The difference between the two kinds of teaching modes)

2.1 传统的教学模式的特点

在传统的教学模式中,教师占主导地位,在每一节课中,教师组织课程内容,并灌输给所有的同学,扮演的是专家的角色。而学生事先对所灌输的内容一无所知,被动的接受,学习的目的是为了应付考试。

2.2 “以学生为中心”教学模式的特点

在“以学生为中心”的教学模式中,教师在讲解每一个知识点之前,先将实际的问题留给大家,让学生带着问题主动的去学习、去思考,发现问题,解决问题,教师扮演促进者的角色,而学生也会对自己的学习结果负责。

3 《 Web 程序设计》课程的特点和现有的教学模式(The characteristics and the existing teaching mode of web programming course)

《Web程序设计》课程是计算机科学与技术专业的核心课程,主要的授课对象是计算机科学与技术专业的大三学生,该课程旨在使学生将程序设计的理论基础运用于实践,帮助学生建立由感性到理性的深入认识,希望通过课堂教学的改革培养学生创新精神和创造能力,真正落实计算机科学与技术专业人才培养模式改革的目标和要求。然而在实际的教学过程中,往往达不到教学大纲制定的要求,究其原因主要体现在以下几个方面:

(1)《Web程序设计》知识点多,较零散

《Web程序设计》包含的知识点众多:页面设计、页面布局、控件、对象、数据库等等,学生学完后,只记住了一些零散的知识点,很难将这些知识点统一应用到一个网站上。

(2)学生学习比较被动

在课堂上,以教师为主,教师按照教学大纲把相关的知识点一一灌输给学生,由于学生事先不能形象的了解这些知识点可以用来做什么,因此只是被动的在听教师讲课,自我检测学习效果能力较差,学习积极性不高。

(3)授课过程重理论轻实践

在授课教师的头脑里,受客观环境的影响存在着“重理论,轻实践”的想法。教师在日常工作中,不仅授课,还担负科研任务,如教改项目,科研论文等。这样,容易忽视了实践方面的内容。缺少实践经验的学生显然是不能在走向社会的过程中容易适应软件研发、设计、测试等实践工作。

(4)考核方式重理论轻实践

现有的《Web程序设计》课程考核还是以理论为主,虽然也包含了一些实验题目,但是总体比重较低(10%),而且各个实验题目比较孤立,难以真正检测学生的整体实践开发水平。

综上所述,其根本原因就是忽视了学生在教学过程中的主导地位,因此,将“以学生为中心”的教学理念引入到了《Web程序设计》的教学过程中。

4 《Web程序设计》教学改革实践(The practice of teaching reform to web programming)

4.1 总体思路

在此次的教学改革实践中,使用了契约法和案例教学法。首先,担任本门课的相关教师事先设定10个网站开发设计的题目,并且将每一个题目进行分解成具体的小任务。这10个题目包含了《Web程序设计》课程大纲体系中的大部分的知识点。然后在课程开始前,学生要自发的组成开发小组,一般由2-3名同学组成,扮演不同的开发角色,这样既能避免部分学生偷懒,又能锻炼学生的团队合作意识。接下来由组长选择开发设计任务,与任课教师形成一个契约关系。在课程开始后,教师要根据事先分解好的小任务讲解相关的知识点,学生带着任务听课,随时将所学的知识加以应用。总体思路是任务分解—知识点讲解—学生实践—互相评价—知识点讲解—学生实践—互相评价—……—任务总结。

4.2 实施案例

由于篇幅所限,这里以“在线图书销售系统”为例进行展开。

(1)任务分解。在进行任务分解的过程中,是站在网站开发者的角度,而不是单纯的学习者的角度。本案例中,可以将题目分解成需求分析、功能结构分析、数据库设计和网站的设计和实施等五个一级任务。然后将网站的设计和实施分解成网站环境配置、页面布局、页面设计、功能实现、数据库链接等五个二级任务。最后将功能实现任务再分解成登录功能、注册功能、加入购物车功能、搜索功能、支付功能、修改个人信息功能、评价功能、后台管理员对图书的增、删、改、查功能等8个三级任务。

(2)知识点的讲解。在讲解知识点时,要按照从一级任务到三级任务逐层讲解。由于前四个一级指标学生已经在《系统分析与设计》和《数据库原理》等先修课程里学过,因此这里只是简单的给学生讲解分析的思路;第五个一级任务按照下层的二级任务逐个进行讲解:网站环境配置主要讲解Visual Studio 2010的运行环境以及相关的文件;页面布局主要讲解如何进行页面布局,涉及CSS和DIV的相关知识点;页面设计主要讲解如何进行前台的页面设计,涉及Html控件和Web服务器端的控件的相关知识点;数据库的链接主要讲解如何实现前台和后台数据库的链接,涉及数据控件、connection对象、command对象等相关的知识点;而功能的实现这一部分要分解成三级任务来讲解:例如登录功能如何实现,涉及response对象、session对象、cookie对象、request对象、数据库等相关知识点;对图书的增删改查涉及到了数据控件,command对象等相关知识点。

(3)学生实践。按照教师讲课的顺序,学生每学完一个任务相关的知识点,就可以进行实践操作,运用所学到的知识完成本小组任务的一小部分。例如现根据先修课程中学到的知识进行需求分析,功能结构分析,数据库的设计;教师讲解完第一个知识点网站环境配置后,学生就可以在visual studio中创建站点;教师讲解完页面布局后,学生就可以在自己的站点内添加页面,同时使用CSS和DIV进行页面的布局;接下来运用各种控件进行页面的设计;最后根据各种对象相关知识实现相应的功能。

(4)互相评价。学生在实践完每一步后,都要向其他组和老师讲解分析和设计思路及过程,其他同学和教师给出建议和意见并做出评价。此过程可以使各组同学互相吸取经验和教训,教师也能掌握学生对知识的掌握程度。

(5)当所有知识点讲完的时候,各组同学的网站基本完成。

5 “以学生为中心”教学模式的优势(The advantage of teaching mode of "student centered")

通过上述实践,总结出“以学生为中心”的教学模式有以下几个优势:

(1)从知识的讲解上。教师在讲授《Web程序设计》这门课程时不再是孤立的知识点的讲解,而是由任务触发,按照为实现某个任务而涉及到的知识点进行展开讲解。

(2)从学生对知识的理解上。“以学生为中心”的教学模式中,学生由“被动”的听课转化为“主动”的去听课。在学习每一个知识点时都是带着任务去听,而且明确知道这个知识可以帮助我实现什么任务。学生学习的积极性更高,目的性更强。

(3)从实践操作上。学生的实践环节部分不再是孤立的小的实验,而是将整个网站的开发设计融入到整个教学过程中,学生每一次的实践都是为了完成整个网站设计的一部分,前后联系性更强,学生完成后的成就感增强,这对学生积极主动的学习下一个知识点起到促进作用。

(4)从考核方式上。“以学生为中心”教学模式的考核方式不在一味的强调理论知识的掌握,因为《Web程序设计》是一门实践性很强课程,所以更注重实践操作技能。因此,减少了笔试成绩的比重,增加了对实践的过程评价(互相评价)和综合评价(最后的网站)的比重。

6 结论(Conclusion)

Web应用系统设计与实现的原理 篇10

MVC模式是一个复杂的架构模式,其实现也显得非常复杂。但是,已经总结出了很多可靠的设计模式,多种设计模式结合在一起,使MVC模式的实现变得相对简单易行。Views可以看作一棵树,显然可以用Composite Pattern来实现。Views和Models之间的关系可以用Observer Pattern体现。Controller控制Views的显示,可以用Strategy Pattern实现。Model通常是一个调停者,可采用Mediator Pattern来实现。

现在来了解一下MVC三个部分在J2EE架构中处于什么位置,这样有助于理解MVC模式的实现。MVC与J2EE架构的对应关系是:View处于Web Tier或者说是Client Tier,通常是JSP/Servlet,即页面显示部分。Controller也处于Web Tier,通常用Servlet来实现,即页面显示的逻辑部分实现。Model处于Middle Tier,通常用服务端的java Bean或者EJB实现,即业务逻辑部分的实现。

1 设计思想

MVC即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。

1.1 视图(View)

代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交给模型(Model)处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。

1.2 模型(Model):

就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。目前流行的EJB模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。它仅仅说明按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。对一个开发者来说,就可以专注于业务模型的设计。MVC设计模式表明,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。抽象与具体不能隔得太远,也不能太近。MVC并没有提供模型的设计方法,而指出应该组织管理这些模型,以便于模型的重构和提高重用性。可以用对象编程来做比喻,MVC定义了一个顶级类,告诉它的子类只能做这些,但没法限制能做这些。这点对编程的开发人员非常重要。

业务模型还有一个很重要的模型那就是数据模型。数据模型主要指实体对象的数据保存。比如将一张订单保存到数据库,从数据库获取订单。可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。

1.3 控制(Controller)

可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后,并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。

模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。模型、视图、控制器三者之间的关系和各自的主要功能如图1所示。

2 实现

ASP.NET提供了一个很好的实现这种经典设计模式的类似环境。开发者通过在ASP页面中开发用户接口来实现视图;控制器的功能在逻辑功能代码(.cs)中实现;模型通常对应应用系统的业务部分。在ASP.NET中实现这种设计而提供的一个多层系统,较经典的ASP结构实现的系统来说有明显的优点。将用户显示(视图)从动作(控制器)中分离出来,提高了代码的重用性。将数据(模型)从对其操作的动作(控制器)分离出来可以设计一个与后台存储数据无关的系统。就MVC结构的本质而言,它是一种解决耦合系统问题的方法。

2.1 视图

视图是模型的表示,它提供用户交互界面。使用多个包含单显示页面的用户部件,复杂的Web页面可以展示来自多个数据源的内容,并且网页人员,美工能独自参与这些Web页面的开发和维护。

在ASP.NET下,视图的实现很简单。可以像开发Windows界面一样直接在集成开发环境下通过拖动控件来完成页面开发。本文中介绍每一个页面都采用复合视图的形式即:一个页面由多个子视图组成;子视图可以是最简单HTML控件、服务器控件或多个控件嵌套构成的Web自定义控件。页面都由模板定义,模板定义了页面的布局、用户部件的标签和数目,用户指定一个模板,平台根据这些信息自动创建页面。针对静态的模板内容,如页面上的站点导航、菜单,友好链接,这些使用缺省的模板内容配置;针对动态的模板内容,由于用户的请求不同,只能使用后期绑定,并且针对用户的不同,用户部件的显示内容进行过滤。使用由用户部件根据模板配置组成的组合页面,增强了可重用性,并原型化了站点的布局。

视图部分大致处理流程如下:首先,页面模板定义了页面的布局;页面配置文件定义视图标签的具体内容;然后,由页面布局策略类初始化并加载页面;每个用户部件根据自己的配置进行初始化、加载校验器并设置参数,以及事件的委托等;用户提交后,通过了表示层的校验,用户部件把数据自动提交给业务实体即模型。

这一部分主要定义了Web页面基类Page Base;页面布局策略类Page Layout完成页面布局,用于加载用户部件到页面;用户部件基类User Control Base即用户部件框架,用于动态加载检验部件,以及实现用户部件的个性化。为了实现Web应用的灵活性,视图部分也用到了许多配置文件,例如,配置文件有模板配置、页面配置、路径配置、验证配置等。

2.2 控制器

为了能够控制和协调每个用户跨越多个请求的处理,控制机制应该以集中的方式进行管理。因此,为了达到集中管理的目的引入了控制器。应用程序的控制器集中从客户端接收请求,决定执行什么商业逻辑功能,然后将产生下一步用户界面的责任委派给一个适当的视图组件。

用控制器提供一个控制和处理请求的集中入口点,它负责接收、截取并处理用户请求;并将请求委托给分发者类,根据当前状态和业务操作的结果决定向客户呈现的视图。在这一部分主要定义了Http Req Dispatcher(分发者类)、Http Capture(请求捕获者类)、Controller(控制器类)等,它们相互配合来完成控制器的功能。请求捕获者类捕获HTTP请求并转发给控制器类。控制器类是系统中处理所有请求的最初入口点。控制器完成一些必要的处理后把请求委托给分发者类;分发者类负责视图的管理和导航,它管理将选择哪个视图提供给用户,并提供给分发资源控制。在这一部分分别采用了分发者、策略、工厂方法、适配器等设计模式。

为了使请求捕获者类自动捕获用户请求并进行处理,ASP.NET提供低级别的请求/响应API,使开发人员能够使用.NET框架类为传入的HTTP请求提供服务。为此,必须创作支持System.Web.IHTTPHandler接口和实现Process Request()方法的类即:请求捕获者类,并在Web.config的节中添加类。ASP.NET收到的每个传入HTTP请求最终由实现IHTTPHandler的类的特定实例来处理。IHttp HandlerFactory提供了处理IHttp Handler实例URL请求的实际解析的结构。HTTP处理程序和工厂在ASP.NET配置中声明为Web.config文件的一部分。ASP.NET定义了一个配置节,在其中可以添加和移除处理程序和工厂。子目录继承Http Handler Factory和Http Handler的设置。HTTP处理程序和工厂是ASP.NET页框架的主体。工厂将每个请求分配给一个处理程序,后者处理该请求。例如,在全局machine.config文件中,ASP.NET将所有对ASP文件的请求映射到Http Capture类:

2.3 模型

MVC系统中的模型从概念上可以分为两类系统的内部状态和改变系统状态的动作。模型是所有的商业逻辑代码片段所在。本文为模型提供了业务实体对象和业务处理对象:所有的业务处理对象都是从Process Base类派生的子类。业务处理对象封装了具体的处理逻辑,调用业务逻辑模型,并且把响应提交到合适的视图组件以产生响应。业务实体对象可以通过定义属性描述客户端表单数据。所有业务实体对象都Entity Base派生子类对象,业务处理对象可以直接对它进行读写,而不再需要和request、response对象进行数据交互。通过业务实体对象实现了对视图和模型之间交互的支持。实现把“做什么”(业务处理)和“如何做”分离。这样可以实现业务逻辑的重用。由于各个应用的具体业务是不同的,这里不再列举其具体代码实例。

3 扩展

通过在ASP.NET中的MVC模式编写的,具有极其良好的可扩展性。它可以轻松实现以下功能:

(1)实现一个模型的多个视图。

(2)采用多个控制器。

(3)当模型改变时,所有视图将自动刷新。

(4)所有的控制器将相互独立工作。

这就是MVC模式的好处,只需在以前的程序上稍作修改或增加新的类,即可轻松增加许多程序功能。以前开发的许多类可以重用,而程序结构根本不再需要改变,各类之间相互独立,便于团体开发,提高开发效率。下面讨论如何实现一个模型、两个视图和一个控制器的程序。其中模型类及视图类根本不需要改变,与前面的完全一样,这就是面向对象编程的好处。对于控制器中的类,只需要增加另一个视图,并与模型发生关联即可。该模式下视图、控制器、模型三者之间的示意图如图2所示。

同样也可以实现其它形式的MVC例如:一个模型、两个视图和两个控制器。从上面可以看出,通过MVC模式实现的应用程序具有极其良好的可扩展性,是ASP.NET面向对象编程的未来方向。

4 MVC的优点

大部分过程语言比如ASP、PHP开发出来的Web应用,初始的开发模板就是混合层的数据编程。例如,直接向数据库发送请求并用HTML显示,开发速度往往比较快,但由于数据页面的分离不是很直接,因而很难体现出业务模型的样子或者模型的重用性。产品设计弹性力度很小,很难满足用户的变化性需求。MVC要求对应用分层,虽然要花费额外的工作,但产品的结构清晰,产品的应用通过模型可以得到更好地体现。

(1)最重要的是应该有多个视图对应一个模型的能力。在目前用户需求的快速变化下,可能有多种方式访问应用的要求。例如,订单模型可能有本系统的订单,也有网上订单,或者其他系统的订单,但对于订单的处理都是一样,也就是说订单的处理是一致的。按MVC设计模式,一个订单模型以及多个视图即可解决问题。这样减少了代码的复制,即减少了代码的维护量,一旦模型发生改变,也易于维护。

(2)由于模型返回的数据不带任何显示格式,因而这些模型也可直接应用于接口的使用。

(3)由于一个应用被分离为三层,因此有时改变其中的一层就能满足应用的改变。一个应用的业务流程或者业务规则的改变只需改动MVC的模型层。控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起完成不同的请求,因此,控制层可以说是包含了用户请求权限的概念。

(4)它还有利于软件工程化管理。由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化产生管理程序代码。

5 结语

Web应用程序设计 篇11

摘 要:现阶段,Java Web技术较为成熟,其是现代社会中应用非常普遍的技术。就目前状况而言,Java Web技术依然存在着一些较为明显的缺陷,在一定程度上降低了信息传送过程的安全性。结合工作经验与相关理论知识,在本文中探讨了Java 应用程序安全技术,供有关人员参考借鉴。

关键词:应用程序;安全技术;研究

近年来,基于Web的应用系统俨然已经成为发展速度最快的计算机应用系统之一,在民用与军用领域都发挥着不可替代的作用。然而应当看到的,一些不良因素会降低Web技术的安全性,最终影响技术的应用。为此,有关方面必须要采取有效措施以提升Web技术的安全系数。

1 Web应用程序所面临的威胁

Web应用程序是基于HTTP基础开发的,该程序由客户端以及服务器两大基本结构构成,主要功能是处理客户端请求并发送相关的数据。现阶段各种应用程序面临着较高的风险,Web程序自然也不例外。通过分析,可以发现Web程序面临的安全威胁主要包括通信过程的安全威胁、客户端安全威胁以及服务端安全威胁[1]。

黑客攻击Web应用程序,通过破坏通信过程促使通信数据的完整性以及机密性受到严重的损害。黑客破坏Web应用程序、盗取信息的途径还有攻击Web应用程序的客户端,主要方式是借助恶意代码利用客户端的安全漏洞。某些情况下,客户端存在着缺陷为恶意代码的运行提供便利的条件,恶意代码直接在程序中执行,所造成的危害也将会更加巨大。除此之外,黑客还有可能利用Web服务端代码的隐藏缺陷来攻击程序,与此同时,基于部分服务端存在着运行支撑环境缺陷,黑客还会通过利用支撑环境缺陷的形式来实现窃取有用信息的目的。

2 Web安全研究

2.1 Ajax

作为一种创建交互式的网页开发技术,Ajax面世后受到了信息界的广泛关注。Ajax技术在程序中应用能够实现后台异步数据读取的功能,如此能有效地提升用户操作的简便性。互联网技术的研发初衷是提升用户的操作体验,实现程序与用户之间的良好交互,所以Ajax技术的应用前景十分广阔。

然而也应当看到Ajax技术的缺陷,该技术的应用时间相对较短,也就是说Ajax属于新技术范畴,而任何一种信息技术都需要经过大量的实践检验方能日益完善,所以理论上Ajax依然可能存在着许多隐藏的缺陷,因此Ajax所面临的安全风险相对较高。为了最大程度地提升Ajax技术的应用安全,应当在在其中嵌入相应的保护性程序。通常情况下,如果页面发生改变,则需要及时通知用户,与此同时,为了保护用户信息的安全,需要在服务器与客户端检查用户的输入信息是否准确可靠。某些情况下,服务器可能需要开展用户认证工作,而认证工作应当在所用服务器脚本上展开,如此能够最大程度地保障认证工作的质量、降低信息被盗取的概率。此外,应用程序客户端应当对各类返回数据进行检验[2]。

2.2 cookie

对于程序员而言,cookie并不陌生,这是一种为了增强用户身份识别工作简便性与准确性的数据。Cookie能够帮助应用程序服务器实现快速识别用户信息的目的,换句话讲,应用cookie技术后,用户认证信息会被即时储存,下一次服务器便能够快速地识别提取用户信息,从而省去大量的信息认证程序,在人人追求高效率的今天,cookie技术的应用具有极为重要的现实意义。

在看到cookie技术的便利性的同时,也应当清醒地认识到该技术的不足之处。在过去的几年内,经常发生黑客攻击应用cookie技术的网站而造成用户信息与机密网络数据泄漏的案件,造成了极大的损失。统计数据显示,web蠕虫以及XSS/CSRF是威胁cookie技术应用的主要病毒形式。

web蠕虫病毒的破坏力与传播性极强,其利用应用程序的安全漏洞进行传播。Web蠕虫的主要危害包括执行恶意脚本、劫持回话以及盗取用户的cookie信息。就目前状况而言,由于技术上的限制,技术人员依旧无法有效解决web蠕虫病毒感染问题,而随着信息技术的迅猛发展,相信在不久的将来,人们能够寻找到抵御web蠕虫病毒风险的有效方法。

CSRF能够伪装成网站受信任用户的请求,在网站接收到伪装请求后,CRSF便能利用该网站。一般认为,CSRF病毒出现频率不高,所以业界并没有针对该病毒的有效防范措施,所以某种意义上,CRSF病毒的危险性极高。通常情况下,能够通过增加人机交互环节的形式来降低程序受病毒攻击的风险,可以增加双因素口令卡以及图片验证码以避免客户端脚本访问用户的cookie。

2.3 JavaScript

JavaScript是一种较为安全的脚本语言,其是基于对象和事件驱动技术研发的。基于JavaScript技术开发的网页具有生动简洁的优势,同时又由于语言比较简便易学,因此JavaScript受到了广大专业程序员以及编程爱好者的欢迎。就目前而言,函数句柄劫持以及DOM劫持是JavaScript网页的主要威胁。

函数句柄劫持是黑客常见的攻击应用JavaScript语言的程序的手段,其通过重新赋值或者定义的方式来实现攻击程序或者网站的目的。某些情况下,被劫持函数的原有句柄副本并不会被黑客保留,这种状况下的函数反劫持工作具有极高的难度。

DOM劫持也是较为常见的劫持方式,需要特别指出的是,在document对象被恶意代码劫持后,函数句柄反劫持手段将不会发挥任何作用。目前,国内信息安全人才储备不足,“白帽黑客”的概念未能深深扎根于互联网行业之中,因此应当采取有效措施提高在岗信息安全人员的综合素质,并大力引进高素质、复合型人才,与此同时,需要不断更新程序架构,完善各种脚本语言。

3 结语

互联网技术与信息技术深刻地影响了人类的文明进程,赋予了人类无穷的乐趣,鉴于目前Java web 应用程序依然存在着较多安全缺陷的情况,信息安全人员应当积极学习先进的科学技术知识、不断提升自身综合素质,勇于开拓创新,如此方能最大程度地促进信息行业的长足进步。

参考文献:

[1]冯扬.云安全技术研究[J].电力信息与通信技术,2014(01).

Web应用程序设计 篇12

1 JBoss AS和JBoss Cluster

JBoss AS是一种开源的实现Java EE(Enterprise Edition)规范的应用服务器软件,是目前社会上应用最广的Java EE应用服务器软件之一。目前最新的稳定版是实现Java EE v6的Jboss-6.1.0.Final。它已根据潜在用户的不同需求定制了几个配置,如all、default、minimal、standard等。

JBoss Cluster开始于2001年4月,现在已部署在JBoss AS的all配置中。用户只需进行简单修改就能利用JBoss Cluster提供的强大功能。JBoss Cluster是一组具有共同功能的节点(Node)的划分(Partition)。一个节点可以是一台JBoss AS机器,也可以是一台机器中多个JBoss AS实例(Instance)中的一个。通过多节点的架构,JBoss Cluster就能实现容错恢复(Fault Tolerance)和负载均衡(Load Balancing)的目的,能容错恢复就能提高系统的可靠性,能负载均衡就能提高系统的性能。

JBoss Cluster的特点:集群中的节点通过底层软件JGroup的多播数据包能自动发现;对JNDI(Java Naming and Directory Interface)、EJB(Enterprise Java Bean)等的容错恢复和负载均衡;对HTTP Session的复制等。

2 Web应用与Java EE简介

Web应用技术从1989年发展到现在,从静态HTML页面到动态服务页面,再到现在Web2.0。Web应用也从最初的信息检索发布,发展到现在以人为中心的、以数据为核心的社会服务形式。但客户端请求(Request)、服务器端响应(Response)的传统应答模式没有改变。高可靠性(Hign Availability)、高性能计算(High Performance Computing)仍然是Web应用系统的追求目标。

Java EE为企业开发基于Java语言的应用提供了一组规范(Specification)。依照该规范开发的基础软件(Web Server和Application Server)和上层应用软件可以由不同厂商独立开发,同一应用软件可以部署在不同的基础软件上,从而为软件的跨平台、可移植提供了保障。该规范很好地涵盖了Web应用开发的很多方面,定义了一组企业开发组件:

Servlet:用来接收客户端发送过来的Http Request,并做出相应的Http Response。

Entity Bean:用来展示、保存实体数据,与企业信息存储系统交互。

Stateless Session Bean:客户端随机使用一个该实例,该实例的两次函数调用间不保存客户端状态。

Stateful Session Bean:该实例保存函数调用间的状态,一个客户端生产对应的一个实例。

Singleton Session Bean:只有一个实例,在多个客户端间共享,支持并发访问。

3 JBoss Cluster中Java EE核心服务、开发组件的集群化

JNDI:是Java EE应用服务器提供的最重要服务之一,JBoss Cluster提供的HA-JNDI服务具有透明的容错恢复、负载均衡、客户端自动发现、统一的JNDI视图等。对于在同一AS中的客户端,只需在初始化InitialContext时,指定jnp.partitionName的值为你的分区名;对于客户端在另一个JVM(Java Virtual Machine)中的客户端,则需在初始化InitialContext时,指定java.naming.provider.url=node1:1100,node2:1100,nodeN:1100即可。

Session Bean:对于Stateless类型的Session Bean,只需在该类打上org.jboss.ejb3.annotation.Clustered的评注即可。对于Stateful类型的Session Bean,由于在函数调用间有状态,所以除了增加同样的Clustered评注外,还需指定存储状态信息的CacheConfig评注。

Entity Bean:在JBoss Cluster中,所有节点里的Entity Bean实例通过分布式缓存、复制来保持同步。通过在持久化配置文件persistence.xml中添加二级缓存来减少与数据库的往返,从而提高性能,同时给每个Entity Bean打上org.hibernate.annotations.Cache的评注

Http Session:只要是Session状态复制和负载均衡。第一步通过在Web部署描述文件Web.xml中增加来实现。在JBoss AS 6.0中配置了一个基于Apache Httpd的负载均衡器mod_cluster组件,JBoss AS节点通过mod_cluster的专有连接与前端的Httpd服务器进行状态等信息的交互,从而Httpd能更快、更好地发现后台集群中JBoss AS节点的变化,为容错恢复和负载均衡提供更快的预处理。

4 系统架构设计

如图1所示:用户的http访问请求通过Apache Httpd服务器负载均衡到JBoss AS Web集群中的不同节点机器上,该节点将该请求通过https重定向到自己的登录服务Servlet上(图中3和4),该Servlet通过HAJNDI找到JBoss AS EJB集群中的EJB Bean,该Bean通过查询数据库等后台基础服务后,确认登录是否成功,并将结果返回给Servlet,Servlet再将登录结果直接返回给访问用户。该系统为了提高系统性能,做了两次均衡负载,首先是通过Apache Httpd将大量的访问请求随机分配给后台的Web集群,这样Web集群中的不同节点就可以并行工作;第二次是通过HAJNDI将Web集群中Servlet需要的EJB服务随机分配到EJB集群中,这样EJB集群中节点也就可以并行工作。在每个集群中通过Cache机制,也实现了高可靠性。

5 系统主类图

如图2所示:在JBoss AS Web集群中,每个节点上部署一个Web应用包(即war包),该war包中主要包含一个从HttpServlet中扩展来的LoginServlet类,该类通过检测收到请求的Scheme,如果是http则将该请求重定向为https请求,因为https请求会从用户端带上用户个人证书。该Servlet通过HAJNDIFactory得到JBoss AS EJB中的LoginServiceBean的引用。在JBoss AS EJB集群中,有一个单例、初始化的DatabaseConnectionPool,LoginServiceBean通过该单例得到DatabaseConnec-tion实例。LoginServiceBean类定义打上@Clustered注释,是配合HAJNDI应用功能的。

6 核心代码

摘要:该文从软件开发实用技术的角度出发,介绍了一种采用Java开源软件JBoss AS所提供的集群功能,来架构、设计、开发高性能、高可靠性的Web应用的方法。

关键词:集群,JBoss AS,Web应用,架构设计

参考文献

[1]Labourey S,Burke B.JBoss AS Clustering v2.0[M].The JBoss Group,2002.

上一篇:覆盖路标技术下一篇:WEB使用挖掘