正在加载图片...
前 此刻你手中的是几个 Struts最重要的开发者的艰辛成果。Ted, Cedric, George,和 David 他们一起完成了一个卓越的工作,阐释了 Struts的工作原理和如何实际使用它。如果你是一 个新手,本书将使你很快入将 Struts应用到你的实际项目中。当然即使是最老道的 Struts开发 者也可以从中学到不少东西 我从上世纪90年代末开始对Web框架发生兴趣。我准备写一种语言,它可以使我能解决 在进行高级开发时的某些问题-通过它可以使我从动态分配内存中的问题中解放出来 一开始,我真正想实现的是如何使一些Wcb应用开发者的工作变得容易一点。但后来 Struts那以置信的流行说明我并不是唯一在这些问题中挣扎的人 Struts满足了通常的需要 当早期的JSP规范草案发布时(0.91和0.92),此文档中最迷人概念的是JSP使用了两种 基本设计风格的理念。 Model l设计主要表现在表单提交可以回复到创建该表单的 Servlet或 JSP页面。这种设计鼓励混合表瑰逻辑(用来创建表单)和业务逻辑(用来验证表单输入和 处理请求事务)。这种设计在那些开发者仅具单一技能(比如页面设计者懂一些编程而JAVA 开发者也知道一些HIML)时经常使用。而且在时间第一的情况下也很有用(原型必须在下 周一运行而我们还没有获得风险投资)。而经验告诉我们, Model 1设计在后来会很难进 行维护和升级。 相反, Model2设计是将表单提交给一个控制器组件。控制器组件调度相应的业务逻辑 组件来完成请求的事务。业务逻辑组件和数据库交互,并获取它在下次用户交互所需要的信 息。控制器组件将响应页面的创建委派给表现组件,表现组件只有一个目的,就是创建响应。 你可能想 Model2听起来好像更加复杂—也许甚至好想要完全扼杀简单应用。实际上,基于 Model2创建一个应用并不比用 Model 1创建同一个应用花太多的时间。但主要的优点会很 快显现出来。如果你创建了一个正确的应用,对一层的主要修改,应该基本不会影响到其它 层(如果有的话),并且你可以马上在没受影响的层重用你的逻辑。 虽然,所有这些对Web应用架构的聪明的研究正在进行,但我的专业工作让我也对方向 感兴趣。我正为一个专为长途运输行业提供信息服务的美国公司工作,并且我们正在准备将 业务扩展到欧洲。这样就产生了处理多语言和国际化问题的需要。我很快就受到了我用来实 现基本MⅤC的单一的简单 Servlet的折磨,即它没有解决包含一个语言选择控件的问题。 对国际化问题的第一次努力是我尝试使用JSP.1种的新的标记来创建“用户接口组件” 它最终导致了现在 Struts一个标记<bean: message 紧跟着,我加入到 Sun Microsystems并工作于 Tomcat servlet和 jSP container的创建(我 是 Tomcat4的基础 Catalina servlet容器的主要架构者)。这个开发的大部分工作是在 Apache 的开源社区内进行,作为 Jakarta项目的一部分一本项目由1999年Sun贡献了 servlet和JSP 参考实现源代码给 Apache起始。然而,我并不满意于那时候 Model2-面向应用设计的状态,所 以我开始想怎样来解决这个问题 虽然我已经有了一个漂亮的注意,来解决剩下的问题,但实际代码并没开始,直到在2000 年纪念日我和我的家人在 Oregon海岸过周末的时候,我将我的笔记本电脑也带了去,并应起 了我妻子的很大抱怨。后来成为 Action Form的最初最初版本就诞生在那个周末,它组建开 始解决大量有趣的问题。另外,为表现组件和业务组件定义逻辑名称的理念一以及集中在 个文件中定义这些名称的理念一非常清楚地有益于解决在开发两层之间的协调和重叠问题,前言 此刻你手中的是几个Struts最重要的开发者的艰辛成果。Ted, Cedric, George, 和 David, 他们一起完成了一个卓越的工作,阐释了Struts 的工作原理和如何实际使用它。如果你是一 个新手,本书将使你很快入将Struts应用到你的实际项目中。当然即使是最老道的Struts开发 者也可以从中学到不少东西。 我从上世纪90年代末开始对Web框架发生兴趣。我准备写一种语言,它可以使我能解决 在进行高级开发时的某些问题--通过它可以使我从动态分配内存中的问题中解放出来。 一开始,我真正想实现的是如何使一些Web应用开发者的工作变得容易一点。但后来 Struts那以置信的流行说明我并不是唯一在这些问题中挣扎的人—Struts满足了通常的需要。 当早期的JSP规范草案发布时(0.91和0.92),此文档中最迷人概念的是JSP使用了两种 基本设计风格的理念。Model 1 设计主要表现在表单提交可以回复到创建该表单的Servlet或 JSP页面。这种设计鼓励混合表现逻辑(用来创建表单)和业务逻辑(用来验证表单输入和 处理请求事务)。这种设计在那些开发者仅具单一技能(比如页面设计者懂一些编程而JAVA 开发者也知道一些HTML)时经常使用。而且在时间第一的情况下也很有用(原型必须在下 周一运行而我们还没有获得风险投资)。而经验告诉我们, Model 1 设计在后来会很难进 行维护和升级。 相反,Model 2 设计是将表单提交给一个控制器组件。控制器组件调度相应的业务逻辑 组件来完成请求的事务。业务逻辑组件和数据库交互,并获取它在下次用户交互所需要的信 息。控制器组件将响应页面的创建委派给表现组件,表现组件只有一个目的,就是创建响应。 你可能想Model 2听起来好像更加复杂—也许甚至好想要完全扼杀简单应用。实际上,基于 Model 2 创建一个应用并不比用Model 1创建同一个应用花太多的时间。但主要的优点会很 快显现出来。如果你创建了一个正确的应用,对一层的主要修改,应该基本不会影响到其它 层(如果有的话),并且你可以马上在没受影响的层重用你的逻辑。 虽然,所有这些对Web应用架构的聪明的研究正在进行,但我的专业工作让我也对方向 感兴趣。我正为一个专为长途运输行业提供信息服务的美国公司工作,并且我们正在准备将 业务扩展到欧洲。这样就产生了处理多语言和国际化问题的需要。我很快就受到了我用来实 现基本MVC的单一的简单Servlet的折磨,即它没有解决包含一个语言选择控件的问题。 对国际化问题的第一次努力是我尝试使用JSP1.1种的新的标记来创建“用户接口组件” —它最终导致了现在Struts一个标记<bean:message>。 紧跟着,我加入到Sun Microsystems 并工作于Tomcat servlet 和 JSP container的创建(我 是Tomcat 4的基础 Catalina servlet 容器的主要架构者)。这个开发的大部分工作是在Apache 的开源社区内进行,作为Jakarta项目的一部分—本项目由1999年Sun 贡献了servlet 和 JSP 参考实现源代码给Apache起始。然而,我并不满意于那时候Model 2-面向应用设计的状态,所 以我开始想怎样来解决这个问题。 虽然我已经有了一个漂亮的注意,来解决剩下的问题,但实际代码并没开始,直到在2000 年纪念日我和我的家人在Oregon海岸过周末的时候,我将我的笔记本电脑也带了去,并应起 了我妻子的很大抱怨。后来成为ActionForm的最初最初版本就诞生在那个周末, 它组建开 始解决大量有趣的问题。另外,为表现组件和业务组件定义逻辑名称的理念—以及集中在一 个文件中定义这些名称的理念—非常清楚地有益于解决在开发两层之间的协调和重叠问题
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有