JSP架构、JSP开发工具优缺点比较

发表于:2010-12-08 10:22

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:海纳百川    来源:51Testing软件测试网采编

#
java
#
JAVA
#
Java
#
JSP
分享:

  随着技术的日新月异 ,JSP的新技术也层出不穷,为了方面大家的学习工作,下面将简单的介绍一下JSP架构、JSP开发工具、Web服务器及其铖缺点。

  JSP架构:

  struts:  Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。

  除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,比较灵活,能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。struts历经6年多的发展,是目前用户数最多、开发团队和社区最火热的框架,适用于中小型项目的快速开发。

  tapestry: Tapestry是一个开源的基于servlet的应用程序框架,它使用组件对象模型来创建动态的,交互的web应用。一个组件就是任意一个带有jwcid属性的html标记。其中jwc的意思是Java Web Component。Tapestry使得java代码与html完全分离,利用这个框架开发大型应用变得轻而易举。并且开发的应用很容易维护和升级。Tapestry支持本地化,其错误报告也很详细。Tapestry主要利用javabean和xml技术进行开发,是一个组件式的、事件驱动的框架,理念很先进,想实现类似于桌面程序开发的那种便捷模式。但是它的学习曲线比较陡峭,要花不少时间才能掌握它。它适合大型项目开发,随着组件的积累,开发越到后期可复用的组件越多,开发速度越快。

  spring mvc: Spring 的 Web MVC 框架是围绕 DispatcherServlet 设计的,它把请求分派给处理程序,同时带有可配置的处理程序映射、视图解析、本地语言、主题解析以及上载文件支持。默认的处理程序是非常简单的 Controller 接口,只有一个方法 ModelAndView handleRequest(request, response)。Spring 提供了一个控制器层次结构,可以派生子类。如果应用程序需要处理用户输入表单,那么可以继承 AbstractFormController。如果需要把多页输入处理到一个表单,那么可以继承 AbstractWizardFormController。spring提供的东东,使用了spring的IoC,并且也非常强大,但是感觉它比较接近低层,要关注的东西很多。

  JSF: JSF负责对客户端设备产生影响,它提供了将表示层、应用层和业务逻辑层整合在一起的工具,但是,JSF的范围被限制在表示层。

  以下是JSF Framwork提供最重要的服务。

  ◆MVC架构

  软件用户总是要操作各种数据,例如,一个潜在用户提交的注册信息,这些数据叫做model。软件开发人员必须将这些数据展现给用户,这就是视图views。在Web应用程序中,HTML文件用于描绘这些数据。

  JSF将model和view结合在一起。可以用下面的方式将model属性和view组件绑定:

  "#(user.username) "/>

  并且,JSF还充当控制器Controller的角色,它可以响应用户的事件(例如,提交数据或者修改了某一个值),将这些事件的数据交由处理model的类以更新model。例如,可以调用一个方法来判断某个用户是否被允许登陆:

  ◆数据类型转换

  用户在HTML表单输入的都是文本,而我们需要的可能是数字、日期等类型,JSF提供了非常简单的方法用于指定或者自定义数据转换规则。

  ◆验证和错误处理

  在JSF中可以非常简单的实现诸如“某个字段不得为空”或“某个自动必须为数字”之类的规则。客户还希望在他输入错误数据之后得到适当的提示,JSF提供了完成绝大多数类似任务的方法。

  ◆国际化

  JSF提供国际化发布管理,解决诸如字符编码和资源文件选择等课题。

  ◆自定义组件

  ◆可选择的渲染器

  缺省的,JSF将tag渲染为HTML格式。但是,也可以非常简单的扩展它,以适应其他渲染要求,比如WML。

  ◆工具支持

  这个得等。

  webwork: Webwork是一个源代码开放的Web应用框架,用于简化基于Web的应用开发。

  Webwork的最大优点是它的简单性和灵活性。Webwork有一个很小的API,它使开发者可以迅速进行开发工作。

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号