WEB开发网
开发学院软件开发Java 设计 REST 风格的 MVC 框架 阅读

设计 REST 风格的 MVC 框架

 2010-01-08 00:00:00 来源:WEB开发网   
核心提示: 根据 URL 找到匹配的 Action 后,就可以构造一个 Execution 对象,设计 REST 风格的 MVC 框架(7),并根据方法签名将 URL 中的 String 转换为合适的方法参数类型,准备好全部参数,自动将其作为 HTML 写入 HttpServletResponse;void

根据 URL 找到匹配的 Action 后,就可以构造一个 Execution 对象,并根据方法签名将 URL 中的 String 转换为合适的方法参数类型,准备好全部参数,代码见清单 9。


清单 9. 构造 Exectuion
class Execution { 
  public final HttpServletRequest request; 
  public final HttpServletResponse response; 
  private final Action action; 
  private final Object[] args; 
  ... 
 
  public Object execute() throws Exception { 
    try { 
      return action.method.invoke(action.instance, args); 
    } 
    catch (InvocationTargetException e) { 
      Throwable t = e.getCause(); 
      if (t!=null && t instanceof Exception) 
        throw (Exception) t; 
      throw e; 
    } 
  } 
} 

调用 execute() 方法就可以执行目标方法,并返回一个结果。请注意,当通过反射调用方法失败时,我们通过查找 InvocationTargetException 的根异常并将其抛出,这样,客户端就能捕获正确的原始异常。

为了最大限度地增加灵活性,我们并不强制要求 URL 的处理方法返回某一种类型。我们设计支持以下返回值:

String:当返回一个 String 时,自动将其作为 HTML 写入 HttpServletResponse;

void:当返回 void 时,不做任何操作;

Renderer:当返回 Renderer 对象时,将调用 Renderer 对象的 render 方法渲染 HTML 页面。

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:设计 REST 风格

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接