Spring MVC与JAX-RS比较与分析 - 编程入门网
的处理,比如输入转换、准备 响应、设定响应代码等等。此外,将Web Services逻辑与业务逻辑分隔开来的实践需要将业务逻辑包装到 单独的方法中以作为事务边界。
创建Spring MVC @Controller类 对于Spring MVC来说,我们需要创建DispatcherServlet,同时将contextConfigLocation参数指定为 Spring MVC配置:
要想在Spring MVC(@MVC)中使用基于注解的编程模型还需要少量的配置。下面的component-scan元 素会告诉Spring去哪里寻找@Controller注解类。 <context:component-scan base-package="org.springframework.samples.stocks" /> 接下来,我们声明了AccountController,如下代码所示:
@RequestMapping注解会将该控制器映射到所有以“/accounts”开头的请求上。AccountController中 的方法如getAccount()只需声明针对“/accounts”的相对地址即可。
Spring MVC与JAX-RS比较与分析(5)时间:2011-10-22 infoq 译:张龙Spring MVC则没有根资源与子资源的概念,这样每个控制器都是由Spring而非应用来管理的:
对“/accounts/{username}/portfolios”的请求会被直接代理给 PortfolioController, AccountController则完全不会参与其中。需要注意的是,该请求也可以直接由 AccountController处理 ,这样就不需要PortfolioController了。 Web层组件范围 在JAX-RS中,AccountResource是通过前请求(per-request)语义声明的,这也是JAX-RS默认的推荐 设置。这么做可以将特定于请求的数据注入并存储到资源类本身当中,这适用于由JAX-RS所管理的根级别 资源。子资源由应用实例化,并不会直接从这种方法中获益。 在Spring MVC中,控制器永远都是单例的,他们将特定于请求的数据作为方法参数。JAX-RS也可以这 么做,以单例的方式创建资源。 将请求映射到方法上 接下来,我们看看Spring MVC和JAX-RS如何将请求映射到方法上。@Path和@RequestMapping都可以从 URL中抽取出路径变量:
这两个框架也都可以使用正则表达式抽取路径变量:
Spring MVC的@RequestMapping可以根据查询参数的有无来匹配请求:
或是根据查询参数值进行匹配: @RequestMapping(parameters="foo=123") @RequestMapping还可以根据头 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |