`
Lincoln
  • 浏览: 81944 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Tapestry学习笔记(1)

阅读更多

1.  什么是面向组件开发方式

Tapestry最大的特点是其颠覆性的开发方式。所谓颠覆,是指Tapestry的开发方式不光与传统的开发方式截然不同,而且还是在逐渐取代传统的开发方式。在web表现层框架中有两大开发方式,一种是传统的面向元素开发方式,这种开发方式也是最早出现的开发方式。绝大多数框架都是使用面向元素开发方式,比如 StructsWebWorkSpringMVC等。在面向组件开发方式出现的原因正是为了弥补面向元素开发方式中种种不足之处。因此,我们可以认为面向组件的开发方式比面向元素的开发方式更加先进。目前,面向组件的Web表现层框架有三种:TapestryJSFWicket

2.传统的面向元素开发方式

       Java语言中,我们都是使用Java Servlet  API来创建Web应用程序。Java Servlet APISUN公司制定的标准。Servlet是一个Java类,它的作用是接收客户端发送过来的请求,然后返回一个响应,最后通过客户端浏览器显示出一个HTML页面。Java Servlet APIServlet定义了一些基础类,例如 HttpServletRequest,该对象装载了客户端发送过来的请求,并允许Servlet获取URL中携带的质询参数。

       ServletServlet容器中运行,Servlet容器是HTTP协议与Java Servlet API 之间的桥梁。Servlet容器负责创建Servlet实例并对其进行初始化。很多软件都提供了Servlet容器,其中有些软件的全部功能只是为了提供Servlet容器,例如,Apache Tomcat,Resin,Jetty等,而在有些软件中,Servlet容器可能只是一个庞大应用程序服务器中的一部分,例如,BEA WebLogic,IBM WebSphere 或开源的JBoss应用程序服务器。

       Servlet容器根据URL来选择合适的Servlet响应请求,一个简单的Web应用程序可能包含许多Servlet。那么在Web应用程序的部署描述文件(应用程序中的一个XML文件通常命名为web.xml,放置在应用程序中的WEB/WEB-INF/目录下)中,我们就必须对每一个Servlet的名称和Java类全路经进行配置,并且配置URLServlet的映射关系。例如:

  <servlet>

    <description>This is the description of my J2EE component</description>

    <display-name>This is the display name of my J2EE component</display-name>

    <servlet-name>MyServlet</servlet-name>

    <servlet-class>com.wanjin.MyServlet</servlet-class>

  </servlet>

  <servlet-mapping>

    <servlet-name>MyServlet</servlet-name>

    <url-pattern>/servlet/MyServlet</url-pattern>

  </servlet-mapping>

那么当客户端请求URL中包含“/servlet/MyServlet”字符串的时候,Servlet容器将会查找名称为“myServlet”的Servlet,然后根据名称为“myServlet”的ServletJava类群路径“com.wanjin.MyServlet”创建Servlet实例,并对其进行初始化。MyServlet类在接受到客户端返回相应。相应的结果以一个HTML,页面的形式在客户端浏览器出现,该叶面向是勒我们希望客户端得到的应用程序业务信息。

       整个过程是很简单的。但是当我们面对一个庞大Web应用程序的时候,该用程序就可能包含大量的Servlet。这就意味着我们必须定义大量的URLServlet映射关系。那么,应用程序的URL结构将变得越来越复杂,也越来越容易发生混淆。于是,在应用程序开发阶段,我们不得不将绝大部分精力用于处理数量众多且易于混淆的URL

       在传统的开放方式中,例如,JavaServer Page (JSP)SpringMVCStruts,WebWork中,我们必须关注叶面中每一个<a>元素的href属性,以及form元素的action属性,因为这些属性装载了向服务器发送请求的URL.大多数情况下,我们对这些HTML元素属性的关注甚至超过了我们对应用程序业务逻辑的关注。我们将这种开发方式称为面向元素(标签)开发方式。

分享到:
评论

相关推荐

    Tapestry笔记

    【Tapestry笔记】 Tapestry是一个基于Java的Web应用框架,它采用了面向组件的开发方式,这使得它与其他如Structs、WebWork、SpringMVC等采用传统面向元素开发方式的框架有所不同。面向组件的开发模式旨在克服面向...

    struts2学习笔记

    ### Struts2学习笔记知识点详解 #### 一、Struts2框架概览 **起源与发展:** Struts2是WebWork框架的后续版本,融合了Struts1和WebWork的优点,形成了一种更为先进和灵活的MVC框架。相较于Struts1,Struts2在设计...

    Struts2学习笔记

    Struts2提供了丰富的插件和集成框架,可以与其他技术如Spring、Hibernate等无缝配合,提供了如JSF、Tapestry、SpringMVC等视图层框架的替代方案。面向接口编程、面向组件编程和面向方面编程的思想在Struts2中得到了...

    spring学习笔记

    本学习笔记将深入探讨Spring 3.0 MVC框架,帮助读者理解并掌握其主要特性。 首先,Spring MVC设计的核心理念是高度可配置性。每个功能模块都可以根据需求进行定制,这意味着开发者可以根据项目需求调整框架的工作...

    appfuse 学习笔记

    AppFuse 是一个开源项目,旨在加速和简化J2EE应用程序的开发流程。由Matt Raible设计,它作为一...通过深入阅读和实践AppFuse的学习笔记,开发者可以逐步掌握其核心功能,并将其应用到实际项目中,提升开发质量和效率。

    spring学习笔记(非完全版)

    1. 核心容器(Core Container):包括Spring Core、Beans、Context和Expression Language模块。其中,Spring Core负责框架的基本组成部分,Beans模块提供Bean工厂,用于管理应用对象的创建和配置,Context模块建立在...

    AppFuse学习笔记

    1. 下载并解压 AppFuse 的 Tapestry 版本。 2. 安装 JDK(本文使用 1.5.0),设置 `JAVA_HOME` 环境变量并更新 PATH。 3. 安装 Tomcat(本文使用 5.5.17),设置 `CATALINA_HOME`。 4. 下载 Ant(至少 1.6.2 版本,...

Global site tag (gtag.js) - Google Analytics