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

设计 REST 风格的 MVC 框架

 2010-01-08 00:00:00 来源:WEB开发网   
核心提示: IoC:Invertion-of-Control,控制反转,设计 REST 风格的 MVC 框架(2),是目前流行的管理所有组件生命周期和复杂依赖关系的容器,例如 Spring 容器,对应的方法将自动获得参数 userId=1234 和 postId=5678,同时,Template:模板,通过

IoC:Invertion-of-Control,控制反转,是目前流行的管理所有组件生命周期和复杂依赖关系的容器,例如 Spring 容器。

Template:模板,通过渲染,模板中的变量将被 Model 的实际数据所替换,然后,生成的内容即是用户在浏览器中看到的 HTML。模板也能实现判断、循环等简单逻辑。本质上,JSP 页面也是一种模板。此外,还有许多第三方模板引擎,如 Velocity,FreeMarker 等。

设计目标

和传统的 Struts 等 MVC 框架完全不同,为了支持 REST 风格的 URL,我们并不把一个 URL 映射到一个 Controller 类(或者 Struts 的 Action),而是直接把一个 URL 映射到一个方法,这样,Web 开发人员就可以将多个功能类似的方法放到一个 Controller 中,并且,Controller 没有强制要求必须实现某个接口。一个 Controller 通常拥有多个方法,每个方法负责处理一个 URL。例如,一个管理 Blog 的 Controller 定义起来就像清单 1 所示。


清单 1. 管理 Blog 的 Controller 定义
public class Blog { 
  @Mapping("/create/$1") 
  Public void create(int userId) { ... } 
 
  @Mapping("/display/$1/$2") 
  Public void display(int userId, int postId) { ... } 
 
  @Mapping("/edit/$1/$2") 
  Public void edit(int userId, int postId) { ... } 
 
  @Mapping("/delete/$1/$2") 
  Public String delete(int userId, int postId) { ... } 
} 

@Mapping() 注解指示了这是一个处理 URL 映射的方法,URL 中的参数 $1、$2 ……则将作为方法参数传入。对于一个“/blog/1234/5678”的 URL,对应的方法将自动获得参数 userId=1234 和 postId=5678。同时,也无需任何与 URL 映射相关的 XML 配置文件。

上一页  1 2 3 4 5 6 7  下一页

Tags:设计 REST 风格

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