Ruby on Rails 和 J2EE 两者能否共存(二)

日期: 2007-12-17 作者:Aaron Rustad 来源:TechTarget中国

  Rails 采用了不同的方式。它没有依赖配置文件把请求映射到某一个动作,而是根据请求的 URL 发现适当的动作。从图 2 可以看到,URL http://localhost/order/delete/4 告诉 Rails 调用 OrderController 实例上的 delete 方法,并将 4 作为可用的实例变量。Rails 足够聪明,知道 /order 将映射到文件 order_controller.rb 中定义的一个控制器类。如果在控制器中定义了 find 方法,那么只要用 find 替代 URL 中的 delete,就可以调用这个方法。

  图 2. Rails 和 Struts 中的 URL 映射
 
  动作和模型

  在 Rails 和 Struts 中,动作用来充当前端控制器和模型之间的桥梁。开发人员提供动作的现实,从而提供特定于应用程序的请求处理。前端控制器负责接受请求,并把请求传递到特定动作。图 3 演示了 Rails 和 Struts 基本的动作层次结构。

  图 3. Rails 和 Struts 的动作层次结构
 
  Struts 要求开发人员扩展 Action 并覆盖 execute(),以处理请求。通常,每个 Action 类都提供了非常具体的工作单元。图 3 演示了三个特定动作:SaveOrderAction、DeleteOrderAction 和 ListOrdersAction。前端控制器将调用 execute() 方法,传递给它许多有用的对象,其中包括 HTTP 请求和响应对象。ActionForm 是一个类,它可以方便地向视图来回传输并验证与表单有关的输入,ActionMapping 包含映射的配置信息,就像 图 2 的 XML 所描述的那样。

 

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • Rails 4.1改进启动时间和响应布局

    在经历了两个候选版本后,Rails团队刚刚发布了Rails 4.1.0。以“单点版本(point release)”发布意在说明更改向后兼容,可以无痛升级。

  • 初学者指南:为开源做贡献

    当我刚开始做Rails开发者时,我认为所有的Rails gems都是魔法。一些聪明人正在制作这些牛逼的类库让我使用!我不知道这些类库有多少可以使用,我认为它们是好的。

  • Java程序员必备的七大全能

    Java已逐渐成为了企业开发的首选语言,众多的IT组织使用Java来做大型企业项目。作为Java程序员你的技能是否能够满足企业的要求?

  • 你会尝试在下一个项目中用Rails吗?

    我写这篇文章的目的并不是想把Java程序员拉到Ruby阵营中来,只是想让Java程序员们知道在有些情况下,Rails可能是一个更好的选择……