理解jsp模式2架构:MVC设计模式探险
日期:2007年11月4日 作者: 查看:[大字体 中字体 小字体]-
摘要:通过开发一个熟悉的基于web的购物店,你将学到如何工具化mvc设计模式并且真正地在使用jsp的时候分离内容和表现。Govind Seshadri 会向你展示这是多么的容易(2000字(原文字数))。
尽管相对抛开最近的相关介绍而言,jsp技术正在很好地以自己的方式成为卓越的创建提供动态web内容的应用程序的Java技术。java开发者因为许多不同的理由喜爱jsp。一些人喜欢它给交互式web页面带来了“一次编写,到处运行”的变化这个事实;另一些人欣赏它易学易用并且帮助人们把java作为服务器端脚本使用。但是都公认一件事——使用jsp最大的好处是能够有效地分离内容与表现。在这篇文章里,我来提供一个深入的看法,关于如何使用jsp模式2架构获得最佳的内容与表现的分离。这个模式也可以被看作流行的mvc设计模式在服务端的实现。请注意在开始之前你应该熟悉jsp和servlet编程,因为我不会在这篇文章中讨论语法问题。
那么,servlet有什么问题?
既然jsp用来提供动态web内容并且对于从表现层中分离内容很不错,一些人也许想知道为什么servlet要从jsp中脱离出来与它并列。servlet的功用没有问题。它对于服务端处理干得很好,而且,由于它重要的已安装基础,就适合这个。实际上,从结构上说,你可以把jsp看作实现为servlet 2.1 api的扩展的servlet高级抽象。仍然不应该不加区别地使用servlet;它可能不会适用于每一个人。举个例子来说,尽管页面设计者能够很容易地使用常规Html或者XML工具编写jsp页面,而servlet通常更适合后台开发者,他们通常使用某种IDE——一个通常需要高层次的编程专门知识的过程。当发布servlet时,即使开发者也必须留意和确认在内容和表现之间没有紧耦合。通常,你可以通过加入第三方的html封装包比如htmlkona来做这个。即使这样做了,尽管带来了一些简单的对于屏幕变化的伸缩性,仍然不能为你防止免受表现格式自身的变化的影响。例如,如果你的表现形式从html转变到dhtml,你将仍然需要确认你的封装包是否兼容这种新格式。在最坏的情况下,如果封装包不能用了,你可能最终会在动态内容内部硬编码表现形式。那么,解决办法是什么?就像你你将要看到的,一个办法将会同时使用jsp和servlet来创建应用系统。
差异哲学
早期的jsp规范主张两种使用jsp技术创建应用的哲学思路。这两种思路,用术语来说就是jsp模式1和模式2,本质上的区别在于大部分请求的处理发生的位置。在模式1架构中,如图1所示,jsp页面独立地负责处理请求和发送反馈给客户端。这里仍然有内容和表现的分离,因为所有的数据访问是使用bean完成的。尽管模式1架构应该很适合简单应用,但是对于复杂的实现是不可取的。这种结构的任意使用通常会导致大量的脚本和java代码嵌入到jsp页面中,特别是在有大量的请求需要处理的情况下。尽管这可能对java开发者来说不是一个大问题,但是却无疑是一个问题,如果你的jsp页面是由设计师创建和维护的话——在大项目中通常如此。最终,这个问题甚至会导致角色定义和责任分配的混乱,引起本可以轻松避免的项目管理的麻烦。

图1:jsp模式1结构
模式2架构如图2所示,是一个为动态内容服务的混合方案,因为它同时使用了servlet和jsp。它利用了两种技术的优势,使用jsp产生表现层而servlet负责执行敏感任务。在这里,servlet扮演控制器的角色,负责请求处理和产生jsp要使用的bean和对象,以及根据客户的动作决定下一步转发到哪一个jsp页面。特别要注意的是jsp页面内部并没有处理逻辑;它只是简单地负责取得可能是servelet事先创建的对象和bean,并为在了静态模版中插入从servlet释放出动态内容。我的观点是,这个办法一般会形成最干净彻底的表现与内容的分离,使得你的开发团队里的开发者和页面设计师的角色与责任能够清晰。实际上,你的应用越复杂,使用模式2带来的好处就越多。
- [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] 下一页
-
- 理解jsp模式2架构:MVC设计模式探险 相关文章:
- ·蕴含人生哲理:爱情名言爱情哲理100句
- ·人生哲理名言生活哲理短文
- ·VB+Access设计图书管理系统
- ·经典人生哲理:人生哲理短句
- ·照片处理:Photoshop人物照片换头术
- ·学生成绩管理系统实习
- ·Java学生成绩管理系统源代码
- ·知道对方的ip地址,如何查具体物理地址?
- ·格言警句:抱负理想名人名言
- ·网络管理员的好帮手--Sniffer
- 理解jsp模式2架构:MVC设计模式探险 相关软件
- ·天天理财 V1.0
- ·Windows清理助手V2.5.14.7.1221
- ·易达第二代身份证照片处理系统(lab色彩版) V1.4
- ·足球经理97硬盘版
- ·超级女助理
- ·电脑垃圾清理专家 V7.20 专业版
- ·手机管理软件SeleQ V1.8 中文版
- ·超级兔子清理王 V7.99 个人版
- ·驾照理论考试速成 V7.1 免费版
- ·欧洲足球经理中文版
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
下一篇:在W2K下组建JSP环境
精品推荐
热点TOP10
- ·JSP文件下载的几种方式
- ·js技巧收集(200多个)
- ·JSP Struts之HTML标签库详解
- ·JSP实现文件上传
- ·在jsp中用bean和servlet联合实现用户注册、登录
- ·新手入门经典:Jsp环境配置
- ·使用JSP + JAVABEAN + XML 开发的一个例子
- ·不用迭代算法而快速实现的jsp树结构
- ·JSP实现上传文件的两种方法
- ·jsp 自定义分页标签
- ·技巧:JSP登录验证功能的实现
- ·水晶报表的jsp实现
- ·理解jsp模式2架构:MVC设计模式探险
- ·jsp页面显示数据导出到excel表中
- ·在一个jsp页面实现二级下拉框联动,实时读取数据库数据
- ·JSP上传图片并生成缩略图
- ·实例详解JSP内置对象
- ·高效简单的jsp分頁
- ·JSP登录验证功能的实现
- ·使用lomboz调试JSP
